A Generative Approach for Creating Stakeholder-specific Enterprise Architecture Views Sabine Buckl, Florian Matthes, and Christian M. Schweda Technische Universität München, Institute for Informatics, Boltzmannstr. 3, 85748 Garching, Germany {sabine.buckl,matthes,schweda}@in.tum.de http://www.systemcartography.info Abstract. Understanding the architectures of complex system, e.g. en- terprises, is greatly facilitated by using graphical views thereof. These views result from the application of an underlying viewpoint to a com- prehensive architectural description. The viewpoint thereby describes, which architectural concepts should be visualized in which way. The creation of views that consistently represent the enterprise architecture (EA) from a specific viewpoint, is a challenge of ongoing interest in EA management. In this paper, we present a technique that can be used to create views consistent to arbitrary architecture viewpoints and show, how this technique is realized in a prototypic tool. Central constituents of the tool are a model providing the graphical primitives for describing visualizations (called visualization model ) and a model-to-model trans- formation reifying an architectural viewpoint. Key words: model transformation, viewpoints, views, EA management 1 Motivation A major task of enterprise architecture (EA) management is to provide trans- parency concerning the overall architecture, i.e. a common goal of EA manage- ment is to foster the communication between the different stakeholders with busi- ness and/or IT background [1]. Commonly, visualizations (views) are regarded as important means to facilitate communication between the stakeholders from business and IT. In order to be useful these visualizations should not be arbitrary ”drawings” of the architecture, but should correspond to selected architecture viewpoints 1 on dedicated parts of the overall architecture (cf. [4, 9]). What up to this points reads quite similar to the challenge of architecture visualization in the context of software engineering, shows at the second look some subtle complexi- ties. In contrast to the situation in software engineering, where widely-accepted conceptualizations of software systems, e.g. via ”classes”, ”components”, and ”interfaces”, exist, the field of EA management is lacking such well-defined and 1 The term viewpoint is used in this context according to it’s definition in [7]. 2 Sabine Buckl, Florian Matthes, and Christian M. Schweda grounded terminology. This might be ascribed to the novelty of the field, but quite a few researchers [1, 4] give a different explanation and challenge the idea that a ”one-size-fits-it-all” conceptualization of EAs exists. These researchers in contrast expect the EA conceptualization to be organization-specific, such that every enterprise has its specific EA information model that incorporates only the information necessary for the dedicated EA management approach. Comple- menting the variety of information models, different organizations also employ different visualization standards, i.e. use viewpoints differing in respect to the used symbols as well as to the employed rules underlying the layout. Against the aforementioned background of largely differing information models and vi- sualization principles, it becomes clear that the creation of a consistent EA view (for an example see Figure 1) is no simple task. Munich Hamburg Garching London POS System Product Shipment POS System Monetary Customer Online Shop (100) Human Resources (Germany/Munich) System (Germany) (Germany/ Inventory Control Transactions Complaint System System (700) (1600) (400) Hamburg) (1620) System (200) System (Great (1900) Britain) (350) Monetary Worktime Customer Management Fleet Management Price Tag Printing Data Warehouse POS System Satisfaction Transactions Business Traveling System (Germany/ (Great Britain) System (Germany) System (1000) (Germany/Munich) System (900) (800) Analysis System (1800) Hamburg) (1720) (1650) (2000) (300) Price Tag Printing Document Worktime Supplier Price Tag Printing Accounting System (Germany/ Management Management Relationship System (Great MIS (1300) (Germany/ Management System (500) Munich) (1700) System (1100) Britain) (1750) Hamburg) (1820) System (1200) Financial Customer Worktime Costing System Campaign Relationship Management Planning System Management Management (Great Britain) (600) System (1500) (1400) System (2100) (1850) Legend Map Symbols Visualization Rules A Location A A „A“ hosts „B (1)“ and „C (2)“ B (1) B (1) Business Application B with Id 1 C (2) nesting Fig. 1. Exemplary architectural view A technique suitable for generating views consistent with underlying view- points based on arbitrary EA information models has to address different chal- lenges. Matthes et al. give in [10] a detailed list of these challenges, of which we – due to reasons of brevity – only provide a summary: Coupling of information and visualization meaning that a link should be maintained relating graphical elements in the visualization with the under- lying architectural elements. The tool’s mechanisms, thereby account for visualization correctness. If the graphical elements were in contrast decou- pled from the underlying data, the views would degenerate to mere drawings, which need to be manually maintained if the underlying information changes. Flexibility of information schema meaning that architectural models con- forming to an arbitrary schema should be accessible to the tool. This reflects the fact that the information on the EA is gathered according to the specific demands of an organization. Adaptability of viewpoint meaning that an enterprise architect should be able to adapt the viewpoint to its specific needs. For example, the architect Generating Enterprise Architecture Views 3 should be able to adapt the colors according to the corporate identity of the enterprise. Adaptability thereby reflects the fact that visualizations, as mean of communication, heavily rely on stakeholder acceptance. Composition and modularization of viewpoints meaning that an enter- prise architect should be able to define viewpoint modules, i.e. reusable parts for creating visualizations. Thereby, especially the widely-used mechanism of layering visualizations is accounted for. In Section 2 we outline a technique suitable for addressing the aforementioned requirements. The technique is based on the technology of model-to-model trans- formations, which is applied to connect information models on the one hand with a model of visual concepts, namely the visualization model, on the other hand. Complementing the description of the technique, we describe the prototypical realization thereof in a tool. Related tools as well as related techniques from nearby fields are presented in Section 3. Section 4 concludes the article with a critical reflection of the presented approach and an outlook on future work. 2 Generating visualizations via model transformation Model transformation approaches in the context of generating visualizations can be used to maintain the strict separation between information and visualization, while also ensuring consistency between both concepts. The model transforma- tion, called syca transformation in our approach, links different types of models, namely the model of the information to be visualized – the semantic model – and the model describing the visualization – the symbolic model. The transformation is thereby described relying on concepts of the models’ respective meta mod- els. These are the information model describing the concepts used for modeling information and the visualization model defining the graphical concepts for de- scribing visualizations. Figure 2 illustrates the basic constituents of the approach and further introduces the concept of the transformation meta model, which pro- vides the basis for specifying syca transformations, as well as the concept of a common meta model for both information and visualization model. Different analyses of the information models used in EA management have been undertaken, e.g. by Buckl in [3], leading to the finding that the majority of currently used models follows the paradigm of object orientation. While the information models of many approaches do not explicitly account for the under- lying meta-model, the analysis of Buckl further showed that mostly only core concepts of object-oriented modeling, e.g. classes, properties, and associations are used. This advocates for the utilization of a simplistic common meta-model with the OMG’s Meta Object Facility (MOF) [11], more precisely the essential part thereof (EMOF) being a prominent candidate. The EMOF provides the meta-model of choice for the technique presented in this paper, especially as an implementation of the modeling facility is ready at hand as part of the Eclipse Modeling Framework (EMF). This framework was chosen, as its metamodel, the ECore-metamodel, can be considered to be very similar to the EMOF- 4 Sabine Buckl, Florian Matthes, and Christian M. Schweda metamodel2 . Additionally, the EMF provides serialization and editing related functionalities, as well as an active user and developer community. Common conforms to conforms to Meta Model is applicable on Transformation Meta Model Information Visualization Model Model conforms to conforms to conforms to Syca Transformation Semantic Model Symbolic Model Fig. 2. Basic idea of the model transformation approach 2.1 Semantic model and information model – the left side The information model sets up the language for describing the modeling subject, i.e. it introduces the core concepts, which are used to create a model of the sub- ject’s reality. In the context of EA management, the information model contains concepts like business processes, locations, etc., which are represented irrespec- tive a visualization. Instance data documented in accordance to the information model is part of the semantic model, which contains so called information ob- jects. In this sense, the information model (for an example see Figure 3) acts a meta-model for the semantic model, cf. Figure 4. Fig. 4. Cutout of the semantic model Fig. 3. Information model 2.2 Symbolic model and visualization model – the right side The visualization model contains elements, which represent graphical concepts, namely map symbols, e.g. ”rectangle”, or visualization rules, such as ”nesting”. These rules do not represent visible concepts, but they exert distinct demands on the positioning, size, or overall appearance of the symbol instances. For example, instances of the ”nesting” rule demand that ”inner” map symbol instances are grouped into the ”outer” map symbol. Figure 5 introduces the map symbol 2 Only minor differences concerning naming and the usage of references exist. Generating Enterprise Architecture Views 5 and visualization rule that are needed for the exemplary visualization. Figure 6 displays the symbolic model describing that rectangles representing business applications are nested in the rectangle representing the hosting location. Fig. 5. Visualization model Fig. 6. Cutout of the symbolic model The syca transformation creates a symbolic model based on the correspond- ing semantic model, while the map symbol instances in the symbolic model are not yet supplied with absolute positions. These positions are in a second step calculated by a layouter, which is capable to interpret the visualization rule instances and to compute appropriate positioning and sizing. Sketching the mathematical formalism incorporated in the layouter, we give examples of the layouting constraints that apply on the rectangle instance3 : munich.x - munich.width/2 < onlineShop.x - onlineShop.width/2 munich.x + munich.width/2 > onlineShop.x + onlineShop.width/2 munich.y - munich.height/2 < onlineShop.y - onlineShop.height/2 munich.y + munich.height/2 Y onlineShop.y + onlineShop.height/2 2.3 The syca transformation and its meta model – the middle The syca transformation establishes the link between the data and its visualiza- tion and thereby enable the automatic generation of corresponding architectural views. Different types of model-to-model transformation languages may be used to implement the syca transformation. The transformer component of the tool interprets the transformation rules and generates a symbolic model from the corresponding semantic model. Over the last years, we have successfully applied different model-to-model transfor- mation languages for defining architectural viewpoints in an executable manner. Wiegelmann showed in [13] that the Atlas Transformation Language (ATL) [2] can be used to describe the necessary transformations. With ATL, architectural viewpoints can be defined in a highly declarative manner, although especially the appropriate instantiation of visualization rules becomes fairly complex, e.g. when matrix-like views should be created. Example ATL-like code generating the architectural visualization from Figure 1 is given below. 3 According to the visualization model of Ernst et al. [6], the symbols’ x and y- coordinates are anchored at the symbols’ centers. 6 Sabine Buckl, Florian Matthes, and Christian M. Schweda rule OrgUnit2Rectangle { from infoObject : Semantic.OrganizationalUnit to symbol : Symbolic.Rectangle (text = infoObject.name) ) rule BusinessApp2Rectangle { from infoObject : Semantic.BusinessApplication to symbol : Symbolic.Rectangle (text = infoObject.name), rule : Symbolic.Nesting ( inner = symbol, outer = transforming (infoObject.hostedAt) ) ) Complementing the model-to-model transformation languages, we further applied java to realize the syca transformations. Java-based transformations do – due to the maximum expressiveness – not run into the difficulties that the declarative model transformation languages have to deal with, but are even less intuitively to develop. Targeting an increased level of usability by rising the level of abstraction, Ramacher designed in [12] a java-based introspective framework consisting of highly-reusable transformation primitives that can be composed to syca transformations. First practical applications of this framework are still to be undertaken, but the first experiences are very promising. 3 Related approaches and tools Domokos and Varro present in [5] an approach to ensure consistency between data and the corresponding visualization. The approach provides ”open visual- ization framework applicable to metamodel based modeling languages”, which is further developed towards executability. With no dedicated visualization model, the approach aims at transforming arbitrary information models to arbitrary visual languages, e.g. SVG, as far as both (information and visualization) can be described with XML. Consequently, the generation of a visualization in fact is an XSLT-based transformation between two XML-documents. In this respect, the approach does not reach a high level of abstraction, but calls for very ba- sic transformation procedures. Further, the article does not encompass a visual language suitable for expressing the aspects of relative positioning, as the appli- cation concerns petri-nets and their representation as nodes-and-edges. Kruse et al. present in [8] a component-oriented tool for supporting EA man- agement. Central to their approach is a strong ’componentization’ in the way, that different types of viewpoints are implemented as different components of the tool. Each viewpoint in this respect brings along a dedicated information model, that describes the information necessary for creating the corresponding visual- ization. A company willing to use the corresponding tool for visualizing their EA Generating Enterprise Architecture Views 7 or parts thereof, selects the appropriate visualization components and supplies a model-to-model transformation transforming parts of the organization-specific EA information model to the information model associated with a specific view- point. Put in other words, the approach of Kruse transforms and projects in- stances of one information model to instances of a different information model, which conversely is directly fed into a layout and visualization mechanism. Multiple commercial tools provide support for EA management. Matthes et al. analyzed in [10] nine prominent of these tools, coming to the result that most of the tools fall for two types of visualization-related problems. On the one hand, the process- or methodology-driven tools bring along a fixed EA information model that underlies a set of predefined viewpoints. Visualizations corresponding to these viewpoints can mostly be generated automatically, and may use a rich visual language, including relative positioning of symbols to convey information. On the other hand, metamodel-driven tools can flexibly adapt their information model to the specific needs of the using organization, but are mostly limited to visualizations of the nodes-and-edges type. More complex visualizations, using e.g. relative positioning, have to be programmed in these tools utilizing scripting languages with no visualization- and layout-specific concepts. 4 Critical reflection and outlook This article presented a technique to create visualizations (views) from arbitrary EA descriptions. The generated views thereby are consistent with a previously defined viewpoint and are created using a model-to-model transformation. Com- plementing the presented technique also a prototypic tool implementing the tech- nique was described. This tool has been used in different practice cases in the past and showed the applicability of the technique on various different organization- specific EA information models. Different languages were utilized to realize the model-to-model transformation, namely the basic programming language java (cf. [12]) as well as the model transformation language ATL (cf. [13]). While both languages were sufficient to generate visualizations, they provide a rather low level of abstraction, when it comes to describing architectural viewpoints. More precisely, the complexity of the model transformations expressed in these languages is often beyond the level, that an enterprise architect can cope with. Increasing the level of abstraction in defining viewpoints and thereby fa- cilitating the creation of end-user defined viewpoints are the challenges to be addressed next. Two different strategies to achieve this can be pursued: – Rise the level of abstraction in the visualization model, i.e. replace the fine grained visualization rules with more coarse ones. As an example, one could think of a cluster -rule for visualizations like the one in Figure 1. – Rise the level of abstraction in the transformation language, i.e. provide domain specific concepts for specifying a syca transformation going beyond basic query model - and transform model -concepts. While both ideas may be useful to achieve the goals, especially the latter one seems more appealing. In consequent continuation of the prefabrics of Ramacher 8 Sabine Buckl, Florian Matthes, and Christian M. Schweda (cf. [12]), a tailored transformation language could allow to stay with the basic visualization model concepts that have a clear and unambiguous semantics. Acknowledgements The development of the herein presented technique and prototypic tool is sup- ported and partially funded by Siemens IT Solutions and Services (SIS). References 1. S. Aier, S. Kurpjuweit, C. Riege, and J. Saat. Stakeholderorientierte dokumenta- tion und analyse der unternehmensarchitektur. In H.-G. Hegering, A. Lehmann, H. J. Ohlbach, and C. Scheideler, editors, GI Jahrestagung (2), volume 134 of LNI, pages 559–565, Bonn, Germany, 2008. Gesellschaft für Informatik. 2. ATLAS group at LINA & INRIA. Atl: Atlas transformation language, 2006. 3. S. Buckl. Modell-basierte Transformationen von Informationsmodellen zum Man- agement von Anwendungslandschaften. Diploma thesis, Fakultät für Informatik, Technische Universität München, 2005. 4. S. Buckl, A. M. Ernst, J. Lankes, K. Schneider, and C. M. Schweda. A pattern based approach for constructing enterprise architecture management information models. In Wirtschaftsinformatik 2007, pages 145–162, Karlsruhe, Germany, 2007. Universitätsverlag Karlsruhe. 5. P. Domokos and Varró, Dániel. An open visualization framework for metamodel- based modeling languages. Electronic Notes in Theoretical Computer Science, 72(2), 2002. 6. A. M. Ernst, J. Lankes, C. M. Schweda, and A. Wittenburg. Using model trans- formation for generating visualizations from repository contents – an application to software cartography. Technical report, Technische Universität München, Chair for Informatics 19 (sebis), Munich, Germany, 2006. 7. International Organization for Standardization. Iso/iec 42010:2007 systems and software engineering – recommended practice for architectural description of software-intensive systems, 2007. 8. S. Kruse, J. S. Addicks, M. Postina, and U. Steffens. Decoupling models and visualisations for practical ea tooling. In Pre-Proceedings of the 4th Workshop on Trends in Enterprise Architecture Research, November 23rd , 2009, Stockholm, Sweden, pages 85–98), Stockholm, Sweden, 2009. 9. M. Lankhorst. Enterprise Architecture at Work: Modelling, Communication and Analysis. Springer, Berlin, Heidelberg, Germany, 2005. 10. F. Matthes, S. Buckl, J. Leitel, and C. M. Schweda. Enterprise Architecture Man- agement Tool Survey 2008. Chair for Informatics 19 (sebis), Technische Universität München, Munich, Germany, 2008. 11. OMG. Meta object facility (mof) core specification, version 2.0 (formal/06-01-01), 2006. 12. R. Ramacher. Entwurf und Realisierung einer Viewpoint Definition Language (VDL) für die Systemkartographie. Diplomarbeit, Fakultät für Informatik, Tech- nische Universität München, 2009. 13. J. Wiegelmann. Analysis and Application of Model Transformation Languages for Generating Software Maps. Bachelor thesis, Fakultät für Informatik, Technische Universität München, 2008.