Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Size: px
Start display at page:

Download "Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development"

Transcription

1 Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Ahmet Demir Technische Universität München Department of Informatics Munich, Germany Abstract Model-Driven Development aims to leverage models to generate the specified software system. Two currently dominant approaches to Model-Driven Development are Model-Driven Architecture and Software Factories. The goal of this paper is to analyze the advantages, disadvantages and the applicability of these two approaches. A basis for the analysis provides a case study comparing Model- Driven Architecture and Software Factories. The comparison focuses on the development activities and challenges of both. The subsequent analysis covers their purposed modeling languages, expected benefits like higher productivity and higher efficiency, and the main objectives of both approaches. 1. Introduction Model-Driven Development (MDD) is a software engineering methodology with particular focus on models, automation and code generation. The difference to traditional software development is that MDD proposes to leverage models to generate the specified software system. Two currently dominant approaches to MDD are Model-Driven Architecture (MDA) [6] and Software Factories (SF) [4]. MDA, owned by the Object-Management Group (OMG) [8], proposes to apply the Unified-Modeling Language (UML) [10], also owned by the OMG. Due to aspects like platform independence and reusability, the software system is supposed to be modeled in three major steps, described further down. SF, as proposed by Microsoft, is an entire software development paradigm, which makes use of Domain- Specific Modeling (DSM) [3]. In this manner, SF and particularly its DSM part is the second considered MDD approach in the context of this paper. SF proposes to utilize Domain-Specific-Languages (DSLs) for modeling. In order to apply the two approaches, a web-based application named Bookstore Administration Center (BAC), an administration tool that shows, appends, edits or deletes books from a bookstore will be developed. The BAC is developed first applying MDA and then SF. Both variants are developed by on single person. The experiences made during the development phases are compared, analyzed and evaluated. It turns out that both approaches demonstrate strengths and weaknesses, but both are able to achieve the expected benefits. Important is that their intended purpose plays a decisive role in achieving the benefits. 2. Model-driven development Model-Driven Development (MDD) aims to leverage models for automatically generating applications with appropriate code generation techniques and templates. Models are already used to specify software systems, but unfortunately these models mostly serve only for the purpose of documentation and comprehending the system. Changing this fact by using these existent models to generate the application, software development can easily be automated. By automatic code generation, the quality of an application can be increased, due to the fact that code is produced according to a certain structure, scheme or rules. In this way the generated code will precisely match the models. Further on this road the evolution could lead to the fact that modeling languages replace the implementation languages, just like the way third-generation languages replaced the assembly languages through the introduction of compilers.

2 3. Model-Driven Architecture Impelled from the idea that models are vital and necessary to handle complexity in software development, Model-Driven Architecture (MDA) [6] specifies a process for creating models. 3.1 The Unified Modeling Language The Unified-Modeling Language (UML) [10] is the proposed modeling language for MDA. According to [9], UML s architecture is represented by a four layer hierarchy as shown in Figure 1. On the top of this hierarchy is the meta-metamodel layer (M3), also known as the Meta-Object Facility (MOF) [7] layer, followed by the metamodel layer (M2) representing the UML. The third layer is model layer (M1), where the actual modeling process takes place. The architectural hierarchy bottoms out at the data layer (M0), which contains the run-time instances of a model. system, continuing with the Platform Independent Model (PIM) encapsulating the entire software specification, apart from the any platform specific aspects, the modeling process finishes with the enhancement of the PIM to a Platform Specific Model (PSM). The PSM binds the software system to a specific platform. 3.3 Model transformation The focus at this point is on the last model transformation of MDA, which results in the application, expressed in a programming language. The result can also be in form of deployment descriptors or configuration files. The transformation can also be considered as mapping. Beyond the code generator, there is a need for rules describing the way how model-elements shall be mapped into code. Figure 2 illustrates the MDA process. The first transformation refers to the process where the PIM is transformed into a PSM. A PIM and a PSM can also be transformed into a more detailed version of itself. This is marked as refinement. The mapping into the desired programming language is called second transformation in Figure Software Factories Figure 1 - An example of UML s four-layer architecture [9] Furthermore, UML provides extension mechanisms (Stereotypes, Tagged Values and Constraints) to extend or specialize itself for specific purposes. A collection of Stereotypes, Tagged Values and Constraints is called a UML Profile. Profiles are necessary and needed in the context of MDA, because they facilitate code generation. 3.2 Basic concepts of MDA Platform independency is the primary goal of MDA. Particularly due to this aspect, the software system is supposed to be modeled in three major steps. Starting with the Computational Independent Model (CIM) to present a high-level overview of the software Microsoft introduces Software Factories (SF) [4] as a new software development paradigm. SF primarily focuses on Product Line Development, which copes with developing a set of similar but distinct products. In this context SF relies heavily on models and automation, which are basic concerns of MDD. This paper will focus on the MDD concerned aspects of SF. 4.1 Software Factory methodology Jack Greenfield and Keith Short define the methodology Software Factory [4] as followed: A Software Factory is a Software Product Line that configures extensible tools, processes, and content using a software factory template based in a software factory schema to automate the development and maintenance of variants of an archetypical product by adapting, assembling, and configuring framework based components. A Software Factory has two central elements, a Software Factory Schema and a Software Factory Template. A SF Schema defines, categorizes and summarizes the artifacts and assets required to build a

3 Figure 2 - MDA process software product line. It can be seen as a recipe listing ingredients, tools and the application process. A SF Template is based on the SF Schema and represents the implementation of the SF Schema that means that all defined assets and artifacts have to be built and made available. The implementation comprises among others developing DSLs. The SF Template can be seen as a bag of groceries containing the ingredients listed in the recipe (SF Schema). A core principle of the SF approach is to enable a high degree of reuse of existing assets and development of new reusable assets. The development of a specific member of a product family comprises reusing existing assets and developing variable assets for that specific member. The SF approach uses the concept of Domain-Specific Modeling (DSM), which utilizes Domain-Specific Languages (DSLs) for modeling. 5. Case study The architecture of a DSL is similar to UML s architecture, which is also represented by a four-layer hierarchy. The significant difference is that the metamodel layer (corresponding to UML s M2 layer) has to be defined, while UML s metamodel layer is already defined and can be extended by Profiles. The mapping of a DSL model into a programming language is conducted by an appropriate code generator, which must be designed and developed for a given DSL or at least be configurable to tailor its task to a specific domain. A DSL is mapped to a programming language, just as a programming language like Java is mapped into byte code. According to this analogy, the compiler would correspond to the code generator. The case study described in [2] comprises a product line with three similar but distinct web applications. 1. Bookstore Administration Center (BAC) - An administration tool that allows authorized users to show, edit, add or delete books from a bookstore. 2. Online Bookstore (OBS) - Users can browse and buy books and have them shipped. 3. Online Music Shop (OMS) - Users can browse, buy and download MP3 songs 4.2 Domain-specific modeling The purpose of DSM serves primarily for the creation of models for computation and secondarily for documentation. Models should be able to be processed by tools to generate source code out of them. DSM aims to bridge the gap between the problem domain and the solution domain by the means of abstraction. DSLs raise the level of abstraction by incorporating domain concepts. A DSL uses concepts and terms of the problem domain and provides specific graphical and textual notations to create models, thus it is very close to the problem domain. The more a DSL can be tailored to a specific domain or purpose the more efficient the DSL and the code generation will be. Figure 3 - Use case diagram for BAC The MDA approach will be applied by modeling the BAC. The SF approach will be applied by deriving a DSL according to the features of the entire product line. The expense of creating a DSL can only be compensated by using the DSL for modeling multiple

4 similar products. Therefore, the DSL is derived from, and created for a complete product line. In order to assure and demonstrate the SF methodology within this case study, the DSL is derived as assumed, but implemented including only the features of the BAC, since this is sufficient for the purpose of the comparison. The DSL can easily be extended to cover the entire product line. The functionality of the BAC is very simple and should be clear by the use case diagram in Figure MDA solution In order to apply the MDA approach, a MDA tool named ArcStyler [1] is utilized. ArcStyler provides several UML Profiles to develop software systems, amongst others a UML Profile for developing web applications. This Profile contains two stereotypes, one named Accessor and the other named Representer. The Accessor is used to model objects that are responsible for the graphical aspect of a web application, while the Representer is used for modeling objects that encapsulate behavior. The BAC is modeled with two Accessor objects for handling user requests and seven Representer objects for handling the graphical representation. Only the objects with the suffix Page do really display data. The others handle concerns like layout and menu. ArcStyler enables defining graphical elements (e.g. buttons, text fields, etc.) for a Representer object and mapping its class attributes to the graphical elements. Figure 4 illustrates the Class diagram of the BAC. The behavior of the application is still to be defined. This is realized by defining one Activity diagram for each Accessor class. Figure 5 shows the Activity diagram for the MainAccessor. The entire behavior of the application is encapsulated in the MainAccessor. Merely the authentication procedure is handled by the LoginAccessor. All states in Figure 5 are nested states within the base state application, which is active as long as the application is running. All states with the suffix View are mapped to the corresponding Representer object from the class diagram. For example, the application starts in the StartPageView state, which displays the StartPage object with its graphical elements. Within this state the user can select a book and request its details. That means that the transition to the DetailedPageView represents the response of the MainAccessor, sending the DetailedPage object, to the user. The transformation of the PIM into a PSM is determined by choosing the desired programming language and further not obvious for the ArcStyler user. In coherence with the utilized UML Profile, ArcStyler provides mapping rules for the built-in model interpreter to process the diagrams and generate the artifacts for the modeled application. For each Class from the class diagram is one Java file generated. Additionally for each Representer, a JSP file. After the generation process, the source code must be enhanced, which turns out to be a difficult task, because the generated source code is opaque and thus difficult to comprehend. Methods annotated in the diagrams as comments, are added to the LoginAccessor and the MainAccessor. 5.2 Software Factories solution Figure 4 Class diagram for BAC The SF approach assumes to create a Problem Domain Matrix (PDM) to show the highlevel features of the product line. A PDM lists all possible features of the products on the left and the product line members on the top (see Table 1). If a feature applies to a product, the according row and column will be marked with a x. In the

5 Producttype element further contains an element named Attribute for specifying its attributes (e.g. name, author, year, etc.). In this manner the DSL is build hierarchically. Furthermore, the DSL contains elements to display the data (e.g. Page, Button, Form, etc.), which actually appear as solution domain aspects, but in this case of problem domain they also represent problem domain aspects. The hierarchical structure is also applied for these elements, because the Page element contains Figure 5 - Activity Diagram for MainAccessor elements like Button, Textfield, Form, etc. The main functionality of web-applications is determined by processing user requests and sending responses to the users, particularly by manipulating data and providing the content for the graphical representation. Therefore the DSL includes a Controller element to capture this task, and a LoginController element to handle the authentication process. The Controller elements correspond to the Accessor objects in the MDA solution. The DSL additionally comprises associations between its elements, for example, a Page element needs to know what kind of data to display, therefore it can be associated with the Producttype or Store element. These connections can be more detailed by associating the elements within a Page (e.g. Textfield, Form, etc.) with the Attribute elements of a Producttype element. Although the amount of features that the DSL supports is fairly small, the DSL definition (metamodel) turned out to be complex, because the DSL is designed to model graphical, functional and data aspects. Developing a DSL is time-consuming and sophisticated. Highly skilled software engineers with problem domain experience should design DSLs. Once created, a DSL can be used by requirements engineers, by other domain experts and in general by people with less programming experience and even be understood and comprehended by the customer. next step, a Solution Domain Matrix (see Table 2) is derived from the PDM. Both have the same structure. The product features will be mapped to the solution domain, thus they become more detailed. The purpose of the matrices is to show commonalities and variabilities of the product line and to derive an appropriate DSL. In order to develop a DSL, a DSL tool named Generic Modeling Environment (GME) [5] is utilized. Among others, GME provides a meta-modeling language named MetaGME. It can be compared to OMG s MOF [7] and is used to develop the DSL. GME can then be used as an editor to apply the developed DSL Developing the DSL: The purpose of the DSL is to model web-applications like those mentioned above. The data that is processed by the applications plays a minor role in this case. The major role is assigned to the structure of such a web application. Thus, the problem domain can be set to web-applications and narrowed down to webapplications coping with one or two products (e.g. Books, MP3s, CDs). In this manner, the DSL contains elements for specifying the data objects, for example a Store element for modeling a Bookstore or a Music store. Since the elements of a store can be of different types, the DSL includes additionally an element named Producttype, for modeling Books, MP3s, etc. The

6 Table 1- Problem Domain Matrix Table 2 - Solution Domain Matrix BAC OMS OBS BAC OMS OBS Data Model Req. Data Model Store X X X store name (String) X X X Product X X X Product string attributes X X X Business Logic Rq. Business Logic Use cases X X X Use cases list all products X X X list all products X X X list product details X X X list product details X X X edit product X edit product X delete product X delete product X add product X add product X buy product X X buy product X X download product X download product X read online X read online X payment X X payment X X Authentication X X X Authentication Mapping login validation Registration X X Registration X X X registration validation X X User interface Req. User interface www pages JSP pages menu X X X menu (JSP fragment) X X X menu item X X X menu item (button) X X X transition element X X X transition element HTML link X X X HTML button X X X content element X X X content element header X X X static textfield X X X HTML table user input element X X X user input element editable textfield X X X HTML forms X X X Common style X X X Common style X X X Authentication login mask X X X Registration registration mask X X Applying the DSL: Figure 6 shows the DSLbased model of the BAC. Instead of describing the entire model, only the important elements will be addressed briefly. In order to model the data objects of the BAC, the Store element is used to specify a BookStore object and the Producttype element to specify a Book object. The attributes (e.g. author, title, price, etc.) of a book are modeled by using the Attribute element of the Book object. Furthermore, the BAC consists of several web pages with different content. For example the StartPage is modeled using a Page element. Since it displays all books of the bookstore, it is associated with the BookStore object. However, the DetailedPage object specifies the web page displaying the details of a previously selected book. In this case it requires an association to the Book object and the contained elements (e.g. Button, Form, Textfield) require additionally associations to the Attribute elements of the Book, particularly in order to specify which attributes of the book to display. The other Page objects (LoginPage, DetailedPage, etc.) are modeled analogously. Beside the web pages, two Controller objects are defined. The LoginController supports the Login process and the MainController handles all other user requests. All Page objects have to be associated with a

7 Controller object, because a Controller has to know which Page sends the request and which Page is to be sent to the user. A request can be started by an action object (Form, Button or ContentList). In order to know which Page to request, an action object has to be associated with the requested Page object, for example, the EditButton within the DetailedPage object is associated with the EditPage object, specifying that, this is the page to request by pushing this button. Figure 6 - DSL based BAC model Developing the code generator: The experiences made during the case study showed that it is necessary to consider the issue of code generation while creating the DSL. The development of the code generator seems to be a subsequent task to the development of the DSL. In fact they are closely related and constrained by the capabilities of the code generator to map model elements to code constructs. Thus, it is highly recommended to consider this task already during the development of the DSL, because it happened that the code generator required model information, which could not be retrieved due to a missing association in the metamodel of the DSL. Thus, the DSL metamodel had to be enhanced. GME provides a framework, the Builder Object Network, to develop code generators for MetaGMEbased modeling languages. This framework exposes the entire DSL model including its objects and associations as a set of Java objects. This set can then be used to generate appropriate code for each modeled object. Convenient methods to access the objects properties, attributes and associations allow to navigate within this set. The functionality of the code generator is basically separated into three components, the Invoker component, the Handler component and the Generator component. The Invoker component is composed of one single class providing the above mentioned set of Java objects. The Handler component contains classes for retrieving and gathering information from the objects, while the Generator component is composed of classes for generating source code. Each DSL element on the top level (e.g. Page, Controller, Store, Producttype) has an own Handler and Generator class. The Generator classes comprise predefined source code, which is enhanced with the information gathered by the Handler classes and then written in files. The data objects (Book, Bookstore) are mapped into simple Java classes. The Controller objects are mapped into Java Servlets and the Page objects are mapped into JSP pages. The MainController is build upon a if else structure, distinguishing on the requested page. The MainControllerHandler navigates through all associations the MainController holds with Page objects. In this way the Controller knows all pages that can be requested, and builds the if-else structure upon these associations. Before the MainController sends the requested page, it has to provide data for the requested Page object (JSP page). Therefore, the MainControllerHandler searches for associations, the current navigated Page object holds with a data object. For example, if there is an association between that Page and the Book object, the MainControllerGenerator produces a code fragment for passing the current selected Book object to the requested Page. In this manner an association between a Page and a data object is mapped into a code fragment for passing data. In order to show how a Page object and its associations are mapped into a JSP file, the generation of such a file will also be addressed briefly. A PageHandler analyzes a Page object and gathers information, for example about its associations. A Page can hold an association to a Book object, specifying that this page displays information about a

8 book and not about the store. Analogue to the mapping above, this association is also mapped into a code fragment, but this fragment is contained in the JSP file and has the purpose of retrieving the passed data from the MainController. Furthermore, the PageHandler gathers information about the contained elements (e.g. Textfield, ContentList, etc.) of a Page. These elements can also hold associations, for example to the Attribute elements of a Book object. These associations determine which element (e.g. TextField) within a Page displays which attribute of the retrieved Book object. All these information is passed to the PageGenerator, which produces the actual JSP file. Nevertheless it is also necessary to enhance parts of the generated source code afterwards due to the same reasons as in the case of MDA; methods have to be implemented manually. 6. Conclusion This paper illustrates the development of a software system applying two of the current dominant approaches to MDD. In the following the experiences made during the development phases will be analyzed, compared and evaluated. Though, both approaches were applied by one single developer, but the degree of reused knowledge from the first development was low, because the development of the MDA solution has not provided much knowledge for developing the DSL and the code generator. The MDA solution shows that productivity can be increased by applying the MDA approach. Certainly, the utilized tool plays an important role, but a better productivity can be achieved particularly due to the omission of the implementation phase. A disadvantage in this case is that the learning phase for the MDA tool is due to its complexity and individuality very timeconsuming. Nevertheless, the modelling process can be started immediately, since the modelling language (UML) is already provided, apart from the fact that specific UML Profiles are needed and not granted by the MDA tool. The SF solution shows that the SF methodology can increase productivity as well, basically for the same reason as in the case of MDA, the implementation part is omitted. But, before reaching this point, the expense for the SF approach is much higher, because the DSL has to be developed first, which is time-consuming and sophisticated, and requires expert knowledge about the problem and the solution domain. This fact delays the start of the modeling process. Once a DSL is created, a better efficiency can be achieved, because a DSL comprises domain concepts and thus it is closer to the problem domain. This fact facilitates involving business stake holders into the specification process to avoid misinterpretation and confusion. This is an advantage for DSLs, since the comprehension of UML models require UML experts. Quality and reliability of a software system can be improved as well in both approaches, particularly due to the reason that the generated code is less errorprone, because of its generation according to a scheme, rules or code-templates. Provided that the model interpreter works properly, the generated code is more reliable than handcrafted code that usually contains bugs, because a developer tends to make mistakes. Furthermore, the generated applications exactly meet their specification in form of models, since they are generated according to them. Certainly, MDA and SF apply similar methods and techniques for modeling and mapping, but they have distinct objectives. Due to the high expense of developing a DSL and a code generator, the SF approach is only recommendable for developing Product Lines, because this expense has to be compensated somehow. However, once a DSL and the code generator are developed, the costs for generating the product line members are very low due to their similarity. The overall costs of a product line development can then be distributed on the amount of all members, which makes the SF approach productive. Otherwise, for One-Off development, the SF approach would be expensive in terms of time, budget and resources. MDA on the contrary can be used for One- Off Development and Product Line development, since there is no additional expense to compensate. Product Line development with the MDA approach would even increase the regular expected degree of productivity, because the first model could be reused for the other product line members. Fact is that MDA is a pure MDD approach and focuses on platform independence, while SF is an entire software development methodology and focuses on product line development. UML as the standard modeling language for MDA is a general purpose language, which has to be specialized and constrained with Profiles to be appropriate for MDD. A DSL in contrary is supposed to be developed for a specific domain from beginning, without specializing and constraining afterwards, in this manner DSLs can be very efficient within that domain, but also very useless in other domains. On the whole, both approaches have their strengths and weaknesses; none of them is clearly in advance. Depending on the purpose they are applied for, they demonstrate different strengths and weaknesses. An appropriate problem domain, professional developers, a suitable tool and a precise idea of the intended

9 products or product family, can guarantee each approach s benefits. 7. References [1] Interactive Objects: ArcStyler 4.0, released 2003, [2] DEMIR, Ahmet: Comparison of UML 2.0 and DSLs in the context of MDD, Diploma Thesis, Technische Universität München, 2005 [3] DSM Forum, Homepage, www page: [4] Greenfield, Jack and Short, Keith: Software Factories. Wiley Publishing, ISBN [6] OMG: MDA Guide V1.0.1., document: omg/ Jishnu Mukerji, Joaquin Miller, 2003, [7] OMG: Meta Object Facility 1.4 (MOF), OMG Document: formal/ , www page: [8] OMG: Object Management Group, www page: [9] OMG: UML 2.0 Infrastructure Final Adopted Specification. OMG Adopted Specification, document: ptc/ ), [10] OMG: UML Unified Modeling Language, www page: [5] Vanderbilt University.: Generic Modeling Environment (GME) 4.0, released 2004, www page:

EasyWeb: A Software Engineering Environment for Developing Web Applications in.net

EasyWeb: A Software Engineering Environment for Developing Web Applications in.net EasyWeb: A Software Engineering Environment for Developing Web Applications in.net A M I R T A L A E I K H O E I Master of Science Thesis Stockholm, Sweden, 2007 ICT/ECS-2007-134 Master of Science Thesis

More information

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Model Driven Interoperability through Semantic Annotations using SoaML and ODM Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:

More information

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development *

Modeling Turnpike: a Model-Driven Framework for Domain-Specific Software Development * for Domain-Specific Software Development * Hiroshi Wada Advisor: Junichi Suzuki Department of Computer Science University of Massachusetts, Boston hiroshi_wada@otij.org and jxs@cs.umb.edu Abstract. This

More information

Developing in the MDA Object Management Group Page 1

Developing in the MDA Object Management Group Page 1 Developing in OMG s New -Driven Architecture Jon Siegel Director, Technology Transfer Object Management Group In this paper, we re going to describe the application development process supported by OMG

More information

Foundations of Model-Driven Software Engineering

Foundations of Model-Driven Software Engineering Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster (jku@zurich.ibm.com) Contents Introduction to Models and Modeling Concepts of Model-Driven Software

More information

All you need are models Anneke Kleppe, Klasse Objecten

All you need are models Anneke Kleppe, Klasse Objecten Model Driven Architecture All you need are models Anneke Kleppe, Klasse Objecten Contents Limited Vision on MDA Modeling Maturity Levels Models Model Driven Development Model Driven Architecture MDA in

More information

Building a Flexible Software Factory Using Partial Domain Specific Models

Building a Flexible Software Factory Using Partial Domain Specific Models Building a Flexible Software Factory Using Partial Domain Specific Models Jos Warmer 1, Anneke Kleppe 2 3 1 Ordina SI&D, The Netherlands Jos.Warmer@ordina.nl 2 University Twente, Netherlands a.kleppe@utwente.nl

More information

Model Driven Development Future or Failure of Software Development?

Model Driven Development Future or Failure of Software Development? Model Driven Development Future or Failure of Software Development? Ruben Picek, Vjeran Strahonja University of Zagreb, Faculty of Organization and Informatics, Varaždin ruben.picek@foi.hr, vjeran.strahonja@foi.hr

More information

TDDC88 Lab 2 Unified Modeling Language (UML)

TDDC88 Lab 2 Unified Modeling Language (UML) TDDC88 Lab 2 Unified Modeling Language (UML) Introduction What is UML? Unified Modeling Language (UML) is a collection of graphical notations, which are defined using a single meta-model. UML can be used

More information

Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann 08.11.2012

Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes. Nikolas Hofmann 08.11.2012 Model-Driven Development of a Biosignal Analysis Framework: Benefits and Impacts on Processes Nikolas Hofmann Introduction Biosignal analysis has versatile applications in medicine Mobile devices allow

More information

Toward Families of QVT DSL and Tool

Toward Families of QVT DSL and Tool Toward Families of QVT DSL and Tool Benoît Langlois, Daniel Exertier, Ghanshyamsinh Devda Thales Research & Technology RD 128 91767 Palaiseau, France {benoit.langlois, daniel.exertier, ghanshyamsinh.devda}@thalesgroup.com

More information

Model-driven secure system development framework

Model-driven secure system development framework SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 43 52 P. Model-driven secure system development framework Viesturs Kaugers, Uldis Sukovskis Riga Technical

More information

Model-Driven Development: A Metamodeling Foundation

Model-Driven Development: A Metamodeling Foundation Model-Driven Development: A Metamodeling Foundation Colin Atkinson University of Mannheim 68161 Mannheim, Germany atkinson@informatik.uni-mannheim.de Thomas Kühne Darmstadt University of Technology 64283

More information

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More

Taking Subversion to a Higher Level. Branching/Merging Support. Component Management Support. And More Taking Subversion to a Higher Level Branching/Merging Support Component Management Support And More About Impact CM Impact CM is a Service AddOn that facilitates software configuration management (CM)

More information

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems

Overview. Stakes. Context. Model-Based Development of Safety-Critical Systems 1 2 Model-Based Development of -Critical Systems Miguel A. de Miguel 5/6,, 2006 modeling Stakes 3 Context 4 To increase the industrial competitiveness in the domain of software systems To face the growing

More information

YouTrack MPS case study

YouTrack MPS case study YouTrack MPS case study A case study of JetBrains YouTrack use of MPS Valeria Adrianova, Maxim Mazin, Václav Pech What is YouTrack YouTrack is an innovative, web-based, keyboard-centric issue and project

More information

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools Jack Greenfield Keith Short WILEY Wiley Publishing, Inc. Preface Acknowledgments Foreword Parti Introduction to

More information

The leading platform for Model Driven Architecture (MDA) Content:

The leading platform for Model Driven Architecture (MDA) Content: The leading platform for Model Driven Architecture (MDA) Content: Models Made for Business... 2 ArcStyler Overview... 2 Main Benefits... 3 ArcStyler Editions... 4 ArcStyler Modules and Tool Architecture...

More information

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation Technical Brief April 2011 The National Consortium for Justice Information and Statistics Model-driven Development of NIEM Information Exchange Package Documentation By Andrew Owen and Scott Came Since

More information

Revel8or: Model Driven Capacity Planning Tool Suite

Revel8or: Model Driven Capacity Planning Tool Suite Revel8or: Model Driven Capacity Planning Tool Suite Liming Zhu 1,2, Yan Liu 1,2, Ngoc Bao Bui 1,2,Ian Gorton 3 1 Empirical Software Engineering Program, National ICT Australia Ltd. 2 School of Computer

More information

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT

WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT WHITE PAPER DATA GOVERNANCE ENTERPRISE MODEL MANAGEMENT CONTENTS 1. THE NEED FOR DATA GOVERNANCE... 2 2. DATA GOVERNANCE... 2 2.1. Definition... 2 2.2. Responsibilities... 3 3. ACTIVITIES... 6 4. THE

More information

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems http://www.sparxsystems.com. by Sparx Systems

MDA Overview OMG. Enterprise Architect UML 2 Case Tool by Sparx Systems http://www.sparxsystems.com. by Sparx Systems OMG MDA Overview by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page:1 Trademarks Object Management Group, OMG, CORBA, Model Driven Architecture, MDA, Unified Modeling Language, UML,

More information

Increasing Development Knowledge with EPFC

Increasing Development Knowledge with EPFC The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,

More information

Systems and software product line engineering with SysML, UML and the IBM Rational Rhapsody BigLever Gears Bridge.

Systems and software product line engineering with SysML, UML and the IBM Rational Rhapsody BigLever Gears Bridge. Global distributed development White paper July 2009 Systems and software product line engineering with SysML, UML and the IBM Rational Rhapsody BigLever Gears Bridge. Integrating MDD and SPL to effectively

More information

What is a metamodel: the OMG s metamodeling infrastructure

What is a metamodel: the OMG s metamodeling infrastructure Modeling and metamodeling in Model Driven Development Warsaw, May 14-15th 2009 Gonzalo Génova ggenova@inf.uc3m.es http://www.kr.inf.uc3m.es/ggenova/ Knowledge Reuse Group Universidad Carlos III de Madrid

More information

today 1,700 special programming languages used to communicate in over 700 application areas.

today 1,700 special programming languages used to communicate in over 700 application areas. today 1,700 special programming languages used to communicate in over 700 application areas. Computer Software Issues, an American Mathematical Association Prospectus, July 1965, quoted in P. J. Landin

More information

Requirements Management with Enterprise Architect

Requirements Management with Enterprise Architect An Introduction to Requirements Management with Enterprise Architect By Sparx Systems All material Sparx Systems 2010 version 1.3 www.sparxsystems.com Sparx Systems 2010 Page 1 Trademarks Object Management

More information

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics: Organization of DSLE part Domain Specific Language Engineering Tooling Eclipse plus EMF Xtext, Xtend, Xpand, QVTo and ATL Prof.dr. Mark van den Brand GLT 2010/11 Topics: Meta-modeling Model transformations

More information

Generating Aspect Code from UML Models

Generating Aspect Code from UML Models Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

Project VIDE Challenges of Executable Modelling of Business Applications

Project VIDE Challenges of Executable Modelling of Business Applications Project VIDE Challenges of Executable Modelling of Business Applications Radoslaw Adamus *, Grzegorz Falda *, Piotr Habela *, Krzysztof Kaczmarski #*, Krzysztof Stencel *+, Kazimierz Subieta * * Polish-Japanese

More information

CHAPTER 2 LITERATURE SURVEY

CHAPTER 2 LITERATURE SURVEY CHAPTER 2 LITERATURE SURVEY This chapter describes the survey of existing literature on multiple views. Later, it presents literature survey conducted on frameworks for tool comparison and stakeholder

More information

Roles in Software Development using Domain Specific Modelling Languages

Roles in Software Development using Domain Specific Modelling Languages Roles in Software Development using Domain Specific Modelling Languages Holger Krahn Bernhard Rumpe Steven Völkel Institute for Software Systems Engineering Technische Universität Braunschweig, Braunschweig,

More information

Clarifying a vision on certification of MDA tools

Clarifying a vision on certification of MDA tools SCIENTIFIC PAPERS, UNIVERSITY OF LATVIA, 2010. Vol. 757 COMPUTER SCIENCE AND INFORMATION TECHNOLOGIES 23 29 P. Clarifying a vision on certification of MDA tools Antons Cernickins Riga Technical University,

More information

The Impact of the Computational Independent Model for Enterprise Information System Development

The Impact of the Computational Independent Model for Enterprise Information System Development Volume No.8, December 200 The Impact of the Computational Independent Model for Enterprise Information System Development Yashwant Singh Jaypee University of IT, Waknaghat, Himachal Pradesh, INDIA Dr.

More information

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications Germán Harvey Alférez Salinas Department of Computer Information Systems, Mission College,

More information

CDC UNIFIED PROCESS PRACTICES GUIDE

CDC UNIFIED PROCESS PRACTICES GUIDE Purpose The purpose of this document is to provide guidance on the practice of Modeling and to describe the practice overview, requirements, best practices, activities, and key terms related to these requirements.

More information

From Business World to Software World: Deriving Class Diagrams from Business Process Models

From Business World to Software World: Deriving Class Diagrams from Business Process Models From Business World to Software World: Deriving Class Diagrams from Business Process Models WARARAT RUNGWORAWUT 1 AND TWITTIE SENIVONGSE 2 Department of Computer Engineering, Chulalongkorn University 254

More information

XFlash A Web Application Design Framework with Model-Driven Methodology

XFlash A Web Application Design Framework with Model-Driven Methodology International Journal of u- and e- Service, Science and Technology 47 XFlash A Web Application Design Framework with Model-Driven Methodology Ronnie Cheung Hong Kong Polytechnic University, Hong Kong SAR,

More information

Aplicando enfoque MDE a aplicaciones WEB-SOA

Aplicando enfoque MDE a aplicaciones WEB-SOA Aplicando enfoque MDE a aplicaciones WEB-SOA María Consuelo Franky lfranky@javeriana.edu.co Dpto. Ingeniería de Sistemas Universidad Javeriana Bogotá - 2010 http://sophia.javeriana.edu.co/~lfranky/ 1 Temario

More information

Lightweight Data Integration using the WebComposition Data Grid Service

Lightweight Data Integration using the WebComposition Data Grid Service Lightweight Data Integration using the WebComposition Data Grid Service Ralph Sommermeier 1, Andreas Heil 2, Martin Gaedke 1 1 Chemnitz University of Technology, Faculty of Computer Science, Distributed

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2008 Vol. 7, No. 8, November-December 2008 From The Business Motivation Model (BMM)

More information

METADATA-DRIVEN QLIKVIEW APPLICATIONS AND POWERFUL DATA INTEGRATION WITH QLIKVIEW EXPRESSOR

METADATA-DRIVEN QLIKVIEW APPLICATIONS AND POWERFUL DATA INTEGRATION WITH QLIKVIEW EXPRESSOR METADATA-DRIVEN QLIKVIEW APPLICATIONS AND POWERFUL DATA INTEGRATION WITH QLIKVIEW EXPRESSOR A QlikView Technical Brief Document March 2013 qlikview.com Introduction This technical brief highlights a subset

More information

Patterns & Techniques for Separating Business Logic in New SOA System Development. Iyad Jabri Intelliun Corporation CEO

Patterns & Techniques for Separating Business Logic in New SOA System Development. Iyad Jabri Intelliun Corporation CEO Patterns & Techniques for Separating Business Logic in New SOA System Development Iyad Jabri Intelliun Corporation CEO Building a Service Oriented Architecture with BPM & MDA October 16-19, 2006 Burlingame,

More information

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102 Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102 Interneer, Inc. Updated on 2/22/2012 Created by Erika Keresztyen Fahey 2 Workflow - A102 - Basic HelpDesk Ticketing System

More information

UML Profiling Comes of Age Realizing the Potential of Domain-Specific Modeling

UML Profiling Comes of Age Realizing the Potential of Domain-Specific Modeling UML Profiling Comes of Age Realizing the Potential of Domain-Specific Modeling PATHS TO DOMAIN-SPECIFIC MODELING... 1 UML PROFILING... 2 The Origin of the UML Profiling Specifications... 2 The Vision...

More information

Business Model Interoperability using Enterprise Model Integration

Business Model Interoperability using Enterprise Model Integration Business Model Interoperability using Enterprise Model Integration Harald KÜHN, Marion MURZEK, Franz BAYER BOC Information Systems GmbH, Rabensteig 2, 1010 Vienna, Austria Tel: +43 1 513 27 36 10, Fax:

More information

COCOVILA Compiler-Compiler for Visual Languages

COCOVILA Compiler-Compiler for Visual Languages LDTA 2005 Preliminary Version COCOVILA Compiler-Compiler for Visual Languages Pavel Grigorenko, Ando Saabas and Enn Tyugu 1 Institute of Cybernetics, Tallinn University of Technology Akadeemia tee 21 12618

More information

Software Development Kit

Software Development Kit Open EMS Suite by Nokia Software Development Kit Functional Overview Version 1.3 Nokia Siemens Networks 1 (21) Software Development Kit The information in this document is subject to change without notice

More information

2. Basic Relational Data Model

2. Basic Relational Data Model 2. Basic Relational Data Model 2.1 Introduction Basic concepts of information models, their realisation in databases comprising data objects and object relationships, and their management by DBMS s that

More information

Generating Web Applications from Process Models

Generating Web Applications from Process Models Generating Web Applications from Process Models Jan Schulz-Hofen, Silvan Golega Hasso-Plattner-Institute for Software Systems Engineering Prof.-Dr.-Helmert-Str. 2-3 D-14482 Potsdam, Germany {jan.schulz-hofen,

More information

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Tool Support for Software Variability Management and Product Derivation in Software Product Lines Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,

More information

Enterprise Application Deployment: Amodel driven approach

Enterprise Application Deployment: Amodel driven approach Enterprise Application Deployment: Amodel driven approach Peter Golibrzuch Lufthansa Technik AG peter.golibrzuch@lht.dlh.de Alexander Holbreich Lufthansa Systems AG alexander.holbreich@lhsystems.com Simon

More information

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process 1 2 3 What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process modeling, and for more generalized modeling purposes.

More information

ProGUM-Web: Tool Support for Model-Based Development of Web Applications

ProGUM-Web: Tool Support for Model-Based Development of Web Applications ProGUM-Web: Tool Support for Model-Based Development of Web Applications Marc Lohmann 1, Stefan Sauer 1, and Tim Schattkowsky 2 1 University of Paderborn, Computer Science, D 33095 Paderborn, Germany {mlohmann,sauer}@upb.de

More information

Model Driven and Service Oriented Enterprise Integration---The Method, Framework and Platform

Model Driven and Service Oriented Enterprise Integration---The Method, Framework and Platform Driven and Oriented Integration---The Method, Framework and Platform Shuangxi Huang, Yushun Fan Department of Automation, Tsinghua University, 100084 Beijing, P.R. China {huangsx, fanyus}@tsinghua.edu.cn

More information

A Software Development Platform for SOA

A Software Development Platform for SOA A Software Development Platform for SOA Peter Eeles Executive IT Architect Rational Brand Architect for UK, Ireland and South Africa peter.eeles@uk.ibm.com 2004 IBM Corporation Agenda IBM Software Group

More information

Asset Based Development

Asset Based Development IBM Software Group Asset Based Development Grant Larsen gjlarsen@us.ibm.com November 2003 Agenda Introduction Asset-based Development Process Standards Tooling Assets Getting Started Agenda Introduction

More information

By: Richard Li March 2003

By: Richard Li March 2003 !" $#%!&' )()*+ &,.-/ %0-1 32 By: Richard Li March 2003 Abstract The Red Hat Enterprise Content Management System (CMS) is an open source product that provides a full set of out-of-the-box content management

More information

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1

Open Source egovernment Reference Architecture Osera.modeldriven.org. Copyright 2006 Data Access Technologies, Inc. Slide 1 Open Source egovernment Reference Architecture Osera.modeldriven.org Slide 1 Caveat OsEra and the Semantic Core is work in progress, not a ready to use capability Slide 2 OsEra What we will cover OsEra

More information

Component-Oriented Engineering

Component-Oriented Engineering Component-Oriented Engineering... the dawn of a new era in embedded software development productivity Francis Bordeleau and Ross MacLeod Zeligsoft May 2008 Component-Oriented Engineering the dawn of a

More information

The value of modeling

The value of modeling The value of modeling Level: Introductory Gary Cernosek, Marketing Manager, IBM Rational Eric Naiburg, Group Market Manager Desktop Products, IBM Rational 15 Nov 2004 from The Rational Edge: This article

More information

Meta-Model specification V2 D602.012

Meta-Model specification V2 D602.012 PROPRIETARY RIGHTS STATEMENT THIS DOCUMENT CONTAINS INFORMATION, WHICH IS PROPRIETARY TO THE CRYSTAL CONSORTIUM. NEITHER THIS DOCUMENT NOR THE INFORMATION CONTAINED HEREIN SHALL BE USED, DUPLICATED OR

More information

WEB APPLICATION DEVELOPMENT EMPLOYING DOMAIN-SPECIFIC LANGUAGES

WEB APPLICATION DEVELOPMENT EMPLOYING DOMAIN-SPECIFIC LANGUAGES WEB APPLICATION DEVELOPMENT EMPLOYING DOMAIN-SPECIFIC LANGUAGES Martin Nussbaumer, Patrick Freudenstein, Martin Gaedke University of Karlsruhe, Institute of Telematics, IT-Management and Web Engineering

More information

Rapid Development of Modular Dynamic Web Sites using UML

Rapid Development of Modular Dynamic Web Sites using UML Rapid Development of Modular Dynamic Web Sites using UML Tim Schattkowsky 1, Marc Lohmann 2 1 Paderborn University, C-LAB, D-33102 Paderborn, Germany tim@c-lab.de 2 Paderborn University, Department of

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

Towards Collaborative Requirements Engineering Tool for ERP product customization

Towards Collaborative Requirements Engineering Tool for ERP product customization Towards Collaborative Requirements Engineering Tool for ERP product customization Boban Celebic, Ruth Breu, Michael Felderer, Florian Häser Institute of Computer Science, University of Innsbruck 6020 Innsbruck,

More information

Domain Driven Design and Model Driven Software Development

Domain Driven Design and Model Driven Software Development Domain Driven Design and Model Driven Software Development Karsten Klein, hybrid labs, January 2007 Version: 1.0 Introduction Eric Evans Book Domain Driven Design was first published end of 2003 [Evans2003].

More information

Building A Very Simple Web Site

Building A Very Simple Web Site Sitecore CMS 6.2 Building A Very Simple Web Site Rev 100601 Sitecore CMS 6. 2 Building A Very Simple Web Site A Self-Study Guide for Developers Table of Contents Chapter 1 Introduction... 3 Chapter 2 Building

More information

Next-generation model-driven development

Next-generation model-driven development Rational Software Architect December 2004 Next-generation model-driven development Gary Cernosek Market Manager IBM Software Group Page 2 Contents 2 Introduction 2 Motivation 3 Background of Rational modeling

More information

Research Topics 2009. MDD & PL 2009 Stefan Tilkov stefan.tilkov@innoq.com

Research Topics 2009. MDD & PL 2009 Stefan Tilkov stefan.tilkov@innoq.com Research Topics 2009 MDD & PL 2009 Stefan Tilkov stefan.tilkov@innoq.com About innoq Technology Consultancy Focus: Efficient software development & Service-oriented architecture Ratingen, Darmstadt, Munich,

More information

A Framework of Model-Driven Web Application Testing

A Framework of Model-Driven Web Application Testing A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China

More information

Bringing Business Objects into ETL Technology

Bringing Business Objects into ETL Technology Bringing Business Objects into ETL Technology Jing Shan Ryan Wisnesky Phay Lau Eugene Kawamoto Huong Morris Sriram Srinivasn Hui Liao 1. Northeastern University, jshan@ccs.neu.edu 2. Stanford University,

More information

Development of a Feature Modeling Tool using Microsoft DSL Tools.

Development of a Feature Modeling Tool using Microsoft DSL Tools. Development of a Feature Modeling Tool using Microsoft DSL Tools. GIRO Technical Report 2009-1.ver 1.0 (05/01/2009) Rubén Fernández, Miguel A. Laguna, Jesús Requejo, Nuria Serrano. Department of Computer

More information

ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS

ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS Lech MADEYSKI *, Michał STOCHMIAŁEK Abstract. Architectural design is about decisions which influence characteristics of arising system e.g. maintainability

More information

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA Enterprise Web 2.0 >>> FAST White Paper November 2006 Abstract Modern Rich Internet Applications for SOA have to cope with

More information

MDA and Analysis of Web Applications

MDA and Analysis of Web Applications MDA and Analysis of Web Applications Behzad Bordbar and Kyriakos Anastasakis School of Computer Science, University of Birmingham, Birmingham, B15 2TT, UK {B.Bordbar,K.Anastasakis}@cs.bham.ac.uk Abstract.

More information

Modeling of Distributed Systems with SOA & MDA

Modeling of Distributed Systems with SOA & MDA Modeling of Distributed Systems with SOA & MDA Haeng-Kon Kim Abstract Along with the boom of Web services and the thriving Model Driven Architecture (MDA), we must consider the growing significance and

More information

Accelerating Embedded Software Development with a Model Driven Architecture

Accelerating Embedded Software Development with a Model Driven Architecture Accelerating Embedded Software Development with a Model Driven Architecture Carolyn K. Duby Pathfinder Solutions September, 2003 2003 Pathfinder Solutions LLC www.pathfindersol.com Introduction Embedded

More information

Difference Between Model-Driven and Traditional Iterative Software Development

Difference Between Model-Driven and Traditional Iterative Software Development Process Implications of Model-Driven Software Development Author: Jorn Bettin Version 1.0 September 2004 Copyright 2003, 2004 SoftMetaWare Ltd. SoftMetaWare is a trademark of SoftMetaWare Ltd. All other

More information

Preparing for Automated Derivation of Products in a Software Product Line

Preparing for Automated Derivation of Products in a Software Product Line Preparing for Automated Derivation of Products in a Software Product Line John D. McGregor September 2005 TECHNICAL REPORT CMU/SEI-2005-TR-017 ESC-TR-2005-017 Pittsburgh, PA 15213-3890 Preparing for Automated

More information

New Web Application Development Tool and Its MDA-Based Support Methodology

New Web Application Development Tool and Its MDA-Based Support Methodology New Web Application Development Tool and Its MDA-Based Support Methodology V Yasuyuki Fujikawa V Takahide Matsutsuka (Manuscript received February 11, 2004) Web applications are ubiquitous on the Internet,

More information

Authoring Within a Content Management System. The Content Management Story

Authoring Within a Content Management System. The Content Management Story Authoring Within a Content Management System The Content Management Story Learning Goals Understand the roots of content management Define the concept of content Describe what a content management system

More information

MDE Adoption in Industry: Challenges and Success Criteria

MDE Adoption in Industry: Challenges and Success Criteria MDE Adoption in Industry: Challenges and Success Criteria Parastoo Mohagheghi 1, Miguel A. Fernandez 2, Juan A. Martell 2, Mathias Fritzsche 3 and Wasif Gilani 3 1 SINTEF, P.O.Box 124-Blindern, N-0314

More information

MDA Transformations Applied to Web Application Development 1

MDA Transformations Applied to Web Application Development 1 MDA Transformations Applied to Web Application Development 1 Santiago Meliá 1, Andreas Kraus 2, and Nora Koch 2, 3 1 Universidad de Alicante, Spain 2 Ludwig-Maximilians-Universität München, Germany 3 F.A.S.T

More information

Oracle Service Bus Examples and Tutorials

Oracle Service Bus Examples and Tutorials March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan

More information

1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book.

1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book. * ** Today s organization increasingly prompted to integrate their business processes and to automate the largest portion possible of them. A common term used to reflect the automation of these processes

More information

Modeling the User Interface of Web Applications with UML

Modeling the User Interface of Web Applications with UML Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de

More information

Tool Support for Model Checking of Web application designs *

Tool Support for Model Checking of Web application designs * Tool Support for Model Checking of Web application designs * Marco Brambilla 1, Jordi Cabot 2 and Nathalie Moreno 3 1 Dipartimento di Elettronica e Informazione, Politecnico di Milano Piazza L. Da Vinci,

More information

JavaFX Session Agenda

JavaFX Session Agenda JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user

More information

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer Generate Results. Real Models. Real Code. Real Fast. Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer Andreas Henriksson, Ericsson andreas.henriksson@ericsson.com

More information

Web Presentation Layer Architecture

Web Presentation Layer Architecture Chapter 4 Web Presentation Layer Architecture In this chapter we provide a discussion of important current approaches to web interface programming based on the Model 2 architecture [59]. From the results

More information

Model Driven Development of Inventory Tracking System*

Model Driven Development of Inventory Tracking System* Model Driven Development of Inventory Tracking System* Gan Deng, Tao Lu, Emre Turkay Andrey Nechypurenko Aniruddha Gokhale, Douglas Schmidt ISIS, Vanderbilt University Siemens Nashville, TN 37221 Germany

More information

Introduction to Generative Software Development

Introduction to Generative Software Development Introduction to Generative Software Development Krzysztof Czarnecki University of Waterloo czarnecki@acm.org www.generative-programming.org Goals What is to be achieved? Basic understanding of Generative

More information

Metamodels and Modeling Multiple Kinds of Information Systems

Metamodels and Modeling Multiple Kinds of Information Systems Metamodels and Modeling Multiple Kinds of Information Systems Randall M. Hauch Chief Architect presented at MDA, SOA and Web Services: Delivering the Integrated Enterprise Practice, not Promise MetaMatrix

More information

Tutorial: Building a Web Application with Struts

Tutorial: Building a Web Application with Struts Tutorial: Building a Web Application with Struts Tutorial: Building a Web Application with Struts This tutorial describes how OTN developers built a Web application for shop owners and customers of the

More information

Modelling of Enterprise Portals with Domain- Specific Language

Modelling of Enterprise Portals with Domain- Specific Language Master Thesis Software Engineering Thesis no: MSE-2012:98 August 2012 Modelling of Enterprise Portals with Domain- Specific Language Dominik Wasilewski School of Engineering Blekinge Institute of Technology

More information

Business Process Modeling and Standardization

Business Process Modeling and Standardization Business Modeling and Standardization Antoine Lonjon Chief Architect MEGA Content Introduction Business : One Word, Multiple Arenas of Application Criteria for a Business Modeling Standard State of the

More information

Jiří Šebek, Karel Richta. Department of Computer Science and Engineering. 121 35 Praha 2, Czech Republic {sebekji1,richta}@fel.cvut.

Jiří Šebek, Karel Richta. Department of Computer Science and Engineering. 121 35 Praha 2, Czech Republic {sebekji1,richta}@fel.cvut. Aspect-oriented User User Interface Interface Design Design for Android for Android Applications Applications 1 1 Jiří Šebek, Karel Richta Jiří Šebek, Karel Richta Department of Computer Science and Engineering

More information

MDA Game Design for Video Game Development by Genre

MDA Game Design for Video Game Development by Genre MDA Game Design for Video Game Development by Genre Vargas R. E. 1, Arellano G. G. 2, Beltrán H. D. 3, Zepeda L. Z. 4, Quintero R. R. 5, Vega L 6. Instituto Tecnológico de Culiacán Sinaloa, México {ing.rosavargas@gmail.com

More information