A-posteriori Integration of Dynamic Views


Stephan Herrmann
Technische Universität Berlin,
Fachgebiet Softwaretechnik,
Franklinstraße 28/29,
10587 Berlin, Germany
http://swt.cs.tu-berlin.de/~stephan
stephan@cs.tu-berlin.de



Combining components into a system has to solve several problems:

Aspects are introduced to object technology by [Richardson/Schwarz] in terms of multiple, independent roles that can be played by an object. This concept includes object extension at runtime and the distinction between two kinds of identity.

Aspectual components as introduced by [Lieberherr+] encapsulate a set of classes in a participant graph (aspect) which can be attach to the class graph of a system using a connector. The focus on components as opposed to classes allows to capture complex object interaction as aspects. Yet connectors and participant instances are not first class citizens. They are not intended for dynamical instantiation and use at the application level.

Our contribution adds the played-by relationship to aspectual components as a dynamic relationship. Connectors become first class entities, in that connectors are now instantiatable. The participant graph of an aspect is superimposed on an object graph only at run time when a new connector instance is created. Connector creation potentially creates a graph of participant objects that can be distinguished from the underlying pure objects.
Connecting components with different interfaces requires complex adaptors that are realized as connectors between participant graphs and class graphs. In order to allow for different patterns of mapping, appropriate language constructs are needed. Mappings are based on classes and association-roles providing:

Our concepts are proven useful by application to our Software Engineering Environment (SEE) PIROL.

Already previous versions of PIROL introduced a separation of Repository Objects (ROs) and Conceptual Objects (COs) in order to distinguish the semantical information of the environment's meta model from pure presentation information. So in PIROL a diagram is a CO that superimposes layout information onto the model proper. Elements may appear in different diagrams. Even different diagrams of the same model are possible.
COs are implemented as mappings from ROs to property lists. This simulates the dynamic addition of attributes to ROs. This technique is fully functional and enables different tools to share common information while ignoring foreign presentation information. Yet the explicit use of COs lacks some elegance and requires all tools to be written in a CO-aware fashion.

Be adding dynamic aspect connectors to PIROL we are now able to simulate a modified meta model to each tool, containing model- and presentation-information within the same objects, without loosing this separation at the repository level. Possibly the greatest benefit is the decoupling of the meta model and different views of it: All models can now be developed independently:

The meta model - implemented as class graph -
is designed from a purely semantical point of view.
The view models - implemented as graphs of participant interfaces -
are designed from the perspective of a diagram as a graphical document eg.
Only connectors implement the participant interfaces in terms of RO-classes.

Implementation of this concept is quite straight forward when using PIROL's ROs and COs: a CO is encapsulated by a connector-instance and a set of participant objects. Each participant object is identified by a composite object identifier (RO-id, CO-id), ie. each CO defines a context in which the RO plays a certain role.

Dynamic aspect connectors elegantly implement multiple views of an SEE and allow for a-posteriori integration of tools into an environment with a given meta model.


References

[Lieberherr+ ]
Karl Lieberherr, David Lorenz and Mira Mezini, Programming with Aspectual Components, Technical Report NU-CCS-99-01, College of Computer Science, Northeastern University, Boston, MA
[Richardson/Schwarz]
Joel Richardson and Peter Schwarz, Aspects: extending objects to support multiple, independent roles, in: SIGMOD '91. Proceedings of the 1991 ACM SIGMOD international conference on Management of data
[Wieringa/de Jonge]
R.J. Wieringa and W. de Jonge, Object identifiers, keys, and surrogates-- object identifiers revisited, Theory and Practice of Object Systems, 1(2):101-114, 1995.
[Groth+]
Boris Groth, Stephan Herrmann, Stefan Jähnichen and Wilfried Koch, Project Integrating Reference Object Library (PIROL): An Object-Oriented Multiple-View SEE, in: Proceedings of the 7th Conference on Software Engineering Environments (SEE`95), Noordwijkerhout, Holland
[Buessow+]
Robert Buessow, Wolfgang Grieskamp, Winfried Heicking and Stephan Herrmann, An Open Environment for the Integration of Heterogeneous Modelling Techniques and Tools to appear in: Proceedings of the International Workshop on Current Trends in Applied Formal Methods, 1998, Springer.



Back to the GCSE Young Researchers Workshop Abstracts Overview.



Stephan Herrmann
Last modified: Wed Sep 15 17:59:59 MEST 1999