ECMDA 2007

ECMDA 2007 Conference



ECMDA 2007 Conference
Third European Conference on Model Driven Architecture® Foundations and Applications

Dan Carmel hotel
Haifa - Israel
June 11 - 15, 2007

Keynote: Domain Specific Development

Stuart Kent, Microsoft

This talk will introduce a pattern of software development that exploits domain specific languages and code generation. The basic idea is that much of the code that is written by hand today is boilerplate. Hence, productivity and quality gains can be made by abstracting out points of variability into a domain specific language and then generating the code from expressions in that language, provided, of course, that it’s relatively cheap to produce the domain specific language and the code generators. The approach is illustrated through a demonstration of Microsoft’s Domain Specific Language (DSL) Tools. The claim is that Domain Specific Development is a relatively simple pattern that can be used in projects now, without much of a shift in the way an enterprise conducts its software development. The last part of the talk discusses (a) whether this is really a valid claim and the bar for entry is still too high, and (b) other techniques that could be combined with modelling and code generation to further enhance productivity and quality, and how far this would further raise the bar.

Model Transportation from OWL-s to BPEL via SiTra

Behzad Bordbar, Michael Evans, Athanasios Staikopoulos, University of Birmingham, UK; Gareth Howells, University of Kent, UK

Although there are a large number of academic and industrial model transformation frameworks available, allowing specification, implementation, maintenance and documentation of model transformations which provide a rich set of functionalities, such tools are inherently complex. In particular, for a newcomer to the field of model transformation and for researchers who are only interested in experimenting and creating of prototypes, the steep learning curve is a significant hurdle. There is thus a clear scope for the creation of model transformation frameworks that are both easy to use and able to conduct complex transformations.

Simple Transformer (SiTra) is a model transformation framework, which was originally designed to be a "way in" for the experienced programmer, to start using the concepts of model transformation, and for academic researchers to experiment with the creation of prototypes of implementation to their transformations. The underlying idea of SiTra is to put less focus on the specification language, maintenance and documentation aspects of transformation, by focusing on the implementation of transformations. SiTra makes use of Java for the specification of transformations. This alleviates the need to learn a new specification language or get to grips with a new tool and development environment. SiTra is equipped with a strong transformation engine to execute the transformation behind the scene. This paper reports on a case study involving transformations from Ontology Web Language-Services (OWL-S) to Business Process Execution Language (BPEL), demonstrating that SiTra can also be used to handle complex and large transformations.

Towards a Model Driven Approach to Automatic BPEL Generation

Xiaofeng Yu, Yan Zhang, Tian Zhang, Linzhang Wang, Xuandong Li, Nanjing University, China

Both complex separate Web services and composite Web services need orchestration specification. However, on one hand, the process of manually creating orchestration specification is time-consuming and error-prone; and on the other hand, application developers are in a dilemma to choose between virous orchestration languages and engines. In this paper, to reduce the complexity of creating Web services orchestration specification, and to make orchestration models isolated from orchestration languages and engines, we propose a model driven approach to generate orchestration specification. Web services orchestration is modeled using the CCA (Component Collaboration Architecture) of the UML profile for Enterprise Distributed Object Computing (EDOC). Than transform CCA specified orchestration models to BPEL via transformation rules. The same orchestration model can be different orchestration specifications though we take BPEL as the transformation target. Moreover, the transformation process is automatic.

Tool Support for industrial use of meta-modeling frameworks

Nektarios Georgalas, British Telecom Group, UK; Kun Yang, University of Essex, UK

Conventional programming techniques cannot cope with information overloading and increased software complexity. This drove telecommunication operators towards high level modeling, to cope with these complexity issues, increase productivity and reduce costs. Abstractness is the key word that is purely incarcerated in the concept of modeling. Originally the major drawback in the evaluation of (meta-) modeling was the lack of appropriate supporting development tools. The focus of this article is to illustrate the escalating growth of the meta-modeling concept through the advancement of those frameworks. Additionally it is illustrated that model driven architecture (MDA) has evolved into an industrialized and proficient methodology. Through the qualified study of meta-modeling frameworks we extract the essential requirements for effective application of model driven development. Finally we present our own framework bundle, which evidently conforms to those requirements and provide an overall coherent environment.

A Model Driven Software Factory using Domain Specific Languages

Jos Warmer, Ordina, Netherlands

This paper describes the development of the SMART-Microsoft Software Factory. This factory is a fully model driven factory that makes extensive use of the Microsoft Service Oriented Architecture. We describe the process used for developing the factory and share and the experience gained in the first projects in which this factory has been used. The first project has 73% of the delivered code being generated.

A Practical Approach to Model Extension

Mikael Barbero, jean Bezivin, University of Nantes, France; Frederic Jouault, University of Nantes, France & University of Birmingham; Jeff Gray, University of Birmingham, USA

Domain Specific Languages (DSLs) are a relevant and effective solution to solve specific Problems Compared to General Purpose Languages (GPLs). But the specificity of DSLs is also a drawback when the problem oversteps domain boundaries. Then, it is sometimes necessary to extend it. For instance, a model transformation DSL can be extended by different navigation languages such as OCL or XPath. Today there is not a formally defined solution for the extension of DSLs. As a DSL is formed by different entities, DSL extension is specified by the extension of each entity. An important one is the abstract syntax, which determines concepts that may be used in a given DSL. In the context of Model Driven Engineering (MDE), this abstract syntax is a metamodel. Thus, DSL extension problem stands to a metamodel, and more generally, model extension. In this paper, we propose a formal definition of model extension, It enables to have a clear view of what extension is, which is a first important step toward DSLs composition.

Towards the Generation of a Text- Based IDE from a Language Metamodel

Anneke Kleppe, University of Twente, Netherlands

In the model driven world languages are usually specified be a (meta) model of their abstract syntax. Foe textual languages this is different from the traditional approach, where the language is specified by a (E)BNF grammar. Support for he designer of textual languages, e.g. a parser generator, is therefore normally based on metamodels is not only possible, but is even more powerful then the support based on grammars. In this paper we describe how an integrated development environment for a language can be generated from the language's abstract syntax metamodel, thus providing the language designer with the possibility to quick, and with little effort, create not only a new language but also the tooling necessary for using this language.

Human Comprehensible and Machine Executable Specifications of Operational Semantics

Markus Scheidgen, Joachim Fischer, Humboldt University, Germany

This paper presents a method to define operational semantics for languages based on their meta-model. We combine existing graphical high-level modeling languages (CMOF, OCL, and UML activities) into a consistent framework. With this framework we can create language meta-models that cover the abstract syntax, runtime states, and runtime behavior of languages with operational semantics. It allows graphical language models that are easy to read by humans and, at the same time, these models are formal enough to be used in a generic model interpreter. The paper demonstrates the framework on the operational semantics of Petri-nets as an example language. We introduce design patterns for common language concepts, and finally show how the framework was applied to the existing graphical language SDL as a proof of concept.

Improving the Interoperability of automotive tools by raising the abstraction from legacy XMl formats to standardized meta models

Mark Brokens, Matthias Koster, Carmeq GmbH, Germany

Automotive system design demands for frequent exchange of data between different parties and tools. In order to improve the interoperability, standardization bodies and partnerships have put high effort in defining XML based languages for system description. However, the mere existence of a standardized XML based data exchange format doesn't guarantee seamless interoperability given by XML DTD or Schema are not sufficient. Additionally, the maintenance of XML formats for the growing complexity of today's systems is an increasing challenge. This paper describes the experiences with the model-driven approach taken by the automotive initiative AUTOSAR. It illustrates the limitations of designing data exchange formats on XML level and shows how a higher level of abstraction increases the interoperability between tools. A powerful concept for mapping a meta model to XML schema allows for integrating legacy XML formats. Furthermore, current activities on improving interoperability by automatically generating a tool framework for AUTOSAR tools are explained.

Model Re-engineering from Traces to Validate Distributed Systems - An Industrial Case Study

Andreas Ulrich, Siemens AG, Germany; Alexandre Petrenko, CRIM, Canada

The paper targets the applicability of model-driven methodologies to the validation of legacy complex systems using a particular case study of a mobile radio network. Validation relies on the availability of a collection models formally describing various aspects of the system behavior and an execution of models formally describing various aspects of the system behavior and an execution trace obtained through monitoring the system during the execution of design-nated test cases. The models describe system properties and are derived from existing (informal) system specification or other traces. The recorded trace is reengineered to produce a model of the system that is used for virtualization of the architecture of the system during test execution and for technology. The obtained results and ;essons learned from this case study are discussed.

Adopting Model Driven Development in a Large Financial Organization

Yael Shaham-Gafni, Michael Kazakov, Dov Shirtz, Metaphor Vision Ltd., Israel

Tow years ago the IT Division of a large financial organization in Israel made a strategic decision to adopt Model Driven Development as its major development methodology. This decision was based on assessing the results of several pilot projects that had run during the previous year using this methodology. The QA department that was the main advocate of this move took upon itself to lead the adoption effort. In this paper we report on the process of adopting Model Driven Development in the IT department of the financial organization, from inception to successful maturation. We provide details on the methodology, models and tools' and describe the chaaenges, benefits, and lessons learnt.

Keynote: MDD with Matlab / Simulink combining Graph Transportation Technology and OMG Meta-Modeling Standards

Andy Schurr, Darmstadt University of technology

Model Driven Development (MDD) and Model Driven Architecture (MDA) are the latest hot topics of the software engineering community. Both MDD and MDA require powerful and precisely defined model transformation approaches for the construction, analysis, manipulation, and transformation of models and architectures at various levels of abstraction.

This keynote starts with a survey of the state-of-the-art of model driven development of Automotive Software using Matlab/Simulink/Stateflow from Mathworks as modeling languages. It then presents a number of problems concerning the analysis and manipulation of Simulink and Stateflow models as well as the integration of these models with requirements engineering documents, test plans, etc.

We will show how sophisticated model analysis, transformation, and integration tools can be specified and generated using a combination of OMG meta-modeling standards and graph transformation technology. MOFLON/Fujaba, a rule-based MDD tool that combines the world of graph transformations (GTs) with OMG metamodeling standards (MOF 2.0 and OCL 2.0), is used for that purpose. MOFLON/Fujaba offers regular GT concepts for the manipulation of single model/graph instances as well as triple graph grammars (TGGs) for the specification of bidirectional model/graph translators. TGGs are a formalization of the declarative (relational) part of OMG's model transformation language standard QVT (cf.

Is MDA ready for real business? - A user perspective!

Bjorn Nordmoen, Chief System Architect, WesternGeco

There has been a lot of "hype" around MDA the last two years, but is it really ready for serious business? Does MDA deliver when it comes to portability, interoperability and productivity? This talk will report on the current status of MDA and MDA tools from a real case in the company WesternGeco. The UML-tool will be TogetherArchitect-2006 and the examples will demonstrate the use of UML-models, UML-profiles and Model transformations to generated code. The model transformation tool is an open source tool called MOFScript developed by SINTEF as part of the ModelWare EU-project. It is available as an Eclipse plug in. The presentation will show how you can use UML-models and transformation-scripts to customize code-generation for your application architecture.

Adopting MDA in a Small Enterprise

Regis Vogel

Since adopting MDA is not only a challenge of changing tools and languages but also one of changing mindsets and process, the adoption of MDA impacts the entire development process and includes all stakeholders. This talk will present the method used to detect the impact on an SME whose development process is well-defined, as well as to support the infusion of MDA and adapt it within this environment. It will present the tool chain selected based on identified needs, as well as the results of an experiment comparing MDA with traditional development methods.

Experimental Validation of the Effects of Model Driven Development on the Software Lifecycle

Yael Dubinsky, IBM Haifa Research Lab

Implementing Model Driven Development (MDD) concepts and tools into software development teamwork is a process that involves a paradigm shift. Team members that have been working at a low level of abstraction, writing code, are required to work at a higher level of abstraction and develop the models from which code, tests, and documentation are generated automatically. This talk focuses on the economic impact of the shift by measuring software productivity gain from the baseline traditional approach to the MDD approach. Further presented are the subjective impressions of software engineers engaged in the process of moving to a model-centric development environment.

Scenarios of Traceability in Model to Text Transformations

Goren K. Olsen, Jon Oldevik, SINTEF, Norway

The challenges of managing change in model-driven development are addresses by traceability mechanisms for model to text transformations. A tractability model, tailored for representing trace information between models and granted code, provides the basis for visualization and analysis of the relationships between models and code. Usage scenarios for traceability are discusses and illustrated bby our traceability implementation.

An Algebraic view on Semantics of Model Composition

Christoph Herrmann, Holger Krahn, Bernhard Rumpe, Martin Schindler, Steven Volkel, Braunschweig University of Technology, Germany

Due to the increase complexity of software development projects more and more systems are described by models. The sheer size makes it impractical to describe these systems by a single model. Instead many models are developed that provide several complementary views on the system to be developed. This however leads to a need for compositional models. This paper describes a foundational theory of model composition in form of an algebra to explicitly clarify different variant and uses of composition, their interplay with the semantics of the involved models and their composition operators.

Execution of Aspect Oriented UML Models

Lidia Fuentes, Pablo Sanchez, University of Malaga, Spain

The creation of precise, complete, platform independent models, whose implementation code can be fully generated for different target platforms is often considered a key factor in Model—Driven Architecture (MDA). The execution of UML models is already a reality, mainly due to the adoption of the emph {Action} language. However, UML and its action language are object-oriented based and certain concerns, called crosscutting concerns (e.g., encryption), can not be adequately encapsulated in single design modules. Such concerns result in scattered and tangled representations, which hinder system development, maintenance and evaluation as well as the reusability of individual design modules, Aspect-Oriented Software Development (AOSD) has proven in recent years to be a useful technology for alleviating these shortcomings of object-orientation. This paper presents an extension to current Executable UML practice for the construction and a better separation of concerns than traditional ones and so their maintenance, evolution and reusability of individual elements are easier as they are aspect-oriented.

Templatable Metamodels for Semantic Variation Points

Arnaud Cuccuru, Chokri mraidha, Francois Terrier, Sebastien Gerard, CEA-LIST, France

Domain language engineering is one of the fundamental activities around model driven engineering. In this context, languages definition usually relies on a meta model describing something equivalent to its lexicon and grammar, usually completed with a semantic description (either formal or informal). If the language targets multiply domains, the common structural aspects can be captured in a meta model, and the associated semantic description may identify concepts which sense may vary according to specific requirements (In the UML 2 specification, these potential interpretations are called "Semantic Variation Points"). These voluntarily underspecified semantic points should then be specialized for a particular domain, and typically require meta model specialized. MOF (though generalization and PackageMerge) oe even UML 2 Infrastructure (though Profiling) provide such specialization mechanisms. However, we believe that these mechanisms (and the one proposed in related works) are neither flexible nor expressive enough to solve the Semantic Variation Points issue. In this paper, we propose a template based notation enabling semantic variation points to be definitions. Then, semantic variation points can be fixed by parameter bindings at both model and meta model levels. We illustrate our proposal with a template version of the UML 2 state machine meta model, and we describe a prototype implementation of our mechanisms in the context of the Eclipse Modeling Framework.

Constrains Modeling for (profiled) UML Models

Francois Lagarde, Francois Terriere, CEA LIST, France; Charles Andre , I3S, France

The growing number of UML profiles and the consequent extensive of stereotypes are turning the modeling process error-prone. In order to describe expressions to detect errors on models conforming to different profiling rules, OCL still enclose important limitations. In this context, this paper presents a dedicated set of constructs to define more intuitive and easier constraint specification. This approach uses meta model elements to constrain a model conforming to a profile as well among several profiles. We support these constructs with a dedicated UML profile. Two motivating examples illustrate their applicability. The specific checking tool that has been developed is described.

Efficient Reasoning about Finite Satisfiability of UML Diagrams with Constrained Generalization Sets

Mira balabn, Azzam Maraee, Ben-Gurion University of the Negev, Israel

UML class diagrams play a central role in the design and specification of software, databases and ontologies. The model driven architecture approach emphasizes the central role that models play, towards achieving reliable software. It is important that models are correct and that problems are detected as early as possible in the software design process. However, current case tools do not support reasoning tasks about class diagrams and enable the construction of erroneous models. There is an urgent need for methods for detecting analysis and design problems. In this paper, we present a linear programming based method generalization sets. The method is simple and efficient and can be easily added to a case tool. It improves over existing methods that require exponential resources and extends them to new elements of class diagrams.