the key features of a tool to support it. Known as orthographic software modeling,
the approach mimics the orthographic projection principle used in CAD tools to vi-
sualize physical engineering artifacts. By doing so, it raises the level of abstraction at
which developers interact with tools by hiding the idiosyncrasies of specific editors
and tools. We have built a prototype version of this tool in Eclipse, using a heteroge-
neous mix of well known editors to render and manipulate specific views, such as the
Eclipse Java editor for Java views, and MagicDraw for UML-oriented views. We are
currently implementing a more generic view generation engine using a transformation
language and ultimately aim to reduce the number of native tools to zero.
To the best of our knowledge, there is currently no approach that combines on-
demand view generation with the approach of dimension-based navigation. [9] fea-
ture a systematic, hierarchical modeling approach and a tool with a fisheye zooming
algorithm that allows models to be visualized with different levels of detail. There are
some similarities, e.g. the classification in structural and behavioral views. However,
the development approach mainly uses non-UML views for structural and behavioral
aspects of a software system while the KobrA method makes heavy use of UML
diagrams. Also, it does not (yet) deal with product line engineering. The KobrA book
[1] gives an overview of other related approaches such as OMT [10], Fusion [11], or
Catalysis [12]. One particularly interesting modeling paradigm is the Real-Time Ob-
ject-Oriented Modeling (ROOM) [13]. It allows decomposition in a systematic way,
e.g. by allowing actors at one level to be the realization of actors at a higher level.
However, it is unclear about certain object modeling concepts and also gives only few
hints about the development time organization of software artifacts.
Our approach includes an extensible navigation concept where customized dimen-
sions, dimension elements, languages and notations can be integrated in a systematic
and straightforward way. It also allows the users to define a dominance hierarchy
between the dimensions such that dimensions near the top of the architecture influ-
ence what is available for dimensions lower in the hierarchy. Indeed, it is possible
that a choice in a higher level dimension may remove a lower dimension completely
(because all the cells for that row are empty). We believe that this definition of di-
mension dominance relationships and dependencies actually goes a long way to cap-
turing the core ideas that underpin a paradigm. For example, in an MDD focused
project, the abstraction dimension would be the most dominant, whereas in a product
line engineering oriented project, the variant dimension would dominate. We there-
fore believe that OSM tools are inherently able to support multiple paradigms, and
thus can be used as a vehicle for bringing them together, or using them in different
phases of development, whatever best fits the needs of the project in hand.
References
1. Atkinson, C., Bayer, J., Bunse, C., Kamsties, E., Laitenberger, O., Laqua, R., Muthig, D.,
Paech, B., Wüst, J., Zettel, J.: Component-Based Product Line Engineering with UML.
Addison-Wesley Publishing Company, 2002
2. Atkinson, C., Brenner, D., Bostan, P., Falcone, G., Gutheil, M., Hummel, O., Juhasz, M.,
Stoll, D.: Modeling Components and Component-Based Systems in KobrA, in A. Rausch,
85