Intuitive Visualization-Oriented Metamodeling Dirk Draheim2, Melanie Himsl1, Daniel Jabornig1, Werner Leithner1, Peter Regner1, and Thomas Wiesinger1 1
FAW-Institute, Johannes Kepler University, Linz, Austria {mhimsl,djabornig,wleithner,pregner,twiesinger}@faw.at 2 ZID, University of Innsbruck, Austria
[email protected]
Abstract. In this article we present a metamodeling tool that is strictly oriented towards the needs of the working domain expert. The working domain expert longs for intuitive metamodeling features. In particular this concerns rich capabilities for specifying the visual appearance of models. In these efforts we have identified an important design rationale for metamodeling tools that we call visual reification – the notion that metamodels are visualized the same way as their instances. In our tool we support both, standard metamodeling features and new metamodeling features that are oriented towards the visual reification principle. We will start an unbiased discussion of the pragmatics of metamodeling tools against the background of this design rationale.
1 Introduction In successful projects of today’s enterprises we see modeling activities in business reengineering, logistics, supply chain management, industrial manufacturing and so on. Models foster the communication between stakeholders, because they enforce a certain standardization of the respective domain language. Therefore, they speed up requirement elicitation and then serve as a long-time documentation of system analysis efforts. Modeling is here to stay. Even if models are not intended as blueprints in software development projects they add value. For example, we currently see huge business process redocumentation projects in major enterprises. Research in modeldriven engineering is important. In these efforts we have a different focus on modeling than model-driven engineering. We have a look at the working domain [12] expert. Often, it is necessary to adapt the modeling method and, in particular, to adapt the used modeling language to the current needs of the domain. It may become necessary to introduce new modeling elements, to deprecate an existing model element, to add attributes to an existing modeling element, to detail the semantics or to change the appearance of a model element.
2 Motivation and Requirements for a Visualization-Oriented Meta- and Instance Modeling Tool Unlike most of the research done in domain specific modeling, metamodeling and model transformation we can place the origin of this work in the area of business or S.S. Bhowmick, J. Küng, and R. Wagner (Eds.): DEXA 2009, LNCS 5690, pp. 727–734, 2009. © Springer-Verlag Berlin Heidelberg 2009
728
D. Draheim et al.
corporate modeling. In numerous projects from business process management to enterprise-wide IT architectures, modeling is an essential prerequisite for success. Moreover, it is hardly possible to achieve sustainable improvements without an appropriate abstraction of the real corporate structures and processes. This is where modeling has to take place. But on the other hand modeling must not become an end in itself. It has to be strongly focused on things that need to be analyzed. Otherwise it will be nearly impossible to maintain the results, considering that corporate structures and processes are frequently subject of changes. As consequence of organizational changes the model repository and even modeling methods may have to be adapted to keep them suitable. This adaptation process is more than a tool function; it is moreover an organizational process that has to be implemented. We will discuss this organizational integration [1] in more depth later (see also [1]). An important issue is that most popular corporate modeling tools do not allow the creation or adaptation of metamodels. This is quite interesting if we consider how much effort has been taken in “inventing” metamodeling methods and if we look at the list of tools supporting these metamodeling methods. Especially well-established (Meta)-CASE Tools [9][5][4] offer metamodeling features and the most recent developments like Eclipse GMF [21] and Microsoft DSL [22] offer outstanding possibilities to create domain specific languages. To provide metamodeling features for the business domain and directly to endusers, we have seen that the first order principle is inituitivity. This may be the main reason why user-enabled metamodeling is de-facto currently not existent in business modeling tools. Methods like OMG’s MOF [23] or proprietary methods implemented by e.g. (Meta)-CASE tools [24] are hardly accepted by users in this domain. Nevertheless, metamodeling features would add substantial value when applied in a userfriendly intuitive style. In this work we are going to introduce a metamodeling methodology, which is strongly focused on the visual representation, in order to support what we coined the visual reification principle. With visual reification metamodeling is no longer an abstract visualization independent task, it is now intuitive WYSIWYG modeling.
3 Visual Reification We discuss our tool against the background of a design rationale that we have coined ‘visual reification’. Visual reification is the principle that the visual representation of the metamodel is at the same time also a visual representation of a model that adheres to the metamodel. Or to say it differently, in painting a metamodel the user also paints a correct and in particular a visually correct model. This design rationale is at the core of end-user oriented metamodeling targeted by our efforts. The basic argument is that metamodeling becomes more intuitive and less complex if the model specification mechanism, i.e., the metamodeling capability, is oriented towards the appearance of the model. The principle is so natural that meta case designers of leading meta case tools like MetaEdit+ [8][9], Atom3 [6][7], Kent [5], Moses[3], GME [20][2][10] have implicitly applied it with respect to a single most important concept, i.e., the meta association. Here is a choice between using the meta association as a specification of visual model elements or using it as a specification of connections between visual
Intuitive Visualization-Oriented Metamodeling
729
model elements. It is fair to say, that the latter one is the specification style found in the UML metamodel but all of the above tools have taken the first option. In our tool we make the visual reification principle a first class citizen. We are not biased in favor of the visual reification principle. We rather want to understand under which circumstances and for which features it adds value. Therefore we make it available in our tool in order to make it available to sophisticated investigation and empirical evaluation in particular. We think that the visual reification principle is a contribution in its own right, because it helps to start a systematic discussion of the pragmatics of metamodeling features and their alternatives. We will delve into some example topics, i.e., meta associations, reference copies and abstract classes in the sequel. Furthermore, we will see that the principle is an ideal that we are sometimes tempted to violate in order to have the appropriate expressive metamodeling power and pragmatics at hand. All the available metamodeling tools somehow use the principle as a design rationale; however, they use it only implicitly. With our tool the design rationale becomes explicit.
4 Implementation The concept has been implemented in a modeling platform by the use of open-source technologies from the Eclipse Project, Apache Software Foundation and Hibernate. The described intuitive and flexible metamodel definition language was integrated to allow either conceptual or visual-true graphical definition of metamodels and to support the iterative modeling process. The tool integrates a model adaptation engine for the adaptation of instances after metamodel changes and to enable model evolution. A meta-layer is implemented for textual or graphical definition of metamodels and to enable the creation of metamodel instances an instance-layer has been developed on top of the meta-layer. For metamodel-based analysis on the repository of meta- and instance models an analysis and reporting module is available on a vertical analysis-layer. All layers are integrated as modules within the platform and can be optionally removed to create either only a metamodeling- or instance modeling or analysis tool. Beside that the access to each module is role dependent and can be restricted by an administration module that manages roles, users and user groups. The role specific access to modules and the central metamodel repository prevent from the decentralized definition or adaptation of metamodels by unauthorized users. Right from the start it was always an issue to support a simple integration into a company’s IT-infrastructure. This was the main reason to develop platform independent and to use JAVA technologies. Moreover relational databases are still de-facto standard in today’s enterprises. To take this into account the persistence layer was designed generic to support different data stores. At the current state of development an implementation for relational databases using the object relational framework Hibernate is integrated. Nevertheless, other implementations like XMI flatfiles are possible. Fig. 1 shows a screenshot of the tool’s meta layer where metamodels can be created. As example, an organizational metamodel (organigram) is defined. The first (left) editor shows the metamodel in the conceptual style. The second editor visualizes the same metamodel but here the visual reification principle is applied. It is obvious
730
D. Draheim et al.
Fig. 1. Conceptual style vs. visual reification
that both metamodeling styles are structurally equal. In the first editor the MetaConnection “has Skill” is selected. You can see that there are two visual representations, created as reference copies. Instances of “has Skill” can now be drawn between instances of “Actor” and “Skill” as well as between instances of “Role” and “Skill”. Multiplicities are defined for both reference copies and will be interpreted for each separately. Fig. 2 demonstrates the use of MetaObjects to specify visual compartments (or container, compositions). The MetaObject acts as a container for child MetaObjects. For example we assume that an “Actor” can now be visually a child of an “Organizational Unit”. Moreover we introduce the new MetaObject “Facility” and define that an “Actor” can be a child of a “Facility”. The left editor once again shows the conceptual notation. You can see that it is possible to define that a MetaObject can be a child of several parent MetaObjects by the use of reference copies. The visual reification principle is applied in the second editor. Both visualizations are structurally equal. For the container layout the xy-layout is used, which allows to place child figures free inside its parent figure’s bounds. Nevertheless, also stack layout, border layout and toolbar layout algorithms are available. The latter one can be used e.g. to define UML compartments like “Classes”, “Attributes” and “Methods”. In Fig. 3. you can see a screenshot of the tool’s instance layer where instance models based on metamodels are created. The editor visualizes a minimal process for an incoming order. For every selected element available attributes are shown in a property view. You can find the property view for the selected element “Calculate Capacity” in the lower part of the screen. Values and references to other model elements can be defined here. In this example references to incoming/outgoing information objects and documents have been created.
Intuitive Visualization-Oriented Metamodeling
731
Fig. 2. Visual reification with compartments
Fig. 3. Instance of a process model
5 Related Work Adaptivity of modeling languages is a major driving issue in the community of Model-Driven Architecture [13][14] (MDA), which is the current automatic programming [15][16] metaphor. Modeling is pervasive in modern enterprises; however, it is so without automatic programming metaphor. Of course, modeling, and visual
732
D. Draheim et al.
modeling in particular, is used in software development projects. With respect to software development, there are different opinions about the role and the importance of modeling. For example, the Rational Unified Process (RUP) [17] is based on modeling – it is model-driven. On the other hand, in agile processes like Extreme Programming (XP) [18] modeling is de-emphasized. Despite that we see severe modeling efforts in companies, in both vertical and horizontal projects, not only software development projects but projects [19] in general. That is why the current focus of our efforts is the working domain expert rather than model engineering. However, the techniques developed in the MDA community, i.e., model transformation techniques [11], are important, because model migration is an issue considered by us. Related projects to the research area of this work are: 1. GME: GME (Generic Modeling Environment) is a toolkit used for domain specific modeling and program synthesis environments [20]. 2. Atom3: Atom3 is a tool for multi-paradigm modeling with the two main tasks meta-modeling and model-transformation [6]. 3. MetaEdit+ DSM environment: The MetaEdit+ DSM environment consists of two parts, the MetaEdit+ workbench and the tool MetaEdit+. It is used in the area of domain specific modeling [8][9]0. 4. META CASE [25][26]. 5. KMF: The Kent Modeling Framework (KMF) is used in the area of model driven software development [5]. 6. MOSES: Moses is a modeling and simulation environment [4]. 7. Microsoft DSL: Microsoft’s Domain Specific Modeling Tools are part of Visual Studio and allow developers to create their own graphical designers and code generation tools for domain specific languages [22]. 8. Eclipse GMF: The Eclipse Graphical Modeling Framework is an Eclipse project that allows the creation of editors for domain specific languages based on the Eclipse EMF (Eclipse Modeling Framework) and GEF (Graphical Editing Framework) projects [21].
6 Conclusion Our research institute has conducted many complex modeling projects with its company and research partners, for example in the domains of Business Process Management, IT-Service Management, IT-Architectures and IT-Landscapes. Based on our experience we can state: • Modeling is here to stay in enterprises. A lot of modeling efforts exist even without model-driven approach. Models serve as intuitive system and process description at all levels of the enterprise. Metamodeling is always an issue, again also without a model-driven approach, and so is meta-model based model transformation, for example in order to deal with model migration. • Without appropriate support for adaptivity, modeling projects lack agility and suffer the risk of a maintenance nightmare of their work products. Metamodeling enables adaptivity of modeling approach and therefore empowers modeling projects.
Intuitive Visualization-Oriented Metamodeling
733
On basis of the above insights we have contributed a graphical modeling tool that is strictly oriented towards the pragmatics of dealing, i.e., defining and managing, visual artifacts. In this article we discussed the following: • The requirements for a graphical metamodeling tool that meets the above objectives. • The concrete features and modeling capabilities of our tool. • The context of adaptive modeling and how it motivates our tool.
References [1] Himsl, M., Jabornig, D., Leithner, W., Draheim, D., Regner, P., Wiesinger, T., Küng, J.: A Concept of an Adaptive and Iterative Meta- and Instance Modeling Process. In: Proceedings of DEXA 2007 - 18th International Conference on Database and Expert Systems Applications, September 2007. Springer, Heidelberg (2007) [2] Agrawal, A., Karsai, G., Ledeczi, A.: An End-to-End Domain-Driven Development Framework, Domain-driven development track. In: 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, Anaheim, California, October 26 (2003) [3] Janneck, J.: Graph-type definition language (GTDL)—specification, Technical report, Computer, Engineering and Networks Laboratory, ETH Zurich (2000) [4] Essar, R., Janneck, J., Naedele, M.: The Moses Tool Suite - A Tutorial. Version 1.2, Computer, Engineering and Networks Laboratory, ETH Zurich (2001) [5] Kent, S., Patrascoiu, O.: Kent Modelling Framework Version – Tutorial, December 2002. Computing Laboratory, University of Kent, Canterbury (2002) [6] Lara, J., Vangheluwe, H.: Using AToM as a Meta CASE Tool. In: 4th International Conference on Enterprise Information Systems, Universidad de Castilla-La Mancha, Ciudad Real (Spain), April 3-6 (2002) [7] Lara, J., Vangheluwe, H.: Computer Aided Multi-Paradigm Modeling to Process PetriNets and Statecharts. In: 1st International Conference on Graph Transformation, Barcelona (Spain), October 7-12 (2002) [8] MetaCase. ABC To Metacase Technology - White Paper. MetaCase Consulting, Finland (August 2000) [9] MetaCase. Domain-Specific Modelling: 10 Times Faster Than UML. White Paper, MetaCase Consulting, Finland (January 200) [10] Sprinkle, J., Karsai, G.: Model Migration through Visual Modeling, OOPSLA, Anaheim, CA, October 26 (2003) [11] OMG, MOF 2.0 Query / Views / Transformations RFP (2002) [12] Bjorner, D.: On Domains and Domain – Engineering Prerequisites for Trustworthy Software – A Necessity for Believable Project Management. Domain Engineering and Digital Rights Group (April 2006) [13] Atkinson, C., Kühne, T.: The Role of Metamodeling in MDA. In: Proceedings of WISME@UML 2002 – International Workshop in Software Model Engineering (2002) [14] Soley, R.: Model Driven Architecture, white paper formal/02-04-03, draft 3.2, Object Management Group (November 2003) [15] Parnas, D.L.: Software Aspects of Strategic Defense Systems. In: Software Engineering Notes, ACM Sigsoft, October 1985, vol. 10(5). ACM Press, New York (1985)
734
D. Draheim et al.
[16] Czarnecki, K., Eisenecker, U.W.: Generative Programming – Methods, Tools, and Applications. Addison-Wesley, Reading (2000) [17] Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Addison-Wesley, Reading (1999) [18] Beck, K.: Extreme Programming Explained – Embrace Change. Addison-Wesley, Reading (2000) [19] Duncan, W.R. (ed.): A Guide to the Project Management Body of Knowledge. Project Management Institute (1996) [20] Ledeczi, A., Maroti, M., Bakay, A., Karsai, G., Garrett, J., Thomason IV, C., Nordstrom, G., Sprinkle, J., Volgyesi, P.: The Generic Modeling Environment, Workshop on Intelligent Signal Processing, accepted, Budapest, Hungary, May 17 (2001) [21] Eclipse Graphical Modeling Framework (GMF), http://www.eclipse.org/gmf/ [22] Cook, S., Jones, G., Kent, S., Wills, A.C.: Domain Specific Development with Visual Studio DSL Tools. Addison-Wesley, Reading (2007) [23] MOF, OMG’s MetaObject Facility, http://www.omg.org/mof/ [24] Kelly, S.: GOPRR Description. PhD. dissertation, Appendix 1 (1997) [25] Ebert, J., et al.: Meta-CASE in Practice: A Case for KOGGE. In: Proc. of CaiSE 1997 (1997) [26] Costagliola, G., et al.: Constructing Meta-CASE Workbenches by Exploiting Visual Language Generators. IEEE TSE 32(3) (2006)