计算之智与哲学之慧分享 http://blog.sciencenet.cn/u/huangfuqiang

博文

Trygve M. H. Reenskaug coordinates

已有 4701 次阅读 2009-7-7 23:24 |个人分类:计算机软件理论与工程|系统分类:海外观察| Coordinates, Trygve, Reenskaug


DCI programming paradigm
面向对象的新思考,反思人类的心智模型,信息来源于专家的主页,很深刻故展示之。
http://heim.ifi.uio.no/~trygver/

Trygve M. H. Reenskaug自我介绍:   

Trygve's picture

      
           I am a self-taught toolmaker by profession; having developed a variety of computer based tools since 1958. My work with computers has always been highly oriented towards creating value for the users in the short and long term. I have measured my research results by their utility, not their academic acceptance. The focus is on comprehension, abstraction, design, and quality; the goal being to get it right the first time. ("Any method that prevents the programmer writing code, is a good method"). My most successful projects have been projects where the same people were system architects, designers, coders, trainers of users, system operators, trouble-shooters, maintainers, and salesmen.
            My first major project, Autokon, resulted in a highly successful CAD/CAM product that went into production in 1963 and has been used by shipyards all over the world for more than 30 years. It is worth noting that this project could probably not have happened today. The current fashion is to let end users dominate research projects. The nebulous Autokon project could not have survived a head on competition with real and urgent shipyard investment needs. Or it would have failed if academic research were permitted to dominate; there were many interesting problems that could have diverted the project from its strictly utilitarian goals. The project achieved a delicate balance between these two forces; the developers focused sharply on the needs of the users, but they took the users' concrete requirements as symptoms of a general classes of problems that needed general solutions.
           

Short bio:

Trygve Reenskaug is professor emeritus of informatics at the University of Oslo. He has 40 years experience in software engineering research and the development of industrial strength software products. He has extensive teaching and speaking experience including keynotes, talks and tutorials. His firsts include:

  • The Autokon system for computer aided design of ships. From the start in 1960, Autokon featured an end user programming language, structured programming, product model, and a data base oriented architecture. Autokon is still in use in major shipyareds around the world and its architecture remains unchanged, 40 years after the original development.
  • Object oriented applications and collaboration (role) modeling from 1973
  • Model-View-Controller, the industry standard pattern for user interface architectures, in 1979
  • OOram role modeling method and tool from 1983
  • The premier book on role modeling in 1995

Trygve was a member of the UML Core Team and was a contributor to UML 1.4. The goal of his current research is to create a new discipline of programming. The research method is experimental through the creation of the BabyUML information environment where A Program = Data Structure + Communication + Algorithms. The BabyUML laboratory is based on the Smalltalk vision of a stored program object computer and a number of concepts gleaned from OOram, UML and other languages.

BabyIDE - An Interactive Development Environment

The BabyUML project has reached its goal. The new DCI programming paradigm has been discovered. An experimental version of the new BabyIDE programming environment has been created.

This marks the fulfillment of the BabyUML goals and marks the beginning of a new project, BabyIDE. The new project could well be very large and take many years. I am in my 78th year. My great great grandfather planted an apple tree when he was 93. He was very particular about the kind of apples he wanted. His family pointed out that it would be 10 years before this particular kind would give its first fruit. My great great grandfather could not see the relevance of this argument. So I follow a family tradition when I dig into yet another new project. I will post intermediate and incomplete results as they appear. Just in case.

BabyUML - A New Discipline of Programming

I want increased confidence in my programs. I want my own and other people’s programs to be more readable. I want a new discipline of programming that augments my thought processes. I create and explore a possible discipline in my BabyUML project. I select, simplify and twist UML and other constructs to demonstrate how they help bridge the gap between me as a programmer and the objects running in my computer The key is to let my code explicitly specify three important aspects of my programs: What are the objects, how are they linked, and how do they collaborate to realize their goals. The goal was to close the chasm between the compile time classes and the runtime objects.

The BabyUML project is completed. The expected legacy from UML did not materialize. The new results have their roots in OOram and Traits; there is almost no trace of UML. It is time to move on to a new project. It is called the BabyIDE project.

Model-View-Controller (MVC)

I created the Model-View-Controller pattern as an obvious solution to the general problem of giving users control over their information as seen from multiple perspectives. MVC has created a surpising amount of interest. Some texts even use perverted variants for the opposite purpose of making the computer control the user. I have collected some relevant papers including my original technical note from Xerox PARC.

Role Modeling

Roles are about objects and how they interact to achieve some purpose. For thirty years I have tried to get them into the into the main stream, but haven't succeeded. I believe the reason is that our programming languages are class oriented rather than object oriented. So why model in terms of objects when you cannot code them? And why model at all when you cannot keep model and code synchronized?

My current project, BabyUML, binds all together into a composite code using different languages to code different aspects of the systems: algorithms coded as classes + declaration of semantic model + coding of object interaction as role models/collaborations.

See almost any of the documents in this site or read my book about role models. It is now out of print, but you can download a draft version here 1996/book/book11d.pdf

Distributed Components Mapping the Line Organization

The goal of most of my work throughout my career has been to create systems that optimally combine human insights, experience and imagination with the computer's speed, accuracy and capability for managing large sets of data. The perspective has been to view the enterprise as a sociotechnical system and to firmly anchor the computers with their data and programs in the line organization rather than in some staff function such as an EDP department. The logical consequence is an IS architecture of distributed communicating components.

UML-VM

The UML definition document specifies a set of well-formed object structures. Each of these structures is a valid UML model. I wanted to see at least a few of these objects and implemented a rudimentary UML Virtual Machine. Somewhat to my surprise, the objects were very similar to Java, Smalltalk, and XML objects describing the same phenomenon.

UML Static Infrastructure

I created some package and class inheritance diagrams for my own use. I keep a large print on my office wall. It is covered with a plastic sheet so that I can use it as a whiteboard. I find it very useful and well worth the effort to create it.

All documents sorted by year

This web site has existed for many years and evolved whimsically, like many a long lived application program. It was now time to reorganize and I have chosen the only principle I know that works: Sort by year. The files are presented in a table with title, keywords and a short abstract. Enjoy.

 



https://blog.sciencenet.cn/blog-89075-242398.html

上一篇:反思计算机软件与理论方向
下一篇:Entropy (information theory)
收藏 IP: .*| 热度|

0

该博文允许实名用户评论 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-7-24 10:24

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部