From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: * X-Spam-Status: No, score=1.9 required=5.0 tests=BAYES_50,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!cs.utexas.edu!uunet!portal!cup.portal.com!Jerome_V_Vollborn From: Jerome_V_Vollborn@cup.portal.com Newsgroups: comp.lang.ada Subject: Re: Objectification Message-ID: <21031@cup.portal.com> Date: 5 Aug 89 03:43:49 GMT References: <534@ajpo.sei.cmu.edu> Organization: The Portal System (TM) List-Id: Please pardon the previous, incomplete article. I pressed the wrong key when I got to the end of the first page. Ed's article about object oriented environments opens the question of the ideal environment for object oriented systems. Let me describe my ideal environment and then describe some problems achieving that environment. The physical setting is a large manufacturing company where component parts are built in domestic and foreign (European and Middle Eastern) plants and assembled into shippable products in Pacific Rim countries. All of the plants are connected by a wide area network and have local area networks connecting production equipment to controllers within the plants. In the software model of this company, the top level object is a shippable product. The shippable product is composed of objects represnting parts. The production plants, production equipment and materials are also objects. The part objects come into existance as raw material and acquire attributes as they move through the plants. The production equipment adds or measures attributes of the part objects. Combining part objects into larger parts or shippable products is accomplished by establishing relationships between part objects and the larger object. When a shippable product object goes to shipping and thence out the door, it ceases to exist. Notice that objects need to move inside plants and between plants. These movements must be verified (at least below the surface of the object environment). Object integrity must be verified. Errors must be detected and prevented from propagating to other objects (or outside some local environment section). Some method of recovering from environment errors and discontinuities must be provided. Implementing the environment using today's major operating systems is a non-trivial task. The first problem is to provide an object environment on a node. This would seem to be a fairly heavy layer (messaging, object creation, object deletion, object behavior monitoring, object check pointing, ... ) on top of current operating systems (especially if you insist on an efficient implementation). Building a single node system would probably be misleading at best since the assumptions built into a single node implementation would make extension to multiple node systems very difficult if not prohibitively expensive. Finding the right people to implement the first such system would also be a large problem. Very few software engineers (and almost no programmers) are able to think in terms of concurrent objects. Most of those who can think in those terms are very highly paid (some also have trouble working with other such people (ego problems mainly ;-). The other people problem is convincing mangers with budget authority to embark on such a "risky" project that will encroach on fiefdoms like MIS. I think the technical problems can be solved using object oriented techniques. Using functional decomposition will result in an expensive failure IMHO. Solving the people problems is perhaps impossible, certainly very difficult. Building pieces of such a system will leave software engineers (at least me) feeling like kids looking in the window of a candy store. Jerome Vollborn (Jerome_V_Vollborn@cup.portal.com or uunet!lci386!jerome)