home   themes    components


Distributed Components Mapping the Line Organization

The ideas of an architecture based on distributed, communicating components matured in the early seventies. The control of the components should lodge in the line departments. The first example was a distributed system for planning and control based on activity networks. The control should be distributed, so that each user controlled his own part of the network. And the user should control not only the data, but also the algorithms used in the planning process. In that way, the pipe shop would be planned differently from the design office, which again would be different from the panel assembly line. Yet all the pieces should fit together in one, coherent plan.

The idea was reported at the a shipbuilder's conference in Tokyo 1973:

ADMINISTRATIVE CONTROL IN THE SHIPYARD
ICCAS, Tokyo 1973
.PDF (11 pp, 81,343 bytes)

The distributed components suggested here were of course inspired by object orientation that was invented at the Norwegian Computing Center across the yard from my office. Yet the paper has no reference to Simula. This was because all available documentation was for Simula as a programming language, and we failed in our attempts to implement our early experiments in that language. There were two reasons: The first was that a world of Simula objects is limited to a life span of an execution and to the space of a computer memory. We needed persistent objects that were geographically distributed. The second reason was that Simula had hard typing, insisting that an object can only communicate with objects of a given class, i.e., the implementation had to be known. We needed components to be dynamically linked to any object that behaved properly.

PROKON/PLAN
A MODELLING TOOL FOR PROJECT PLANNING AND CONTROL

IFIP, Toronto 1977
.PDF (6 pp, 46 203 bytes)

A fortunately short lived solution was to create a preprocessor to FORTRAN that made it somewhat object oriented. The next solution was Smalltalk, a programming environment that I got access to as a visiting scientist to Xerox PARC. At PARC I got access to the world's first personal computer, the ALTO, with its powerful direct manipulation interfaces. I here experimented with tools for end users manipulating their part of a total plan.

MVC was conceived as a general solution to the problem of users controlling a large and complex data set. The enterprise is a structured collection of individuals. MVC describes the leaf nodes that connect the individuals to the similarly structured information system. For details see The original MVC.

Here is a collection of stuff that is more or less related to distributed components:

Model Driven Development with the Emerging UML 2.0
rOOts 2003 Conference, Bergen. .PPT
components, mda Illustrating MDA/MDD with an example: Building a garden shed. Illustrating the UML 2.0 concepts of roles, classes, components and transformations.
The Model-View-Controller (MVC ).
Its Past and Present

JavaZONE, Oslo, 2003.
JAOO, Århus, 2003

Abstract .HTML
Handout with draft pattern language .PDF
mvc, uml MVC was conceived in 1978 as the design solution to a particular problem. The top level goal was to support the user's mental model of the relevant information space and to enable the user to inspect and edit this information. The first part of the talk describes the original problem and discusses the chosen solution. The second part elaborates the original ideas and extends the scope to include current day challenges to the original goal. It is all summarized in a condensed MVC pattern language.
UML for beskrivelse av distribuerte informasjonssystemer
(Mogul Technology celebrates that it is 5 years since the introduction of UML with seminars in Oslo, Trondheim and Kongsberg, 2002)
.PPT
uml, architecture, components Distribusjon betyr her langt mer enn å knytte sammen datamaskiner i et nett. Det innbefatter også distribusjon av ansvar og myndighet sammen med støtte for samvirke mellom virksomheter og personer. I dette foredraget tar vi frem behov som ennå er udekket og ser på om UML 2.0 kan hjelpe oss å takle disse behovene.
Architectural Design of Distributed Business Systems
(TOOLS Europe 2001 tutorial handout) .PDF .PPT
components, architecture, people This tutorial focuses on issues that are critical for the success of distributed systems development: Who are the users (actors)? What are their goals (use cases)? What are their processes? What are the system components? What are their responsibilities? How do they collaborate?
Perspectives on the Unified Modeling Language semantics
Invited talk to the 10th SDL Forum, Copenhagen, 2001
.PDF (Handout) .PPT (Presentation)
uml, components, roles The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive system. The UML offers a standard way to write a system’s blueprints, including conceptual things such as business processes and system functions as well as concrete things such as programming language statements, database schemas, and reusable software components.
Unleashing the Power of Distributed Enterprise Information Systems.
(TOOLS 1999 tutorial) PowerPoint
components, people, systems

The communication-centered architectures represent a new paradigm that subsumes the older storage-centered and computation-centered architectures. The main advantages of the new architectures are unlimited size and complexity, distributed ownership and control, and a higher level of reuse through components. Architectural themes covered include "The connected society, a new system paradigm"; "Separation of concern with role models, responsibilities and interfaces"; "Powerful reuse with components"; and "The component developer - a new layer in the value chain."

Komponentbasert utvikling.
Den sanne objektorientering.

(GEILOO 99) PowerPoint
components Essensen i objektorientering er at objekter samvirker ved å sende meldinger til hverandre. Hovedstrømmen av objektteknologien har lenge fortrengt dette enkle bilde til fordel for en fokusering på programmeringsspråk, klasser og arv. Med den "nye" komponentteknologien slipper vi nå endelig løs objektenes sanne styrke: enkle løsninger på store problemer. Komponenter er gjenbrukbare objekter som er laget for å kunne settes sammen som Legoklosser. JavaBeans er for eksempel byggestener for brukergrensesnitt, mens Enterprise Java Beans er byggestener for bakgrunnstjenester. Begge er standarder som fokuserer på objektenes semantikk og grensesnitt; implementasjonen er usynlig og trenger ikke være i Java.
Visjoner og arkitektur for virksomhetens Informasjonsnettverk.
(Komponenttorget ‘99) PowerPoint
people, components, systems Organisasjon, oppgaver, informasjonssystem. De tre elementene må utgjøre et hele i informasjonsintensiv virksomhet.  Foredraget vil diskutere hvordan vi kan utvikle distribuerte informasjonssystemer med utgangspunkt i en virksomhetsmodell. Modellen forteller oss hvilke roller mennesker spiller i organisasjonen, deres informasjonsbehov, oppgaver og mål. Dette spesifiserer hvilke verktøy som behøves på den enkelte arbeidsplass, og hvilken informasjon som må lagres sentralt fordi den skal deles av mange og er av verdi for bedriften som helhet.
Unleashing the Power of Distributed Objects.
(Keynote, EDOC 1999)
PowerPoint and .DOC
Summary and references .DOC
people, systems, components Distribution of objects and components is more than a new technology; it is a new paradigm for thinking about, designing and implementing information tools and services in the enterprise. Closed systems are replaced by a vast world of co-operating objects. We only own and control a very small part of this world, the rest is owned and controlled by others. The talk will explore the new paradigm and the deep changes needed in enterprise organization, system architectures and personal competence if we are to reap its benefits and meet its challenges.
Working With Objects. Analysis and Design of Corporate Information Systems.
(Handout. WOOD 1998) .PDF
Architecture, uml, roles, components

We see all enterprise information as a huge system of loosely coupled components. Separation of concern will be essential for mastering its complexity. We apply three perspectives on the enterprise:

  • People use information in their business processes
  • Information services manage this information
  • People perform tasks using information tools
THING-MODEL-VIEW-EDITOR
an Example from a planningsystem.

Xerox PARC technical note May 1979.
.PDF
is21c, mvc, roles The original MVC report. The yards of the Aker Group in Norway have been using network techniques and ad hoc methods for planning and control for many years. The systems used have not been satisfactory, and a new modelling tool was devised for the yards. The basic building block of this tool is considerably more powerful than the activity of the traditional networks. It is called a Component, and carries both its own data and the algorithms needed to manipulate them. Each Component represents an identifiable portion of the real world in the yard. The planning process consists of the Components sending information to each other (messages), and acting upon information received.
MODELS - VIEWS - CONTROLLERS
Xerox PARC technical note December 1979
.PDF
is21c, mvc, roles Defines the MVC terms
SYSTEM DESCRIPTION AND THE DELTA LANGUAGE
by Erik Holbæk-Hanssen, Petter Håndlykken, Kristen Nygaard
Extract from report,
Norwegian Computing Center, Feb. 1977

.DOC
systems, is21c Erik Holbæk-Hanssen, Petter Håndlykken and Kristen Nygaard give this imortant definition: "A system is a part of the world which we choose to reqard as a whole, separated from the rest of the world during some period of consideration, a whole which we choose to consider as containing a collection of components, each characterized by a selected set of associated data items and patterns, and by actions which may involve itself and other components. "
PROKON/PLAN-A MODELLING TOOL FOR PROJECT PLANNING AND CONTROL.
Paper, IFIP Congress, Toronto, Canada, 1977
First published in the 1977 IFIP Proceedings.
Scanned by the author July 2003.

.PDF
is21c, roles, uml, mvc The yards of the Aker Group in Norway have been using network techniques and ad hoc methods for planning and control for many years. The systems used have not been satisfactory, and a new moelling tool was devised for the yards. The basic building block of this tool is considerably more powerful than the activity of the traditional networks. It is called a Component, and carries both its own data and the algorithms needed to manipulate them. Each Component represents an identifiable portion of the real world in the yard. The planning process consists of the Components sending information to each other (messages), and acting upon information received. An experimental system for the planning and control of the Design Sector of A/S Bergens Mekaniske Verksteder has been developed.
ADMINISTRATIVE CONTROL IN THE SHIPYARD.
Paper, ICCAS conference, Tokyo, 1973.
Scanned by the author July 2003
.PDF
is21c, components, architecture, mvc, The organisation of a yard may be strongly influenced by the information system it takes into use. The converse should also be true: Systems development should be subordinated the desired evolution of the organisation. The principle of Communicating Data Processes is introduced as a tool for building information systems that are easily moulded for fitting an existing organisation and for adaption to its continuous development. A description of the principle is given, as well as an outline of a new system designed for testing it out in practical shipbuilding.
70-ÅRENES DARTASYSTEMER ET PRINSIPPFORSLAG.
Proposal for an R&D program. June 1970.
.PDF (In Norwegian)
people, components, architecture Proposing a program for information systems development in the Aker Group based on the decentralized development of communicating components.