comp.lang.ada
 help / color / mirror / Atom feed
From: Jerome_V_Vollborn@cup.portal.com
Subject: Re: Objectification
Date: 5 Aug 89 03:43:49 GMT	[thread overview]
Message-ID: <21031@cup.portal.com> (raw)
In-Reply-To: 534@ajpo.sei.cmu.edu


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)
 

  parent reply	other threads:[~1989-08-05  3:43 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1989-08-03 21:39 Objectification Edward Berard
1989-08-05  3:07 ` Objectification Jerome_V_Vollborn
1989-08-05  3:43 ` Jerome_V_Vollborn [this message]
1989-08-07 23:00 ` Objectification Dick Dunn
1989-08-08 12:54   ` Objectification Edward Berard
1989-08-08 16:47     ` Objectification Paul Scherf;685-2734;61-028;692-4142;orca
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox