Model Driven Development Future or Failure of Software Development?

Size: px
Start display at page:

Download "Model Driven Development Future or Failure of Software Development?"

Transcription

1 Model Driven Development Future or Failure of Software Development? Ruben Picek, Vjeran Strahonja University of Zagreb, Faculty of Organization and Informatics, Varaždin Abstract. This article discusses some issues of the software development paradigm called Model Driven Development (MDD). Its basic idea is to move software development to a higher level of abstraction by using models as primary artifacts, and to transform models into the source code, with the aid of tools. Currently, there are several approaches to the realization of MDD paradigm which should bring a lot of benefits. However there are still problems to be solved, which will be discussed here. The authors are also going to analyze developers pros and cons, and give their own opinion about today's open question: Will MDD become a failure in trying to deal with software crisis, like the idea of CASE tools in 80's or will it become the future of software development? Keywords. MDD, MDD approaches, MDA, Software Factories, Software Development 1. Model Driven Development Paradigm In the last few years, software development has been faced with many challenges. Requirements of new and/or existing systems are growing, systems are complex and it is hard to build them on time and on budget. As an answer to these challenges, a wide spectrum of new approaches occurred, varying from buzzwords to comprehensive methodologies. One of the most prominent paradigms is Model Driven Development (MDD). MDD represents a set of approaches, theories and methodological frameworks for industrialized software development, based on the systematic use of models as primary artifacts throughout the software development cycle. It targets two roots of software crisis complexity and ability to change. First of all, let us start with definition of MDD paradigm? The basic idea of this paradigm is to move the development efforts from programming to the higher level of abstraction, by using models as primary artifacts and by transforming models into source code or other artifacts The ultimate objective is the automated development (fully or partly). According to [13], MDD is a style of software development where models are primary software artifacts. Other artifacts and code are generated from them, according to best practices In [7], MDD is defined as software engineering approach consisting of the application of models and model technology to raise the level of abstraction at which developers create and evolve software, with the goal of both simplifying and formalizing the various activities and tasks that comprise the software life cycle. According to [2], MDD refers to a set of approaches in which code is automatically or semi automatically generated from more abstract models, and which employs standard specification languages for describing those models and the transformations between them. These definitions make clear that the focus of the MDD is a shift from the programming to the modeling. Models are the key artifacts. Currently, models are mostly used as sketches that informally convey some aspects of a system or they can be used as blueprints to describe a detailed design that is then manually implemented [13]. Use of models as documentation and specification is valuable, but it requires strict discipline to ensure that models are kept up to date as implementation progresses. Time constraints mainly cause that the initial models are not updated during the design and implementation, and inaccurate models are harmful. In MDD, models are used not just as sketches or blueprints, but as primary artifacts from which efficient implementations are generated, transforming models into programming code or other artifacts characteristic to domain. As described above, MDD shifts the emphasis of application development away from the platform, enabling developers to design applications independent of the platform-level concerns. Platform is the province of developers with the platform specific expertise. Platform expertise is involved as late as possible, it means at transformations, rather than, being rediscovered many times during a project. Likewise, decisions about the implementation architecture are directly encoded in the transformation engine rather than documented as architectural decisions [13]. According to Selic [10], the essence of model driven development is about two things. One is abstraction, in terms of how we think about the problem and then how we specify our solutions. Second thing that often gets forgotten is the introduction of more and more automation into the software development, specifically by using computer based tools and integrated environments. MDD-style should enable automation to go much further. A software development project needs to produce many non-code artifacts; some of these are

2 completely or partially derivable from models. The following list gives some common examples of artifacts that are generated from models, but you can probably think of others [13]: Documentation: In organizations that follow a formal development approach, producing documentation takes a significant amount of development effort. Keeping documentation in line with the implementation is notoriously difficult. When using MDD, documentation is generated from models, ensuring consistency and making information available and navigable to developers. Test artifacts: It is possible to generate basic test harnesses, such as using JUnit, from the information contained in software models. If additional testspecific modeling is carried out, for example using the UML Profile for Testing, then complete test cases are generated. Build and deployment scripts: Using their expertise, infrastructure architects can create transformations to generate, build and deploy scripts. Other models: A system involves many interdependent models at different levels of abstraction (analysis, design, implementation), representing different parts of the system (UI, database, business logic, system administration), different concerns (security, performance, and resilience), or different tasks (testing, deployment modeling). To the certain extent, it is possible to generate one model from another, for example moving from an analysis model to a design model, or from an application model to a test model. Pattern application: Patterns capture best practice solutions to recurring problems. Patterns specify characteristics of model elements and relationships between those elements. Generally, a pattern comprises a model together with its implementation. Vice versa, pattern can be used as an element of the model. According to the above mentioned definitions, the heart of MDD paradigm makes: - models, - modeling and - model transformation. Modeling and models are the central point of contemporary software development. But, one fact related to models has to be emphasized. There is a big difference of what models represent and how there are used. Traditional models are just sketches, and blueprints for design. In order to be suitable for the MDD, models must satisfy additional criteria they must be machine readable. Machine-readability of models is a prerequisite for being able to generate artifacts. There are two types of transformations: model to model (M2M) and model to code (M2C). Automated model transformations are the key for realization of the MDD idea. 2. MDD pros and cons In this part of the article, the benefits of MDD will be discussed, as well as the problems which arise in their realization Benefits of the MDD According to [13], [12], MDD has the potential to greatly improve current practices in software development. This potential manifests in overcoming the current challenges reducing the cost of development and increasing the consistency and quality of software. Some advantages of an MDD paradigm are [13], [12]: Increased developer productivity: The aim is the speed-up and cost reduction of the software development, by generating code and artifacts from models. Very important activities are factoring the cost of developing (or buying) transformations and careful planning. Maintainability: Many legacy software applications still run on platforms in which the organization no longer has expertise. MDD leads to a maintainable architecture where changes are made rapidly and consistently, enabling more efficient migration of components onto new technologies. High-level models are kept free of irrelevant implementation detail, making it easier to handle changes in the underlying platform technology and its technical architecture. Ideally, the change of the technical architecture means the new transformation. The transformation is reapplied to the original models to produce implementation artifacts for the new platform. Reuse of legacy: If somewhere are many components implemented on the same legacy platform, reverse transformations from the components to UML is needed. A solution may be a migration of components to the new platform, wrappers for access to the legacy component and integration of technologies such as Web services. Adaptability: Adding or modifying a business function is straightforward since the investment in automation was already made. When adding the new business function, you only develop the behavior specific to that capability. The remaining information needed to generate implementation artifacts was captured in transformations. Consistency: Manual application of coding practices and architectural decisions is error prone. MDD ensures that artifacts are generated consistently. Repeatability: MDD is especially powerful when applied at a program or organization level; the return on investment from developing the transformations increases each time they are reused. Use of proofed and tested transformations also increases the predictability of developing new functions, and reduces risk because architectural and technical issues were already resolved.

3 Improved stakeholder communication: Models omit implementation details that are not relevant to understand the logical behavior of a system. They are much closer to the problem domain and reduce the semantic gap between the concepts understandable by stakeholders and the language in which the solution is expressed. It facilitates the delivery of solutions that are better aligned to business objectives. Improved design communication: Models help understanding of the systems at the design level and improve discussion and communication about the system. Because models are part of the system definition rather than documentation, they are reliable and up to date. Capture of domain knowledge: Projects or organizations often depend on key experts who repeatedly make best practice decisions. Their expertise is captured in patterns and transformations, so they don't need to be present for other members of a project. If sufficient documentation accompanies the transformations, the knowledge of an organization is maintained in the patterns and transformations even when experts leave. Models as long-term assets: Models are important assets that capture of what the information system of an organization is and does. High-level models are resilient to changes at the state-of-the-art platform level. They change only when the business requirements change. Ability to delay technology decisions: Early phases of an application development are focused on logical issues. You can delay the choice of a specific technology platform or product until the further information is available. In domains with extremely long development cycles (such as air traffic control systems), this is crucial. The target platforms may not even exist when development finishes Current problems The primary goal in MDD paradigm is to raise the level of abstraction at which developers operate. It should reduce both the amount of developer's efforts and the complexity of the software artifacts that the developers use [7], [6]. Of course, there is always a trade-off between simplification by raising the level of abstraction and oversimplification, where details for any useful transformation are missing. As you can assume, problems are bound to model abstractions at different stages of the software life cycle. The open issue is how to transform a model at one level of abstraction, into a model or code at a lower level? In trying to answer this question, new ones arise. How to use models? Some developers use models only for sketching, others for blueprinting while MDD community presumed models as programming language. Which notation and modeling language should be used in order to provide automation? The standardization of modeling notations is unquestionably an important step for achieving MDD. Standardization provides developers with uniform modeling notations for a wide range of modeling activities. In SW industry today, the Unified Modeling Language (UML) is a standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems. The UML represents a collection of best engineering practices which have been proven in the modeling of large and complex systems. Although UML is widely recognized and used as modeling standard, it provoked a lot of criticism. Here are some of our critic opinions: - To be able to address so many needs, UML 2.0 becomes enormous, ambiguous and unwieldy. It contains some diagrams and constructs that are redundant or infrequently used. - UML 2.0 lacks a reference implementation and a human-readable semantic account to provide an operational semantics, so it's difficult to interpret and correctly implement UML model transformation tools. - The lack of semantics precision makes the production of automated MDD tools difficult because the semantics carries the meaning that is essential to enable automation. - Problems in learning and adopting. Is UML suitable as model programming language? The notion of UML 2.0 as a model programming language is predicated on the belief that the use of higher levels of abstraction will make developers more productive than current programming languages. Fowler [4], discusses whether this opinion is true. He doesn't believe that graphical programming will succeed just because it is graphical. Indeed he has seen several graphical programming environments that failed - primarily because it was slower to use them than writing code. (Compare coding an algorithm to drawing a flow chart for it.). Even if UML is more productive than programming languages, it will take the time to become accepted. Most of the people for many reasons are not using programming language they consider to be the most productive. Furthermore Greenfield et al. [5] argue that although UML 2.0 is a useful modeling language, it is not an appropriate language for MDD, because UML is designed for documenting and not for programming. They promote use of special-purpose, domain-specific languages (DSLs). Clearly, UML or any other MDD language faces significant hurdles to demonstrate sufficient value to satisfy the needs of all the different kinds of MDD users. According to [7], MDD creates other problems, like: redundancy, rampant round-trip problems, moving complexity rather than reducing it and more expertise that is required.

4 3. MDD approaches Two leading realizations of MDD paradigm are: The Object Managements Group (OMG) approach called Model Driven Architecture (MDA) and Microsoft's Software Factories (SF). Basic ideas of these approaches will be briefly presented below in this paper. According to [7] it is too early to predict which, if any, of the current MDD approaches will be accepted as an industrial standard Model Driven Architecture (MDA) MDA represents one view of MDD paradigm. It is not a new OMG specification, but an approach to software development which is enabled by existing OMG specifications, such as UML, MOF and CWM, with ability to address the complete development lifecycle. Model Driven Architecture is an approach that separates system's desired functions from their implementation on the specific technology platform. The result is an architecture that is not tied to any language, platform, or vendor [8]. MDA provides an approach for [1]: - specifying a system independently of the platform that supports it - specifying platforms - choosing a particular platform for the system - transforming the system specification into one particular platform Principles and Benefits of MDA Brown [3] highlights four principles underlying the OMG's view of MDA: - Models expressed in a well-defined notation are a cornerstone for enterprise-scale solutions. - The building of systems can be organized around a set of models by imposing a series of transformations between models, organized into an architectural framework of layers and transformations. - A formal underpinning for describing models is a set of metamodels, which facilitates meaningful integration and transformation among models, and is the basis for automation through tools. - Acceptance and broad adoption of the modelbased approach requires industry standards to provide openness to consumers, and foster competition among vendors. The three primary benefits of MDA are portability, interoperability and reusability through architectural separation of concerns [1], [12]. Further benefits are [8]: productivity, quality, rapid inclusion of new technology, reduced cost and development time Basic MDA Concepts Concepts that make the core of MDA are [1]: System - The context of MDA is the software system, either existing or under construction. Model A model is a formal specification of the function, structure and behavior of the system within a given context, and from a specific point of view. A model is often represented by the combination of drawings and text, typically using a formal notation such as UML, augmented with natural language expressions where appropriate. Model driven This term describes an approach to software development whereby models are used as the primary source for documenting, analyzing, designing, constructing, deploying and maintaining a system. Architecture - The architecture of a system is a specification of parts and connectors of the system, together with rules for the interaction among them. Within the context of MDA, these parts, connectors and rules are expressed via a set of interrelated models. Viewpoint - A viewpoint is an abstraction technique for focusing on a particular set of concerns within a system while suppressing all irrelevant details. A viewpoint can be represented via one or more models. MDA viewpoints - MDA specifies three default viewpoints of the system: computation independent, platform independent and platform specific: The computation independent viewpoint focuses on the context and requirements of the system without consideration for its structure or processing. The platform independent viewpoint focuses on the operational capabilities of the system, outside the context of a specific platform, by showing only those parts of the complete specification that can be abstracted out of that platform. The platform specific viewpoint augments a platform independent viewpoint with details relating to the use of a specific platform. Platform - A platform is a set of subsystems and technologies that provide a coherent set of functionality through interfaces and usage patterns. Clients of a platform make use of it without concern for its implementation details. Examples of platforms include operating systems, programming languages, databases, user interfaces, middleware solutions etc. Platform independence - Platform independence is a quality that a model may exhibit when it is expressed independently of the features of another platform. Independence is a relative indicator in terms of measuring the degree of abstraction, which separates one platform from another (i.e. where one platform is either more or less abstract compared to the other). Platform Model - A platform model describes a set of technical concepts representing its constituent elements and the services it provides. It also specifies constraints on the use of these elements and services by other parts of the system. Model Transformation - Model transformation is the process of converting one model to another within the same system. The transformation combines the

5 platform independent model with additional information to produce a platform specific model. Implementation - An implementation is a specification that provides all the information required to construct a system and to put it into operation. It must provide all of the information needed to create an object, and to allow the object to participate in providing an appropriate set of services as part of the system MDA Models Corresponding to the three MDA viewpoints defined above, MDA specifies three default models of the system. These models can perhaps be described more precisely as layers of abstraction, because a set of models can be constructed within any of these three layers, each one corresponding to some viewpoint of the system. Computation Independent Model CIM) is a model of the system from the computation independent viewpoint. CIM is also often referred to as a business or domain model because it uses a vocabulary that is familiar to the subject matter experts (SMEs). It presents exactly what the system is expected to do, but hides all information technology related specifications to remain independent of how that system will be (or currently is) implemented. CIM plays an important role in bridging the gap between domain experts, users and designers. Platform Independent Model (PIM) is a model of the system from the platform independent viewpoint. A PIM should exhibit a sufficient degree of independence to enable its mapping to one or more platforms. This is commonly achieved by defining a set of services in a way that abstracts out technical details. Platform Specific Model (PSM) is a model of a system from the platform dependent viewpoint. A PSM combines the specifications in the PIM with the details required to stipulate how a system uses a particular type of platform. If the PSM does not include all of the details necessary to produce an implementation of that platform, it is considered abstract (meaning that it relies on other explicit or implicit models which do contain the necessary details) Model Transformations Form a key part of MDA. The real value of MDA lies in the fact that the CIM can be translated to a PIM by a simple mapping. Likewise, the PIM can be translated to a PSM (by a mapping), and the PSM can be translated to code. The key elements are the mappings and the MDA tool or tools that do the translation [8]. Figure 1. shows how the different models are connected to each other. CIM is in the upper part of the image where everything starts. CIM is translated to PIM and the architect or designer creates the rest of the model. Finally, PIM is translated to one or more PSMs. Before the translation, the models need to be marked for the translation tool. Figure 1. MDA models are connected using model mappings According to [9], there are two different interpretations of how the MDA vision might be achieved. These two schools are called the elaborationist and the translationist. In the elaborationist approach once the PIM is created, the tool generates a skeleton of PSM. The developer then elaborates it by adding further detail. Similarly, the tool generates the final code from PSM, and this should also be further elaborated. In the translationist approach, PIM is translated directly into the final code of the system by code generation Software Factories (SF) Software Factory (SF) combines the MDD approach with the idea of industrial software development. SF is a software product line that configures extensible tools (like Microsoft Visual Studio Team System - VSTS), processes, and content by using a software factory template based on a software factory schema, to automate the development and maintenance of variants of an archetypical product by adapting, assembling, and configuring framework based components [5]. A key characteristic of a software factory is that architects and developers can customize, extend, and adjust it to address the unique needs of a project team or an organization. A software factory comprises three central elements: - software factory schema - software factory template - extensible development environment. Software factory schema enables categorizing and summarizing of development artifacts. According to [6], we can imagine the software factory schema as a recipe. It lists ingredients, like projects, source code directories, SQL files and configuration files, and explains how they should be combined to create the product. It specifies which DSLs should be used and describes how models based on these DSLs can be transformed into code and other artifacts, or into other models. It describes the product line architecture, and key relationships between components and

6 frameworks of which it is comprised. So, the software factory schema describes the artifacts that must be developed to produce a software product. Software factory template in a software factory schema describes necessary but still missing assets at the project. We must implement the software factory schema, defining the DSL's, patterns, frameworks, samples, scripts and so on, and make them available to software developers. According to [6] software factory template is like a bag of groceries containing the ingredients listed in the recipe. Extensible development environment, also called Integrated Development Environment (IDE), defines the place where the assets of software factory template can be loaded. According to [6], IDE is like the kitchen where the meal is cooked. When configured with the software factory template, IDE becomes a software factory for the family of products. This analogy can go further, the products are like meals served by a restaurant. Software factory stakeholders are like customers who order meals from the menu. A product specification is like a specific meal order. The product developers are like cooks who prepare the meals described by the orders, and who may modify meal definitions, or prepare meals outside the menu. The product line developers are like chefs who decide what will appear on the menu, and what ingredients, processes, and kitchen equipment will be used to prepare them. Software factory are based on the convergence of key ideas in systematic reuse, development by assembly, model driven development and process frameworks. Many of those ideas are not new. What is new is their synthesis into integrated and increasingly automated approach [5]. Software factory represents an attempt to learn from other industries facing similar problems, and apply patterns of automation to existing manual development tasks [6]. The author's opinion is that the SF vision will be realized over the next few years in the form of software development environments. 4. Critical Overview of MDD MDD is not the first attempt to solve the problems which arise during the software development cycle. It is well known that during the 1980s Computer Aided Software Engineering (CASE) was promised panacea for solving world's software development problems [7]. Traditional CASE tools based on the structural methodologies failed [5]. So, the logical questions are: What is different now? Is the model-driven development likely to gain widespread adoption as a future way of developing software? Will it make building software faster, better, and cheaper? Or, will MDD have the same ignoble end like CASE? Danner [10] says that this might be déjà vu all over again. He claims that the models are too difficult to create and maintain and resulting code requires extensive modifications to work properly. Or maybe it is just that the culture isn't ready for the paradigm shift. Other open issues are: Will this new technology require special skills that still don't exist in the SW industry? Will developers treat models as a new kind of development language, or the model-driven development will be limited to some closed community of willing and able to master it? Will these models be first-class artifacts throughout the entire life-cycle of an application, or the fancy code generators all will be abandoned as soon as the developers start tweaking the code directly? Some authors [7] believe that MDD has a chance to succeed in today's software industry, but still it is far from a sure bet. They base their opinion on the fact that the use of UML-based tools is growing, many standards are defined and technology has involve since CASE era. Greenfield [10], one of the authors of SF, thinks that the pragmatism is the primary factor that will determine the success or failure of model-driven development in the industry. There is a strong contrast in terms of pragmatism between the two leading approaches, SF and MDA. With MDA, you have two levels of model, the platform-independent model (PIM) and the platform-specific model (PSM) They are based on UML, which is a general-purpose modeling language, and they are related by transformation, since PSMs are generated from PIMs. With SF, by contrast, you have an arbitrary number of viewpoints such as user interaction, business work-flow, or logical database design etc. In fact, you can define as many viewpoints as necessary to describe the business requirements in the software under development. Each viewpoint is potentially based on a DSL but is tailor-made to address a set of unique concerns for that viewpoint. What is, from his perspective different as compared with the CASE tools era? He thinks it is precisely the pragmatic bottom-up approach which is taken with SF. Unlike MDA, which optimistically assumes like CASE did that most or all of the software can be generated from models, SF blend modeling with other software development practices to meet the needs of developers in the real world [10]. Kelly [10], a modeling tool developer, says that CASE tools failed because they tried to impose three things on the users, a way of working, a way of modeling, and a way of coding. He claims that perhaps the worst of all the problems is the gap between the generated and the handwritten code. Because the vendors should make one tool work for as many people as possible, the generated code can't be tuned to the specific needs of all users. To generate full production code from models, you need both the modeling language and the code generator to be domain specific. The big question then is what's the cost of building your own modeling language, modeling tools to support it and your own code generator? For a long time that cost was measurable

7 in tens of man years, way to high to make domainspecific modeling practicable for all but the largest projects. However, now there are tools that make building such support much faster. Selic [10] doesn't believe that CASE actually failed. He thinks that CASE tools were simply an early step in the right direction towards more automation and higher levels of development. So he is quite an optimist when it comes to the future of model driven development. He says that something is standing in the way and perhaps the biggest impediment is cultural change that is prerequisite of the shift of paradigm. Almost all of the vendors admitted the MDD's goals of seamless interoperability of model transformations haven't been fully realized [11]. This is partly due to standards that leave specific implementation details up to commercial vendors who must release their products into market to fund product development as the standards evolve. As the standards are put into real-world practice, additional needs and limitations are identified, and extensions or whole new categories are added to the standards family to address those concerns. Even as these standards continue to evolve, the consolidation and disappearance of some offerings have prompted cynical software industry pundits to conclude that MDD is CASE 2.0 [11]. 5. Conclusion The modest intent of MDD is to improve software quality, reduce complexity, and improve reuse by enabling developers to work at reasonably higher levels of abstraction and to ignore unnecessary details. In practice, however, MDD raises a number of significant issues which have been discussed in the article. MDD is still evolving so it is too early to talk about failure or success of MDD. Significant ideas for improvements are present, some of them are realized and some are currently immature and need to be solved in the near future. So it is too early to answer the question: is MDD failure or future of software development? [5] Greenfield, J., Short, K., Cook, S., Kent, S.: Software Factories - Assembling Application with Patterns, Models, Frameworks and Tools, Wiley Publishing, [6] Greenfield, J., Short, K.: Moving to Software Factories, 2004., /20/ aspx, ( ) [7] Hailpern, B., Tarr, P.: Model-driven development: The good, the bad, and the ugly, IBM System Yournal, Vol 45, No , p , sj/453/hailpern.html, ( ) [8] Kontio, M.: Architectural manifesto: MDA for the entrprise, 2005., < 128.ibm.com/developerworks/library/wiarch16/>, ( ) [9] M.: Mc Neile: The Vision with the Hole?, Metamaxim, 2003., com/download/documents/mdav1.pdf, ( ) [10] Pierson, H.: ARCast #5, msdn.com/ Showpost.aspx?postid=132943, ( ) [11] Riley, M.: A Special Guide-MDA and UML Tools: CASE 2.0 or the Developer's Dream, 2006., architect/ , ( ) [12] Swithinbank, P., Chessell, M., Gardner, T., Griffin, C., Man, J., Wylie, H., Yusuf, L.: Patterns: Model-Driven Development Using IBM Rational Software Architect, IBM Redbooks, [13] Yusuf, L., Chessel, M., Gardner,T.: Implement model-driven development to increase the business value of your IT system, ibm.com/developerworks/library/ar-mdd1/, ( ) 6. References [1] *** MDA Guide Verison 1.0.1, OMG, [2] Brown, A. W., Iyengar, S., Johnston, S.: A Rational approach to model-driven development, IBM System Yournal, Vol 45, No , p , /sj/453/brown.html, ( ) [3] Brown, A: An introduction to Model Driven Architecture Part I, 2004., ibm.com/developerworks/rational/library/310 0.html ( ) [4] Fowler, M.: UML As Programming Language, glanguage.html, ( )

Suitability of Modern Software Development Methodologies for Model Driven Development

Suitability of Modern Software Development Methodologies for Model Driven Development JIOS, VOL. 33, NO. 2 (2009) SUBMITTED 04/09; ACCEPTED 10/09 UDC 004.413 Preliminary Communication Article Suitability of Modern Software Development Methodologies for Model Driven Development Ruben Picek

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

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

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development 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 AhmetDemir@gmx.de

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

The Fast Guide to Model Driven Architecture

The Fast Guide to Model Driven Architecture WHITEPAPER The Fast Guide to Model Driven Architecture The Basics of Model Driven Architecture By Frank Truyen frank.truyen@cephas.cc The Fast Guide to Model Driven Architecture The Basics of Model Driven

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

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

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

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

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

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

Patterns: Model-Driven Development Using IBM Rational Software Architect

Patterns: Model-Driven Development Using IBM Rational Software Architect Front cover Patterns: Model-Driven Development Using IBM Rational Software Architect Learn how to automate pattern-driven development Build a model-driven development framework Follow a service-oriented

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

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

Amit Sheth & Ajith Ranabahu, 2010. Presented by Mohammad Hossein Danesh

Amit Sheth & Ajith Ranabahu, 2010. Presented by Mohammad Hossein Danesh Amit Sheth & Ajith Ranabahu, 2010 Presented by Mohammad Hossein Danesh 1 Agenda Introduction to Cloud Computing Research Motivation Semantic Modeling Can Help Use of DSLs Solution Conclusion 2 3 Motivation

More information

SOA: The missing link between Enterprise Architecture and Solution Architecture

SOA: The missing link between Enterprise Architecture and Solution Architecture SOA: The missing link between Enterprise Architecture and Solution Architecture Jaidip Banerjee and Sohel Aziz Enterprise Architecture (EA) is increasingly being acknowledged as the way to maximize existing

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

MDA Journal A BPT COLUMN. David S. Frankel. Introduction. May 2004

MDA Journal A BPT COLUMN. David S. Frankel. Introduction. May 2004 Introduction MDA Journal May 2004 At the end of 2002, with the computer industry reeling amidst the near total shutdown in corporate IT spending, IBM was rather quietly continuing its long standing program

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

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

Course 4 27 October 2014. Adrian Iftene adiftene@info.uaic.ro

Course 4 27 October 2014. Adrian Iftene adiftene@info.uaic.ro Course 4 27 October 2014 Adrian Iftene adiftene@info.uaic.ro They will not be considered in the maximum values of the laboratory The presentation of the context and of these solutions in the course can

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

Model Based Software Development: Issues & Challenges

Model Based Software Development: Issues & Challenges N Md Jubair Basha 1, Salman Abdul Moiz 2 & Mohammed Rizwanullah 3 1&3 IT Department, Muffakham Jah College of Engineering & Technology, Hyderabad, India 2 IT Department, MVSR Engineering College, Hyderabad,

More information

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0

NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0 NASCIO EA Development Tool-Kit Solution Architecture Version 3.0 October 2004 TABLE OF CONTENTS SOLUTION ARCHITECTURE...1 Introduction...1 Benefits...3 Link to Implementation Planning...4 Definitions...5

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

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

Evaluating OO-CASE tools: OO research meets practice

Evaluating OO-CASE tools: OO research meets practice Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht

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

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

The Phios Whole Product Solution Methodology

The Phios Whole Product Solution Methodology Phios Corporation White Paper The Phios Whole Product Solution Methodology Norm Kashdan Phios Chief Technology Officer 2010 Phios Corporation Page 1 1 Introduction The senior staff at Phios has several

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

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

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

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

Model driven architecture: Principles and practice

Model driven architecture: Principles and practice Softw Syst Model (2004) 3: 314 327 / Digital Object Identifier (DOI) 10.1007/s10270-004-0061-2 Expert s voice Model driven architecture: Principles and practice Alan W. Brown IBM Software Group, 4205 S.

More information

Document Engineering: Analyzing and Designing the Semantics of Business Service Networks

Document Engineering: Analyzing and Designing the Semantics of Business Service Networks Document Engineering: Analyzing and Designing the Semantics of Business Service Networks Dr. Robert J. Glushko University of California Berkeley glushko@sims.berkeley.edu Tim McGrath Universal Business

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lectures 2 & 3: Software Development Lifecycle Models A O Riordan, 2015 Some diagrams from Sommerville, some notes from Maciaszek/Liong Lifecycle Model Software development

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

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction

Web Services - Consultant s View. From IT Stategy to IT Architecture. Agenda. Introduction Web Services - A Consultant s View From IT Stategy to IT Architecture Hans-Peter Hoidn, Timothy Jones, Jürg Baumann, Oliver Vogel February 12, 2003 Copyright IBM Corporation 2002 Agenda Introduction I.

More information

MDA Journal A BPT COLUMN. David S. Frankel. January 2004. Until February. David Frankel

MDA Journal A BPT COLUMN. David S. Frankel. January 2004. Until February. David Frankel MDA Journal MDA Journal January 2004 Over the past year, Microsoft has given indications that it takes model-driven approaches to software seriously. Statements emanated from the top of the company about

More information

The Value of Modeling

The Value of Modeling A technical discussion of software modeling June 2004 The Value of Modeling Gary Cernosek IBM Rational Software Design and Construction Products IBM Software Group Eric Naiburg IBM Rational Desktop Products

More information

CIM to PIM Transformation: A criteria Based Evaluation

CIM to PIM Transformation: A criteria Based Evaluation ISSN:2229-6093 CIM to PIM Transformation: A criteria Based Evaluation Abdelouahed KRIOUILE *, Taoufiq GADI, Youssef BALOUKI Univ Hassan 1, LAVETE Laboratory, 26000 Settat, Maroc * E-mail of the corresponding

More information

Contents. Introduction... 1

Contents. Introduction... 1 Managed SQL Server 2005 Deployments with CA ERwin Data Modeler and Microsoft Visual Studio Team Edition for Database Professionals Helping to Develop, Model, and Maintain Complex Database Architectures

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

Chap 1. Introduction to Software Architecture

Chap 1. Introduction to Software Architecture Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)

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

Polyglot Multi-Paradigm. Modeling. MDA in the Real World. Stefan Tilkov stefan.tilkov@innoq.com

Polyglot Multi-Paradigm. Modeling. MDA in the Real World. Stefan Tilkov stefan.tilkov@innoq.com Polyglot Multi-Paradigm Modeling MDA in the Real World Stefan Tilkov stefan.tilkov@innoq.com What I ll Talk About How I define MDA What a typical tool chain looks like Real-world examples How UML/MOD,

More information

Domain modeling: Leveraging the heart of RUP for straight through processing

Domain modeling: Leveraging the heart of RUP for straight through processing Copyright Rational Software 2003 http://www.therationaledge.com/content/jun_03/t_domainmodeling_rm.jsp Domain modeling: Leveraging the heart of RUP for straight through processing by Richard Menard Vice

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

Trends in Embedded Software Development in Europe. Dr. Dirk Muthig dirk.muthig@iese.fraunhofer.de

Trends in Embedded Software Development in Europe. Dr. Dirk Muthig dirk.muthig@iese.fraunhofer.de Trends in Embedded Software Development in Europe Dr. Dirk Muthig dirk.muthig@iese.fraunhofer.de Problems A software project exceeds the budget by 90% and the project time by 120% in average Project Management

More information

Basic Unified Process: A Process for Small and Agile Projects

Basic Unified Process: A Process for Small and Agile Projects Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.

More information

Rules and Business Rules

Rules and Business Rules OCEB White Paper on Business Rules, Decisions, and PRR Version 1.1, December 2008 Paul Vincent, co-chair OMG PRR FTF TIBCO Software Abstract The Object Management Group s work on standards for business

More information

UML SUPPORTED SOFTWARE DESIGN

UML SUPPORTED SOFTWARE DESIGN UML SUPPORTED SOFTWARE DESIGN Darko Gvozdanović, Saša Dešić, Darko Huljenić Ericsson Nikola Tesla d.d., Krapinska 45, HR-0000 Zagreb, Croatia, tel.: +385 365 3889, faks: +385 365 3548, e-mail: darko.gvozdanovic@etk.ericsson.se

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

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS

SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS SERVICE-ORIENTED MODELING FRAMEWORK (SOMF ) VERSION 2.1 SERVICE-ORIENTED SOFTWARE ARCHITECTURE MODEL LANGUAGE SPECIFICATIONS 1 TABLE OF CONTENTS INTRODUCTION... 3 About The Service-Oriented Modeling Framework

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

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective Orit Hazzan's Column Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective This column is coauthored with Jeff Kramer, Department of Computing, Imperial College, London ABSTRACT

More information

Business Modeling with UML

Business Modeling with UML Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their

More information

APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT

APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT AIMAN TURANI Associate Prof., Faculty of computer science and Engineering, TAIBAH University, Medina, KSA E-mail: aimanturani@hotmail.com ABSTRACT

More information

Data Modeling Basics

Data Modeling Basics Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy

More information

Analysis of Cloud Solutions for Asset Management

Analysis of Cloud Solutions for Asset Management ICT Innovations 2010 Web Proceedings ISSN 1857-7288 345 Analysis of Cloud Solutions for Asset Management Goran Kolevski, Marjan Gusev Institute of Informatics, Faculty of Natural Sciences and Mathematics,

More information

Improving Software Development Economics Part II: Reducing Software Product Complexity and Improving Software Processes

Improving Software Development Economics Part II: Reducing Software Product Complexity and Improving Software Processes Improving Software Development Economics Part II: Reducing Software Product Complexity and Improving Software Processes by Walker Royce Vice President and General Manager Strategic Services Rational Software

More information

Agile Modeling and Design of Service-Oriented Component Architecture

Agile Modeling and Design of Service-Oriented Component Architecture Agile Modeling and Design of Service-Oriented Component Architecture Zoran Stojanovic, Ajantha Dahanayake, Henk Sol Systems Engineering Group, Faculty of Technology, Policy and Management, Delft University

More information

Choosing the Right Architecture: What It Means for You and Your Business

Choosing the Right Architecture: What It Means for You and Your Business Choosing the Right Architecture: What It Means for You and Your Business Contents Flexible Architecture Management: Good for Business, Easier than Ever..... 2 Rikki Kirzner Model-driven and Pattern-based

More information

How Application Portfolio Management and Enterprise Architecture Add Up to IT Governance

How Application Portfolio Management and Enterprise Architecture Add Up to IT Governance How Application Portfolio Management and Enterprise Architecture Add Up to IT Governance Optimizing your organization s information system A MEGA White Paper By François Tabourot, Operational Governance

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

Enterprise Service Oriented Architecture Using the OMG SoaML Standard

Enterprise Service Oriented Architecture Using the OMG SoaML Standard Enterprise Service Oriented Architecture Using the OMG SoaML Standard A Model Driven Solutions, Inc. White Paper http://www.modeldriven.com Cory Casanave December, 2009. Enterprise SOA with SoaML 1 All

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

How Application Lifecycle Management can address elearning Software Challenges

How Application Lifecycle Management can address elearning Software Challenges Karen Lee How Application Lifecycle Management can address elearning Software Challenges Borland solutions for fast and flexible software delivery A Borland ASEAN White Paper August 2004 Karen Lee Borland

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

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK

Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK IBM Software Group Requirement Management with the Rational Unified Process RUP practices to support Business Analyst s activities and links with BABoK Jean-Louis Maréchaux Software IT Specialist IBM Rational

More information

Enhancement of Development Technologies for Agent- Based Software Engineering

Enhancement of Development Technologies for Agent- Based Software Engineering Enhancement of Development Technologies for Agent- Based Software Engineering Andre Karpištšenko Tallinn Technical University, Ehitajate tee 5 19086 Tallinn, Estonia andre@lap.ee Abstract. Current trends

More information

11 Tips to make the requirements definition process more effective and results more usable

11 Tips to make the requirements definition process more effective and results more usable 1 11 Tips to make the s definition process more effective and results more usable This article discusses what I believe are the key techniques for making s definition process repeatable from project to

More information

Service-Oriented Architecture and its Implications for Software Life Cycle Activities

Service-Oriented Architecture and its Implications for Software Life Cycle Activities Service-Oriented Architecture and its Implications for Software Life Cycle Activities Grace A. Lewis Software Engineering Institute Integration of Software-Intensive Systems (ISIS) Initiative Agenda SOA:

More information

How to Build Successful DSL s. Jos Warmer Leendert Versluijs

How to Build Successful DSL s. Jos Warmer Leendert Versluijs How to Build Successful DSL s Jos Warmer Leendert Versluijs Jos Warmer Expert in Model Driven Development One of the authors of the UML standard Author of books Praktisch UML MDA Explained Object Constraint

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

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

Essential Visual Studio Team System

Essential Visual Studio Team System Essential Visual Studio Team System Introduction This course helps software development teams successfully deliver complex software solutions with Microsoft Visual Studio Team System (VSTS). Discover how

More information

Done. Imagine it. c Consulting. c Systems Integration. c Outsourcing. c Infrastructure. c Server Technology.

Done. Imagine it. c Consulting. c Systems Integration. c Outsourcing. c Infrastructure. c Server Technology. WHITE PAPER. Model-Driven Application Development with Agile Business Suite Alan Hood Unisys Systems and Technology Agility your survival depends on it. Agile organizations react swiftly to changing market

More information

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER TABLE OF CONTENTS Market Demand for Enterprise Mobile Mobile App Development Approaches Native Apps Mobile Web Apps Hybrid Apps Mendix Vision for Mobile App

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

Service Oriented Enterprise Architecture

Service Oriented Enterprise Architecture Service Oriented Enterprise Architecture Danny Greefhorst With the e-business explosion of the past few years corporations were, and still are, faced with the challenge of time to market more than ever

More information

Extend the value of your core business systems.

Extend the value of your core business systems. Legacy systems renovation to SOA September 2006 Extend the value of your core business systems. Transforming legacy applications into an SOA framework Page 2 Contents 2 Unshackling your core business systems

More information

TOGAF usage in outsourcing of software development

TOGAF usage in outsourcing of software development Acta Informatica Pragensia 2(2), 2013, 68 76, DOI: 10.18267/j.aip.25 Section: Online: aip.vse.cz Peer-reviewed papers TOGAF usage in outsourcing of software development Aziz Ahmad Rais 1, Rudolf Pecinovsky

More information

OMG SOA Workshop - Burlingame Oct 16-19, 2006 Integrating BPM and SOA Using MDA A Case Study

OMG SOA Workshop - Burlingame Oct 16-19, 2006 Integrating BPM and SOA Using MDA A Case Study OMG SOA Workshop - Burlingame Oct 16-19, 2006 Integrating BPM and SOA Using MDA A Case Study Michael Guttman CTO, The Voyant Group mguttman@thevoyantgroup.com Overview of Voyant H.Q. West Chester, PA Business

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

Software development for the on demand enterprise. Building your business with the IBM Software Development Platform

Software development for the on demand enterprise. Building your business with the IBM Software Development Platform Software development for the on demand enterprise Building your business with the IBM Software Development Platform An on demand business is an enterprise whose business processes integrated end-to-end

More information

Big Data Integration: A Buyer's Guide

Big Data Integration: A Buyer's Guide SEPTEMBER 2013 Buyer s Guide to Big Data Integration Sponsored by Contents Introduction 1 Challenges of Big Data Integration: New and Old 1 What You Need for Big Data Integration 3 Preferred Technology

More information

Applying MDA in Developing Intermediary Service for Data Retrieval

Applying MDA in Developing Intermediary Service for Data Retrieval Applying MDA in Developing Intermediary Service for Data Retrieval Danijela Boberić Krstićev University of Novi Sad Faculty of Sciences Trg Dositeja Obradovića 4, Novi Sad Serbia +381214852873 dboberic@uns.ac.rs

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements

More information

BUSINESS RULES AS PART OF INFORMATION SYSTEMS LIFE CYCLE: POSSIBLE SCENARIOS Kestutis Kapocius 1,2,3, Gintautas Garsva 1,2,4

BUSINESS RULES AS PART OF INFORMATION SYSTEMS LIFE CYCLE: POSSIBLE SCENARIOS Kestutis Kapocius 1,2,3, Gintautas Garsva 1,2,4 International Conference 20th EURO Mini Conference Continuous Optimization and Knowledge-Based Technologies (EurOPT-2008) May 20 23, 2008, Neringa, LITHUANIA ISBN 978-9955-28-283-9 L. Sakalauskas, G.W.

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

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

Systems and software product lines: the new frontier for business innovation.

Systems and software product lines: the new frontier for business innovation. Systems and software product line solutions To support your product delivery objectives Systems and software product lines: the new frontier for business innovation. 2 The key to business success depends

More information

F-16 Modular Mission Computer Application Software

F-16 Modular Mission Computer Application Software F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility with Increased Productivity and Quality using the OMG s Model Driven Architecture Lauren E. Clark Chief Engineer

More information

UPDATING RM-ODP BY INTEGRATION OF SOA AND CLOUD COMPUTING

UPDATING RM-ODP BY INTEGRATION OF SOA AND CLOUD COMPUTING UPDATING RM-ODP BY INTEGRATION OF SOA AND CLOUD COMPUTING MOSTAFA JEBBAR, OTHMAN BENAMMAR and ABDERRAHIM SEKKAKI Department of Mathematics and Computer Science University Hassan II, Aïn Chock, Faculty

More information

How To Design An Information System

How To Design An Information System Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917

More information

The Role of the Software Architect

The Role of the Software Architect IBM Software Group The Role of the Software Architect Peter Eeles peter.eeles@uk.ibm.com 2004 IBM Corporation Agenda Architecture Architect Architecting Requirements Analysis and design Implementation

More information

Enterprise Portfolio Management

Enterprise Portfolio Management Enterprise Portfolio Management Managing large volumes of structured data Through its powerful capabilities as a structural modeling tool, ABACUS Summary provides of whitepaper a ready-to-go Summary solution

More information

Simplifying development through activity-based change management

Simplifying development through activity-based change management IBM Rational ClearCase and IBM Rational ClearQuest October 2004 Simplifying development through activity-based change management Allan Tate Product Manager IBM Software Group Karen Wade SCM Product Marketing

More information