Top PDF Model Transformation Approach to Automated Model Driven Development

Model Transformation Approach to Automated Model Driven Development

Model Transformation Approach to Automated Model Driven Development

Anotace Jednou ze souˇ casn´ ych v´ yzev softwarov´ eho v´ yvoje je pˇ rizp˚ usoben´ı softwarov´ eho syst´ emu mˇ en´ıc´ım se poˇ zadavk˚ um a n´ arok˚ um uˇ zivatele a zmˇ en´ am prostˇ red´ı. Koneˇ cn´ ym c´ılem je vnoˇ rit tyto poˇ zadavky do vysoko´ urovˇ nov´ e abstrakce, coˇ z umoˇ zˇ nuje dos´ ahnout pˇ rizp˚ usoben´ı z´ ak- ladn´ı implementace softwaru ve velk´ em rozsahu. Modelem ˇ r´ızen´ e inˇ zen´ yrstv´ı (Model-Driven Engineering, MDE) je jednou z kl´ıˇ cov´ ych technik, kter´ a podporuje tento z´ amˇ er. Efektivn´ı vytv´ aˇ ren´ı model˚ u a jejich transformace jsou zde hlavn´ımi ˇ cinnostmi, kter´ e umoˇ zˇ nuj´ı pˇ revod zdrojov´ ych model˚ u na c´ılov´ e za ´ uˇ celem zmˇ eny modelov´ e struktury nebo pˇ revodu model˚ u na jin´ e softwarov´ e produkty. Naˇ s´ım hlavn´ım c´ılem je umoˇ znit automatizaci a automatizovan´ y v´ yvoj syst´ emu z odpov´ıdaj´ıc´ıch model˚ u. I kdyˇ z jiˇ z existuje nˇ ekolik vysoko´ urovˇ nov´ ych pˇ r´ıs- tup˚ u, je zde st´ ale absence jasn´ e metodiky a v´ ysledk˚ u pro aplikaci techniky MDE na specifickou oblast se specifick´ ymi poˇ zadavky, jako je oblast webov´ ych aplikac´ı. Tento v´ yzkum se snaˇ z´ı pˇ rispˇ et k ˇ reˇ sen´ı probl´ emu automatizace v´ yvoje model˚ u t´ım, ˇ ze poskytuje pˇ rehled existuj´ıc´ıch pˇ r´ıstup˚ u s nˇ ekolika pˇ r´ıpadov´ ymi studiemi a zav´ ad´ı nov´ y pˇ r´ıstup v rozv´ıjej´ıc´ı se oblasti we- bov´ ych aplikac´ı a sluˇ zeb. Abychom se mohli vypoˇ r´ adat se souˇ casn´ ym trendem rostouc´ı sloˇ zi- tosti webov´ ych sluˇ zeb, jakoˇ zto programov´ ych p´ ateˇ r´ı modern´ıch distribuovan´ ych a cloudov´ ych architektur, navrhujeme pˇ r´ıstup s pouˇ zit´ım dom´ enovˇ e specifick´ eho jazyka pro modelov´ an´ı we- bov´ ych sluˇ zeb jako ˇ reˇ sen´ı souˇ casn´ e v´ yzvy ve ˇ sk´ alovatelnosti modelov´ an´ı a v´ yvoje webov´ ych sluˇ zeb. Analyzujeme souˇ casn´ y stav probl´ emu a implementujeme dom´ enovˇ e specifick´ y jazyk, nazvan´ y Simple Web Service Modeling, pro podporu automatizovan´ eho, modelem ˇ r´ızen´ eho v´ yvoje webov´ ych sluˇ zeb. Tento pˇ r´ıstup je ˇ reˇ sen´ım pro probl´ emy ve v´ yvoji syst´ em˚ u typu “software-as-a-service”, kter´ e vyˇ zaduj´ı podporu pro tuto specifickou architekturu.
Show more

126 Read more

Model-Driven Engineering in the Large: Refactoring Techniques for Models and Model Transformation Systems

Model-Driven Engineering in the Large: Refactoring Techniques for Models and Model Transformation Systems

area are mostly complementary to ours as they focus on the matching of single rules [126, 47, 62, 1]. Mészáros et al. [73] first explored the idea of considering overlapping portions in multiple rules. Their custom technique for detecting these sub-patterns, however, did not scale up to complete rule sets. Instead, they considered just two rules at a time, which enabled a moderate performance improvement of 11%. In our approach, applying clone detection and clustering techniques gives rise to an increased speed-up. The incremental graph pattern matching ap- proach in [125] succeeds in mitigating the memory concern of Rete net- works by considering shared sub-patterns. Yet, the authors report on deteriorated execution times: The index tables that map sub-patterns to partial matches grow so large that performance is impaired. Multi- query optimization has also been investigated for relational databases [100]. In the more related domain of graph databases, all optimization approaches we are aware of focus on single-query optimization [135]. Clone refactoring. Circumstances under which clones can and should be eliminated are the subject of an ongoing discussion [92]. Based on empirical observations, Kim et al. [59] identified three types of clones: short-lived clones vanishing over the course of few revisions, “unfac- torable“ clones related to language limitations, and repeatedly changing clones where a refactoring is recommended. We second the idea that an aggressive refactoring style directed at short-lived clones should be avoided. Instead, targeting clones of the two latter categories, we pro- pose to apply our approach on stable revisions of the rule set. Specifi- cally, clones of the second category that were previously “unfactorable“ due to the lack of suitable reuse concepts may benefit from the intro- duction of VB rules. An approach complementary to clone refactoring is clone management, based on a tool that detects and updates clones automatically [76]. This approach has a low initial cost, but requires constant monitoring.
Show more

157 Read more

Model-Driven Software Development

Model-Driven Software Development

Some traditional CASE vendors and several new players are exploiting the weaknesses of mainstream IDEs to offer Model-Driven Architecture (MDA) tools that allow users to specify precisely how high-level UML models should be mapped onto their specific implementation technology stack. MDA is a term coined and owned by the Object Management Group, a consortium that includes most mainstream vendors of software development tools. The MDA approach relies on UML and customizable code generation, and explicitly distinguishes between the concept of Platform Independent Model (PIM) and Platform Specific Model (PSM). In practice, commercial MDA tools are expensive, and rely on proprietary languages to specify the transformations between PIM and implementation code. This means that similar to CASE tools, there is an element of vendor dependence when going down the MDA track. An important aspect that is not addressed by MDA is the development of a rich domain layer that encapsulates core domain business logic; the UML notation is largely inadequate for the specification of domain business logic. Generative techniques as used in MDA are ideal for the generation of framework completion code, but they do not in any way eliminate the need for well-designed domain- specific frameworks. On the positive side, MDA is an approach that allows designers to raise the level of abstraction of specifications and to capture implementation technology knowledge in machine-readable format. Currently the OMG is working on a specification for a standardized language for model transformations. The limited degree of practical UML tool interoperability enabled through the OMG's XMI standard can be used as a reference point for realistic expectations for future MDA tool interoperability.
Show more

66 Read more

Automated Model Transformation Method from BORM to BPMN

Automated Model Transformation Method from BORM to BPMN

This contribution follows a previously published paper on model to text transformation, where a transformation method between BORM diagram in- put and textual output structured in compliance with the Semantics of Busi- ness Vocabulary and Rules (SBVR) [12] has been presented. Several different approaches have been used for mapping one business modelling notation onto another. Paper [4] shows how DEMO process is transformed into BPMN pro- cess using action rule syntax. Paper [3] precisely describes BPMN model onto Petri net. Paper [14] uses direct transformation approach through CFG (Con- text Free Grammar) and FSM. In comparison, our approach uses a unique combination of Petri Nets and FSM. To the best of our knowledge, such ap- proach has not been presented so far.
Show more

9 Read more

Model and Inference Driven Automated testing of Services architectures

Model and Inference Driven Automated testing of Services architectures

Stubbing or mocking servers. These tools integrate with development environments and offer features, scripting languages, or programming frameworks to speed stub development. They’re the little brothers of SVT tools, originally created to test service-oriented architecture; now, firms often use them in conjunction with more comprehensive SVT suites. Clients use mocking servers as an alternative to broader SVT suites when they don’t have a complex application scenario with multiple platforms, protocols, and message formats or aren’t looking to scale SVT as an enterprise service for continuous testing and development. Parasoft offers a little brother to Virtualize called SOAtest, while SmartBear offers open source SoapUI in addition to SoapUI Pro. Other open source options are Mockito and jMock.
Show more

23 Read more

A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software

A Model-Driven Approach for the Development of an IDE for Spacecraft On-Board Software

In conclusion, it has been created a development tool, which presents all the characteristics of a commercial IDE such as Eclipse, but applied to a Domain Specific Language, i.e. ODL. The final IDE implements advanced features such as syntax-highlighting, code-completion, error-checking, auto- filling, providing the same user experience obtainable by means of a third-level language such as Java. Actually, the images generated by ODL IDE are already fully manageable inside the obAlex environment: first on the ground system, for validation purposes, and then they can be uploaded to the on-board OBCP store and executed on the spacecraft. The obAlex environment will be made available across all the TASI missions and several roles will be involved in its usage: ASW designers, Avionics subsystem engineers, Ground operators, etc. Moreover, the implementation obtained at the end of this work presents different
Show more

17 Read more

A hybrid model-driven approach for development and testing of an ETCS component

A hybrid model-driven approach for development and testing of an ETCS component

The initialization phase is implemented through a State Machine. The figure 4.11 depicts the behaviour of DMI in the starting phase, it starts in DeskIsClose state (the display shows a black screen) and if OpenDesk signal from TIU is triggered the transition evolves in DeskIsOpen state. In this model we separate the control flow and data flow, this pattern is frequently used inside the projects (Fig. 4.11). The operator Sub_fuc:CheckDeskStaus is responsible for monitoring the TIU signal and stimulate the state machine. Inside the DeskIsOpen state is modelled the handshake mechanism. Latter ensure that no packets will exchange between DMI Control and DMI Manager before DMI Control receives an Identifier request. After receiving the identifier request, DMI Control responds with an Identification packet in which are contained informations such as Cabin ID, software version etc.
Show more

99 Read more

RESTful Web Services Development with a Model-Driven Engineering Approach

RESTful Web Services Development with a Model-Driven Engineering Approach

The development of web services is a time-consuming, repetitive and error-prone task, since each new common web service has the same structure of the already implemented ones and needs to be integrated in the global platform using the exact same methods (Barukh & Benatallah, 2013). Furthermore, the enforcement of the RESTful constraints in the development process adds complexity to the code to be implemented, and architecture that will support the whole system. MDE techniques allows the common service-related low-level logic to be abstracted, organized, incrementally developed and thereby re-used, through the development of a meta-model that allows the construction of instances, the models, representing the service to be implemented. Being an established approach for developing software systems, MDE been adopted successfully in many industries (Mussbacher et al., 2014).
Show more

155 Read more

A Model-Driven Development Approach for Service-Oriented Integration Scenarios

A Model-Driven Development Approach for Service-Oriented Integration Scenarios

Model-driven development of Web services has already been discussed in several previous works, for instance in [5, 6, 7]. Based on these approaches, we focused on capturing business requirements with models and mapping these models to existing distributed legacy applications. Considering the integration of legacy applications using Web services, a generic model for application integration is presented in [8]. Since different legacy applications often use different formats and standards for describing their data schemas, a mapping of these different data schemas has to be realized additionally. The proposed approach in [8] focuses on the integration of several different data schemas by implementing adapter components realized with Web services. Within the special requirements of our scenario, not only the integration of existing data schemas but also the integration of existing business logic is needed; thus our approach considers the aspect of integration from a system- oriented direction.
Show more

6 Read more

A Model-Driven Approach for Crowdsourcing Search

A Model-Driven Approach for Crowdsourcing Search

M2M Transformation Figure 1: Overview of our approach. issues. Other users’ opinions can ultimately determine our decisions. While in the past people could rely on opinions given by close friends on local or general topics, the change in the social connections in our society makes users increasingly rely on online social interaction to complete and validate the results of their search activities. People often search for hu- man help in between canonical web search steps: they first query a search system, then they ask for an opinion on the result, maybe they also ask suggestion on the query term. We define this trend as crowd-searching.
Show more

5 Read more

Model driven development of service compositions : transformation from service choreography to service orchestrations

Model driven development of service compositions : transformation from service choreography to service orchestrations

Our current approach has a number of limitations which are presented in Section 7.4 in terms of transformation rules and implementation of the proof-of-concept. Most of those limitations can be solved, such that an improved transformation can be achieved. So, we consider addressing those limitations as future work. For instance, earlier developments on transformation from CDL to BPEL like (Rosenberg, Enzi et al. 2007; Mendling and Hafner 2008) have mentioned the mapping for cdl:timeout to bpel:pick, bpel:onMessage, or bpel:onAlarm and cdl:choice to bpel:onMessage nested in bpel:pick. So, implementing these mapping and verifying with a concrete example can also be considered as a topic for future work. In terms of implementation of proof-of-concept, the XSLT transformation (T1) can be implemented as ATL transformation leveraging the use of ATL’s XML injection mechanism. In our T1 transformation, we can use ATL’s XML injection mechanism, which takes CDL (XML) as source model (conforming the XML metamodel) and transforms to CDL (XMI) as target model (conforming the CDL metamodel). We use ATL transformation to realize this XML-to-XMI transformation. This future work will add uniformity in our transformation chain such that all the three transformations (i.e., T1, T2, and T3) use model-driven transformation technique.
Show more

165 Read more

CHANGEABILITY IN MODEL DRIVEN WEB DEVELOPMENT

CHANGEABILITY IN MODEL DRIVEN WEB DEVELOPMENT

14 Most ways to attack complexity can be brought back to a few techniques, being conceptualization, generalization, abstraction, separating of concerns [Dijkstra1974] and adding structure like hierarchies [Booch1993]. Conceptualizations form the base; they define the items to work with [Czarnecki1998]. Methods to attack complexity can take many forms, e.g. applying design principles like the Liskov Substitution Principle (LSP), tactics/patterns as described in [Bass2003][Buschmann1996][Gamma1995], or using MDSD. The methods focus on minimizing complexity, making the structure highly changeable. To create a changeable structure, [Parnas1984] applies these techniques to create a hierarchical modular system based on information hiding. To build such a structure abstraction layers are used to reduce the amount of concept to deal with in each layer. This is a vertical separation of concerns (SOC). Per layer a horizontal SOC is applied to narrow the focus areas, creating loosely coupled high cohesive modules. These separations form a hierarchical structure, which brings cohesion to the global system. In the approach taken in this project conceptualization can be found in the concepts used in the DSLs. Generalization can be seen in the components of the underlying framework. Abstraction is found in the form of DSLs, which also are used to separate concerns. An example of a hierarchical structure can be found in the code generation templates. In chapter 4 more information is given on the framework and the DSLs. Code generation templates can be found in the code fragments shown in appendix C.
Show more

78 Read more

Patterns for Model-Driven Software-Development

Patterns for Model-Driven Software-Development

LANSA RUOM was designed to not only provide an OO modeling capability, but also a limited degree of meta-modeling focussing on the definition of architectural constraints. LANSA RUOM allows users to define the allowable dependencies between different [user definable] types of components, and then prevents illegal dependencies from being defined in the RUOM modeling tool. This approach is distinctly different from the approach of standard UML modeling tools, where virtually no constraints are checked, and where only conformity with UML syntax is checked. See [Bettin 2001] for an example of a situation where conformity with standard UML syntax gets in the way of visually expressing architectural structure. The RUOM meta modeling capability has proved useful for many organisations.
Show more

50 Read more

Transitioning to Model Driven Software Development

Transitioning to Model Driven Software Development

When defining visual [domain specific] modeling languages, the key concepts that one always deals with are boxes, lines, roles, properties, and some structural concept that enables grouping or classification of model elements - let us call it container. Designing a DSL is nothing more and nothing less than identifying the names of the various types of boxes, lines, roles, properties, and containers that are intended to be allowable languages constructs, and subsequently precisely defining the semantics of these meta model elements. The best way to validate whether such a simple meta meta model is sufficient is to apply it to express itself. It is also possible to express the MOF meta model or for that matter the UML meta model using the "boxes & lines" meta meta model. In fact this is precisely the approach taken by tool vendors such as MetaCase, who were amongst the first to stress the need to keep meta modeling simple. The MetaCase MetaEdit+ tool uses a meta meta model consisting of objects, relationships, roles, properties, and graphs (GOPRR) [Tolvanen 2000]. In the remainder of this paper the term boxes & lines language description language is used to refer to meta meta models that are no more complex than absolutely necessary. This helps to keep the discussion grounded in reality - i.e. language design on a white board, and it should also appeal to those in the agile software development corner who are skeptical regarding the practical usefulness of DSLs.
Show more

16 Read more

Model-Driven Development: A Metamodeling Foundation

Model-Driven Development: A Metamodeling Foundation

Ontological metamodeling is particularly important for model driven development because it is explicitly called for in two of the main strategies for model transformation defined in the MDA Users guide [8]. First, it is the basis for the marking mechanism which is envisaged as one of the key ways to support the user-driven definition of model transformation, that is, to enable the use of technical requirement (6). Second, it serves as the basis for defining mappings in the “framework-based” version of type level transformation [8]. This assumes the existence of an ontologically predefined set of superclasses (with associated predefined mappings) which users specialize with their own application classes.
Show more

7 Read more

Integrated model-driven dashboard development

Integrated model-driven dashboard development

3 Background In addition to espousing a business artifact-centric approach to operation modeling, MDBT (Kumaran 2004 ; Kumaran and Nandi 2005 ) offers a model-driven development toolkit and technique. The tools automatically transform an operation model into a platform-independent solution composition model in UML2. In this stage of modeling, the solution architect fills in much of the IT detail that is outside the domain of the business analyst. These details include integration with external services as well as role- players. Following the completion of the solution compo- sition model, MDBT code generation tools automatically create J2EE components that manage the process and provide a simple user interface by which users can interact with the solution. The automated transformations and code generation enable rapid prototyping, accelerate the devel- opment cycle, and allow for a fast turnaround iterative development regimen.
Show more

14 Read more

Example-driven meta-model development

Example-driven meta-model development

Even though we allow the specification of negative fragments, these are not currently used to induce the meta-model, which is left for future work. We would like to perform an empirical evaluation of the approach with our industrial partners. Among the various aspects to be evaluated, the suitability of the library of annota- tions we provide is of particular interest. We also foresee the possibility of starting the process of DSML construc- tion using a set of informal annotations, which can be formalized later. We also plan to improve the tool sup- port. One direction is to enhance collaboration by build- ing a web application where domain experts can sketch fragments that are automatically integrated in the en- vironment for their refinement by an engineer. Another goal is to automatically build a visual modelling envi- ronment out of the sketched fragments. It would also be interesting to provide automated support for DSML re- quirements expressed in natural language, in addition to sketches. The integration of different implementa- tion meta-models compiled from the same neutral meta- model, e.g., to support different syntaxes for a DSML, is also future work. We plan to extend our meta-model validator to allow the testing of more complex prop- erties (e.g., meta-model invariants) using a dedicated high-level language, and provide our tool with extension mechanisms for defining new annotations, recommenda- tions and refactorings.
Show more

24 Read more

MD² Model-driven Mobile Development

MD² Model-driven Mobile Development

container components, integrating them as a new container element in MD² is a moderately challenging task. Apart from these tangible features, the issue of extendability & flexibility should be addressed on a more conceptual level. In order to use the MD² approach within a real-world, production-ready environment, means of integrating programmatic business logic into our app models are needed. This could be achieved by adding an expression syntax to the declarative MD² language. This expression syntax could range from an own, slick approach that allows simple arithmetic operations, up to a full-fledged solution of using a suitable existing language like Xbase or even Xtend, which already compiles to Java, and cross-compile it to Objective C. Apart from that, another level of flexibility would be given if a modeller could also integrate custom platform code with generated apps, e.g. to use new features that are not supported by MD² yet. The generation gap pattern is a common means for achieving extendability of generated code 3 . For MD², one could define a stable interface between generated code and user written extensions (in Java or Objective C). This, however, imposes the burdens of manually implementing and synchronizing duplicated logic for all platforms.
Show more

81 Read more

Integrating a Usability Model into Model-Driven Web Development Processes

Integrating a Usability Model into Model-Driven Web Development Processes

Abstract. Usability evaluations should start early in the Web development process and occur repeatedly throughout all stages to ensure the quality of the Web application, not just when the product is completed. This paper presents a Web Usability Model, which is aligned with the SQuaRE standard, to evaluate usability at several stages of a Web development process that follows a Model- Driven Development (MDD) approach. The Web Usability Model is generic and must be operationalized into a concrete MDD method by specifying the relationships between the usability attributes of the Usability Model and the modeling primitives of the specific Web development method. To illustrate the feasibility of the approach, we present a case study where the Usability Model has been applied in the evaluation of the models that are produced during the Web application development process.
Show more

14 Read more

Model Driven Development for Serious Games

Model Driven Development for Serious Games

To address this problem, the aim of my dissertation is to develop a framework based on model driven development techniques which allow the generation of serious games from models. Model Driven Development (MDD) is a methodology in software engineering, which consists of techniques for automated generation of software code from formal models. Domain-Specific Modeling Languages (DSMLs) are formal languages, which are explicitly designed for a specific domain to formalize the application structure, behavior and its requirements with models. In the case of my research the domain is serious gaming. The elements of the language will represent game-related functionality as well as didactical concepts. In MDD, applications are modeled at a higher abstraction level instead of writing code in a programming language. The generation of software from models is the main task of the so called transformation engine and generator. Consequently, all changes made to the software will be made by updating the model [Sc06].
Show more

13 Read more

Show all 10000 documents...