Skip to main content
main-content

Über dieses Buch

This book constitutes thoroughly revised and selected papers from the Second International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2014, held in Lisbon, Portugal, in January 2014.

The 10 thoroughly revised and extended papers presented in this volume were carefully reviewed and selected from 88 submissions. They are organized in topical sections named: invited papers; modeling languages, tools and architectures; and methodologies, processes and platforms.

Inhaltsverzeichnis

Frontmatter

Invited Papers

Frontmatter

World Wide Modeling: The Agility of the Web Applied to Model Repositories

In today’s era of data sharing, immediate communication and world-wide distribution of participants, at a time when teams are asked to be ever more agile, the traditional approach of model repositories no longer meets expectations. Centralized organization has become inconsistent with the way in which the world and its companies function.
In today’s world, it is virtually impossible to set up a model repository for different enterprise entities, large-scale systems or projects, which can be accessed by all participants (readers, contributors, partners, and so on). Standard techniques based on a centralized repository with a designated manager come up against a vast variety of situations, with participants who neither want nor are able to conform to uniform rules and management.
This does not allow model-based knowledge management at an enterprise or global level. It inhibits agility and open team cooperation. We believe that this is a major hurdle to the dissemination of model-based approaches; the reality of heavyweight model management hinders the most appealing of model-based approaches.
Based on the latest technologies and research for model repositories, this talk will explain why current model repository technologies are a major drawback and will present a way of supporting highly decentralized organizations, and agile and open team cooperation. Scaling up and widening the scope of model repositories will enable modeling support to be applied to the “extended enterprise”, which incorporates its eco-system (providers, partners, and so on).
Philippe Desfray

Models in Software Architecture Derivation and Evaluation: Challenges and Opportunities

Software architecture derivation and evaluation are complex and error prone activities that still represent an open problem with many challenges and opportunities where model-driven software development can play a leading role. In software product line development, the use of model-driven principles could help by providing a richer semantic representation of a product line and by capturing the architectural design decisions and its impact on the product quality attributes. In this chapter, we analyze the main challenges and opportunities surrounding the product architecture derivation and evaluation and introduce QuaDAI, a method for the derivation, evaluation, and improvement of product architectures in model-driven software product line development environments. The method comprises a multimodel, which represents the different viewpoints of a software product line, and a process conducted by model transformations that automate the derivation, evaluation, and improvement of product architectures.
Javier Gonzalez-Huerta, Emilio Insfran, Silvia Abrahão

Modeling Languages, Tools and Architectures

Frontmatter

Using Patterns to Map OCL Constraints to JML Specifications

OCL is a formal notation to specify constraints on UML models that cannot otherwise be expressed using diagrammatic notations such as class diagrams. The type of constraints that can be expressed using OCL include class invariants and operation preconditions and postconditions. Constraint patterns can be used to simplify the development of consistent constraints for UML/OCL models. This paper investigates an approach based on constraint patterns to developing JML specifications for Java implementations from OCL constraints. This would enable the checking of OCL constraints at runtime since they can be translated to JML executable assertions. The approach involves mapping each OCL constraint pattern to a corresponding JML pattern. This results in a library of JML constraint patterns that provides a seamless transition from UML/OCL designs to Java implementations.
Ali Hamie

Transformation-Wise Design of Software Architectures

Stakeholders have to face requirements in increasing number and complexity, and the link between these requirements and design artifacts is primordial. Agile design methods and documentation techniques have emerged in the past years in order to trace the decision process and the rationale sustaining a software model. The present work proposes an integrated framework combining system requirement definitions, component-based models and model transformations. Architecturally significant requirements are explicitly linked to software architecture elements and iteratively refined or implemented by model transformations. Any transformation must be documented, even briefly, and the framework retains the transformations tree. This way, the iterative decision and design processes are completely documented for future reference or modification, i.e., designers can (i) see the mapping between a system requirement and its implementation in the architecture model, (ii) explore design alternatives or apply structural modifications without losing previous versions of the model, and finally (iii) at least understand partially the reasons why the model is how it is.
Fabian Gilson, Vincent Englebert

What Are the Used UML Diagram Constructs? A Document and Tool Analysis Study Covering Activity and Use Case Diagrams

UML offers a very large set of constructs for each of its diagram types, however many of them seem scarcely used or even their existence is not known. Here, we decided to present a precise view of the usage levels of the constructs of activity and use case diagrams by means of a document and tool analysis study, covering preliminarily: books, courses, tutorials, and tools about UML. Results of the study show that, among the 47 activity diagrams constructs, a large majority of them seem to be scarcely used, while, only nine result widely used, whereas only two of the nine constructs of the use case diagrams seem scarcely used. This work is part of a larger project aimed at investigating the usage level of the UML diagrams and their constructs, also by means of a personal opinion survey intended for UML users.
Gianna Reggio, Maurizio Leotta, Filippo Ricca, Diego Clerissi

Specialisation of Metamodels Using Metamodel Types

In order to be able to specialise metamodels and thereby enhance reusability of metamodels, we introduce the notions of metamodel types and subtypes. Model-driven engineering considers models and metamodels as first-class entities, however, there has not been much work on how to type models or metamodels. In this paper we discuss how a metamodel can be enclosed within a class and how this enclosing class defines the type for the metamodel. This allows us to use established object-oriented mechanisms on the metamodel level and supports specialisation of metamodels.
Henning Berg, Birger Møller-Pedersen

Matching and Merging Scenarios Automatically with Alloy

The design of large systems often involves the creation of models that describe partial specifications. Model composition is the process of combining partial models to create a single coherent model. This paper presents an automatic composition technique for creating a sequence diagram from partial specifications captured in multiple sequence diagrams with the help of Alloy. Our contribution is twofold: a novel true-concurrent semantics for sequence diagram composition, and a model-driven transformation of sequence diagrams to Alloy that preserves the semantics of composition defined. We have created a tool SD2Alloy that implements the technique as follows: two given sequence diagrams are transformed into two Alloy models, and merged according to a set of syntactic logical constraints describing how their elements should be matched. These constraints are in accordance to our compositional semantics. The technique can also be used to detect problems and inconsistencies in the composition of diagrams.
J. Bowles, M. Alwanain, B. Bordbar, Y. Chen

Use Case and User Interface Patterns for Data Oriented Applications

Use case driven software development starts, in general, with abstract problem domain descriptions of how the users see themselves using the system being developed, and involves a series of iterative refinement steps that incrementally add detail to the use case model, bringing those descriptions to the solution domain. Use cases involve interactions between human actors and the system state. These interactions are held within interaction spaces, which are modeled through a user interface model. Business applications are in general data-driven, comprising a set of typical functions that the users can make on the system. When a use case driven approach is used to develop data-oriented applications those typical functions pop-up as use case patterns, and their interactions occur within a set of user interface patterns. This paper presents a set of use case patterns and the corresponding user interface patterns typically found in data-oriented business applications. For that, a user interface metamodel and corresponding concrete user interface modeling language are also proposed.
António Miguel Rosado da Cruz

Staged Translation of Graph Transformation Rules

Graph transformation rules provide an opportunity to specify model transformations in a declarative way at a high level of abstraction. So far, compilers have translated graph transformation rules into conventional programming languages such as Java, C, or C#. In contrast, we follow a staged translation approach: We developed a compiler which translates graph transformation rules into a procedural language for behavioral modeling (Xcore). By reusing the Xcore compiler, the code may be compiled down to a conventional programming language in a second step. The generated Xcore code is significantly more concise and readable than programming language code. Furthermore, the code is portable since it is completely programming language independent.
Sabine Winetzhammer, Bernhard Westfechtel

Towards Bidirectional Higher-Order Transformation for Model-Driven Co-evolution

In model-driven development (MDD), numerous metamodels, models, and model transformations need to be taken into account. These MDD-based artifacts—although highly interdependent—are autonomously maintained. Changes in one artifact (e.g., in a model) are not automatically reflected in other dependent artifacts (e.g., in a model transformation). The barrier for a tight integration of MDD-based artifacts stems from two limitations of current approaches. On the one hand, model transformations are unidirectional and changes can be propagated in one direction only. On the other hand, changes can only be propagated into output artifacts of transformations, not into transformation definitions themselves. In order to overcome these co-evolution problems, our approach is based on establishing bidirectional transformations (BX) between modeling artifacts and on applying higher-order transformations (HOTs) on first-class model representations of transformation specifications. In this paper, we present a generic approach and provide initial prototypes for an integrated tool support which integrates BX into well-established Eclipse-based MDD frameworks, thereby neither being restricted to a specific modeling nor model transformation language.
Bernhard Hoisl, Zhenjiang Hu, Soichiro Hidaka

Methodologies, Processes and Platforms

Frontmatter

Reducing Complexity of Process Tailoring Transformations Generation

Tailoring software processes to particular contexts applying model transformations has proved to be appropriate and technically feasible. However, the use of this approach can become awkward for most process engineers, because it requires knowledge about the process and its tailoring needs, and also about building model transformations. In a previous work we have proposed a tool based on model-driven engineering (MDE) for automatically generating software process model tailoring transformations. This paper presents an improved user interface of the tool and proposes a process for guiding its application for tailoring processes. We illustrate its use by applying it for tailoring the process of Rhiscom, a Chilean small software company. The tool and the process balance the formally required by MDE with the usability needed by the process engineers.
Luis Silvestre, María Cecilia Bastarrica, Sergio F. Ochoa

Main Features for MDD Tools: An Exploratory Study

Software Engineering aims to apply methods and processes for effective and efficient software development. One of the most relevant paradigms for achieving this goal is Model-Driven Development (MDD), which advocates the use of models for automatically generating software products. However, an important issue in the development and selection of MDD technologies is the lack of standardization regarding the features that need to be considered to support the current industry needs. This hinders the comparison of existing technologies since there is no reference point for the creation of new MDD approaches with their corresponding supporting tools. As a solution, this paper proposes a set of main features that MDD tools must support. The set is based on different characteristics that have been acknowledged in the literature, and has been validated by means of an exploratory study with tool vendors. We also present an analysis of how eight industrial MDD tools support these features in order to illustrate the application of our proposal.
Beatriz Marín, Andrés Salinas, Juan Morandé, Giovanni Giachetti, Jose Luis de la Vara

Backmatter

Weitere Informationen

Premium Partner

BranchenIndex Online

Die B2B-Firmensuche für Industrie und Wirtschaft: Kostenfrei in Firmenprofilen nach Lieferanten, Herstellern, Dienstleistern und Händlern recherchieren.

Whitepaper

- ANZEIGE -

Best Practices für die Mitarbeiter-Partizipation in der Produktentwicklung

Unternehmen haben das Innovationspotenzial der eigenen Mitarbeiter auch außerhalb der F&E-Abteilung erkannt. Viele Initiativen zur Partizipation scheitern in der Praxis jedoch häufig. Lesen Sie hier  - basierend auf einer qualitativ-explorativen Expertenstudie - mehr über die wesentlichen Problemfelder der mitarbeiterzentrierten Produktentwicklung und profitieren Sie von konkreten Handlungsempfehlungen aus der Praxis.
Jetzt gratis downloaden!

Bildnachweise