Flexible Views for View-Based Model-Driven Development

Flexible Views for View-Based Model-Driven Development

Flexible Views for View-Based Model-Driven Development Erik Burger Karlsruhe Institute of Technology Am Fasanengarten 5 Karlsruhe, Germany [email protected] ABSTRACT is presented to the developer and structure the way of dis- Model-driven development processes suffer from growing com- playing and manipulating information. Pre-defined views plexity, which leads to information spread across heterogen- are however often limited to the information contained in eous metamodels as well as drift and erosion between ar- one specific metamodel, and cannot be defined by the de- chitecture and implementation. In this paper, we present a velopers themselves. view-based modeling approach based on Orthographic Soft- In this paper, model-driven development techniques are ware Modeling (OSM), and introduce flexible views as a used to define a view-based modeling approach based on the concept for the creation of custom, user-specific views. The Orthographic Software Modeling concept by Atkinson et al. envisioned benefit of the approach is to improve software [2]. Dynamically created, so called flexible views are intro- quality, to increase consistency between the various model- duced to help the software developer to focus on the parts ing artifacts in model-driven software development, and to of the system which are relevant for his or her current role, reduce the complexity for software developers. and offer an abstraction for the rest of the system. Flexible views can be defined by a lightweight domain-specific lan- guage (DSL), and are part of a novel construction method Categories and Subject Descriptors for the single underlying model (SUM), a central concept on D.2.2 [Design Tools and Techniques]: Object-oriented which the OSM approach is built. design methods; D.2.11 [Software Architectures]: Lan- The goal of our approach is to improve software quality guages by giving developers permanent access to consistent, up- to-date and complete information about the system under development, tailored to the information needs of different General Terms developer roles, e.g., domain experts, system architects, or Keywords software developers. Flexible views are customized to the needs of a single developer and can be defined by the de- Model-driven software development; View-based modeling; velopers themselves. They reduce the complexity by dis- Orthographic Software Modeling playing only the type of information which is relevant at the time of modeling. Flexible views may also be used to hide 1. INTRODUCTION information and thus to implement access control to parts Most of today's software delopment processes make use of of a software system. models and model-based technologies to cope with the com- plexity of larger systems by expressing features of the system 2. FOUNDATIONS on a higher level of abstraction. With the extensive use of models in complex systems, these models can themselves 2.1 Model-Driven Development grow large and become too complex to be understood by a single developer. These models are often instances of sev- Model-driven development (MDD) [28, 26] puts models eral heterogeneous metamodels, across which information is into the centre of the development process and provides a spread. Thus, inconsistencies can occur, leading to drift and clear separation of views and models. During the MDD erosion between the models and the implementation of the process, several models can be used, which may differ in the system. To lower the complexity for the developer, partial level of abstraction and the type of modeled information, but views on the system restrict the amount of information that should essentially represent the same system. Developers have to take manual efforts to achieve synchronisation of information across these models. This is why developers Permission to make digital or hard copies of all or part of this work for usually work in only one kind of model at a time. personal or classroom use is granted without fee provided that copies are In view-based modeling [16], all access to the models is not made or distributed for profit or commercial advantage and that copies organised in views, which in general are partial, i.e., do not bear this notice and the full citation on the first page. To copy otherwise, to show the complete model, thus reducing the complexity for republish, to post on servers or to redistribute to lists, requires prior specific the developer by presenting him or her only the relevant permission and/or a fee. parts of a system. WCOP’13, June 17, 2013, Vancouver, BC, Canada. Copyright 2013 ACM 978-1-4503-2125-9/13/06 The terms view and view point have been defined for soft- http://dx.doi.org/10.1145/2465498.2465501 ...$15.00. ware architectures and architectural description languages in the IEEE 1471/ISO 42010 standard [18, 19], which only view2 view2 give a broad definition of the terms and do not distinguish view1 view1 between view types and actual view instances. We will use view3 view3 the more precise definition of Goldschmidt et al. [15, 16], given in Definition 1, instead. SUM view7 view7 Definition 1. A view type defines the set of metaclasses view4 view4 whose instances a view can display. It comprises a definition view6 view6 of a concrete syntax plus a mapping to the abstract metamo- view5 view5 del syntax. The actual view is an instance of a view type showing an actual set of objects and their relations using a Figure 1: Hub-and-spoke vs. peer-to-peer certain representation. A view point defines a concern. In UML, for example, diagram types such as sequence or class diagrams would be view types. A view is the actual propagated back to the SUM likewise. Although writing bi- diagram containing classes A, B and C. The static architec- directional transformations is a difficult task, the complexity ture or dynamic aspects of a system would be view points of a hub-and-spoke architecture like OSM is linear in terms in UML. of the number of transformations that have to be written The main difference of this definition to the IEEE/ISO and maintained, in contrast to the exponential number of standard is the introduction of the term view type, which transformations in a peer-to-peer synchronisation scenario can be interpreted as a metamodel for actual views. Gold- for views, which must also be bi-directional (see Figure 1). schmidt also defines defines different notions for complete- The KobrA Method [3] is a prototypical implementation ness and partiality of view types and views, such as contain- of the OSM approach, based on UML and OCL. KobrA is ment-completeness, selectional completeness, and a defini- however lacking a method for the construction of the single tion for overlaps of view types [15, sect. 4.4]. underlying model (and the metamodel it is based on), which A developer will rarely use a complete view on a system is supposed to carry all information of the software develop- because it is often too complex and tends to be confusing. ment lifecycle. This is why today's software modeling tools offer possibilit- ies to restrict a view to certain elements; the possibilities for 2.3 Bidirectional Transformations creating custom views are however limited to the selection Depending on the transformation language used, bidirec- mechanisms implemented in the tools, so that often only a tionality is difficult to maintain or to prove. Algebraic frame- manual selection of elements is possible. The idea of restric- works and methods like the lenses approach by the Harmony ted views for developers goes back to the 1990s [13, 20, 24], group [14] offer a sound theoretical foundation, but are not but has not been accepted as a development paradigm yet. yet mature enough to be used in practice. Triple graph We are conviced that today's model-driven techniques like grammars [21] can be used to define bidirectional trans- model transformations and the support for textual syntaxes formation rules, which are in practice often transformed into offers greater possibilities for view-based approaches. pairs of unidirectional transformations. Perdita Stevens distinguishes bidirectional transformations 2.2 Orthographic Software Modeling from bijective transformations [29], and identifies several re- With the Orthographic Software Modeling (OSM) [2] ap- quirements that bidirectional transformations should satisfy: proach, Atkinson et al. aim to establish views as first- In the context of QVT-R, the basic requirements are cor- class entities of the software engineering process. In the en- rectness (the transformation engine produces models that visioned view-centric development process, all information satisfy the relations), hippocraticness (models that satisfy about a system is represented in a single underlying model a relation are not modified by the executions of the trans- (SUM); thus, the SUM even transcends the function of being formation engine), and additionally undoability. Diskin et al. a model, but becomes the system itself. This makes the ap- [11] give a weaker definition for undoability and invertibility proach radical in the sense that even source code is treated that is more suitable for practical applications of bidirec- as only a special textual view. The SUM itself has to con- tional transformation and which is based on lenses. They tain all execution semantics and could theoretically also be also argue that delta-based approaches are superior to state- executed without the use of source code. based approaches: While state-based transformations have The authors of OSM suggest that user-specific custom the complete models in their current status as input and views be generated dynamically, based on model transform- output, delta-based approaches use the differences between ations from and to the SUM. These views are organized in models. These deltas may carry semantic information that dimensions that are ideally independent from each other cannot be computed by comparing model versions, such as (orthogonal).

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us