Difference Between Model-Driven and Traditional Iterative Software Development

Size: px
Start display at page:

Download "Difference Between Model-Driven and Traditional Iterative Software Development"

Transcription

1 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 trademarks are the property of their respective owners. SoftMetaWare

2 Revision History Version Author Description 1.0 Jorn Bettin Translation of the corresponding German article in OBJEKTspektrum, Sept REVISION HISTORY FRAMEWORKS DEVELOPMENT OF DOMAIN-SPECIFIC FRAMEWORKS WHY GENERATION, IF FRAMEWORKS DO MOST OF THE WORK? DOMAIN ENGINEERING LANGUAGE DESIGN PLATFORM AND INFRASTRUCTURE DEVELOPMENT MODEL-DRIVEN APPLICATIONS APPLICATION ENGINEERING CODING OF BUSINESS LOGIC COMPILING AND BUILD CONCLUSIONS REFERENCES...9 On the surface, Model-Driven Software Development (MDSD) appears to be a fundamentally new paradigm compared to traditional software development. Upon closer examination however, MDSD turns out to mainly shift the focus of iterative development to a higher level of abstraction. Just as with the transition from assemblers to compilers, the main barrier to acceptance is not technological but mainly cultural. Hence, it should not come as a surprise that model-driven techniques do not gain broad acceptance over night. Changes to software development processes need to be introduced carefully, since all participants in the software development process are affected, especially if the changes are not simply about learning new APIs or the syntax of a new programming language. This article explains the main differences between model-driven development and traditional iterative software development. Page 2

3 1 Frameworks Because frameworks play a critical role in MDSD, it is a good idea to investigate framework usage and framework development. The lesson of small is beautiful also applies to frameworks in the model-driven context. The MDSD paradigm starts with manual development of a reference implementation that covers all architectural layers and that can be held very narrow in terms of coverage of application functionality. The reference implementation should already include the binding to appropriate commercial or Open Source frameworks. The next step consists of abstracting framework integration code from the reference implementation, and capturing the results in the form of code templates. This step only increases the costs of developing a proof-of-concept prototype by about 15%-25%. Considering the amount of repetitive framework integration code contained in typical J2EE applications, it is easy to see that using a model-driven approach can save a lot of work. 2 Development of domain-specific frameworks The term domain is typically used in conjunction with expert knowledge in specific industries, such as banking, manufacturing, etc. In MDSD the term domains is also used to refer to sub-domains of the software engineering domain. Especially if a software development team starts without deep industry-specific domain knowledge, the team should at least use all its technical knowledge to automate repetitive tasks in the software development process. MDSD follows the agile mantra of avoiding speculation about the requirements of future applications, and every investment in framework development needs to be underpinned by the requirements of a concrete application. This approach prevents a scenario where a framework team proceeds to develop elaborate frameworks in the absence of concrete problems that need to be solved. Nevertheless, in a larger project, it is recommended to create a dedicated framework team to support one or more application development teams - not to shield framework developers from reality, but to simplify project management and release management. The objectives and priorities for the framework team need to be set by an architecture group, which consists of the team leaders/application architects of the application development teams. The framework team consists of technology specialists who develop reference implementations, write the integration code for external frameworks, derive code templates, and develop small frameworks as required. The results are validated by the architecture group, which acts as the customer of the framework team, and which therefore controls budget and priorities. 3 Why generation, if frameworks do most of the work? Even in small frameworks the source code and additionally available framework documentation is often not sufficient for framework users to quickly gain the necessary insight into "correct" framework usage, i.e. usage as intended by the framework developer. The old time is money applies especially to software development projects. Ensuring correct framework usage is one of the real strengths of MDSD and modeldriven generation of framework completion code. After creating a small example Page 3

4 application, framework authors can extract code templates to automate the generation of framework completion code. At the same time framework users are shielded from framework implementation details. Of course there are those who argue that this not beneficial but rather dangerous, amounting to a dumbing down of application developers. However, this line of reasoning is suspiciously similar to the line of defense taken in favor of assembler programming against the use of higher level programming languages. MDSD tools enable framework developers to do a "proper job". It is time to raise the bar of framework quality expectations. Framework users are not interested in the internal complexity of frameworks, instead they are looking for robust building blocks that add value by simplifying their work. MDSD allows deep framework knowledge to reside with a small group of people, and enables this knowledge to be made available in an optimal format to a large number of application development teams. 4 Domain engineering In software product line engineering [SEI] terminology, the development of an application platform and corresponding tools and process building blocks is known as domain engineering. language design [adapted DSL editor] platform & infrastructure development [reference implementation passes all unit tests] extraction of code templates from the reference implementation Validation of application architecture of generated reference implementation [generated code = reference implementation code] Figure 1 Domain Engineering workflow Page 4

5 As experienced practitioners in the software industry have known all along - there is no universally applicable application development process. Broad software development process frameworks can be used as a starting point for instantiating an application development process, however they suffer from a number of weaknesses: The level of experience of individual team members is not taken into account. Alistair Cockburn provides a very nice discussion of this topic in [Coc01]. Often teams do not have the necessary expert knowledge to efficiently identify relevant process parts and make them available in a digestible form as a project or corporate standard. Only methods that are explicitly geared towards software product line engineering explicitly distinguish between application development and building an application production facility (domain engineering) Any process simplifications that can be achieved with domain specific frameworks and automation are not taken into account. Decision frameworks for using off-the-shelf or Open Source components as an alternative to in-house development are only mentioned briefly if at all in most process frameworks. MDSD provides a number of best practices ([Bet04a], [Bet04b]) to compensate for these deficiencies, with the objective to substantially reduce the up-front costs and the risks normally associated with software product line engineering approaches. 5 Language design The success of using MDSD can be measured by the compactness of the resulting application models: If it takes an inordinate amount of time to maintain the models, then hardly any application development team will be tempted to use the modeldriven approach. Model-driven application development can start as soon as a Domain Specific Language (DSL) has been defined in the form of a formal meta model. Either a MDSD generator tool is used to create a dedicated DSL editor, or normal text editors or UML tools are used to capture application models. The required usability of a DSL editor depends entirely on the specific project context. When larger teams have to work with the editor day-in and day-out, such as is the case in software product development, then it makes sense to invest in building a slick application-modeling tool. Today's MDSD tool kits still leave much to be desired in terms of generating high-quality modeling tools. However, MDSD provides the ideal means for self-help: By using appropriate code templates, it is fairly easy to generate a simple DSL editor. The generated editor can subsequently be refined manually as required, and can be further refined by integrating graphical modeling components at the appropriate points. Thus, incrementally, a highly usable application modeling tool is being constructed. 6 Platform and infrastructure development As already mentioned, the development of a DSL should be seen as the final step in building a domain specific framework. A framework can be seen like the engine in a car it is essential, but it only adds real value when built into a usable product. In this Page 5

6 analogy, a DSL provides the highly automated production facility that assembles engines and other parts into fully functional cars. After appropriate frameworks have been derived from a reference implementation, the next steps consist of refactoring the reference implementation to use the frameworks, and of regression testing the generated reference implementation. The final step before using the newly built application production facility to build real applications, is the definition of a non-trivial test application that covers interesting boundary conditions, which for economical reasons were not covered in the reference implementation. The test application model is used to provide a broad and realistic test of the entire application architecture and code templates. This test will very effectively uncover most errors that may have slipped in during the generalization (derivation of code templates) of the reference implementation. The technique of using a test model to validate the application architecture on a broad basis is a very significant advantage over traditional software development, and it is very much in the spirit of agile and iterative approaches, where early risk minimization is a high priority. 7 Model-Driven Applications To what extent do DSLs motivated by industry domain knowledge play a role in MDSD? Deep industry domain knowledge can be used to provide end users with model-driven applications, i.e. applications that contain a DSL that is used at run time by end users. Some examples that may be familiar: spreadsheets, workflow definition tools, electricity grid modeling components, etc. In all these examples, end users can define arbitrarily complex models in a familiar or easy-to-learn notation. The value of such applications lies in automated processes that read the models and perform model-based calculations. Experience shows that DSLs motivated by industry domain knowledge have a very high stability and life expectancy. DSLs motivated by deep knowledge of software implementation technologies such as frameworks in the J2EE space are primarily used as part of the application development process in combination with generative techniques. DSLs motivated by industry domain knowledge are mostly embedded directly into the business process supported by the application, and are used at run time in conjunction with interpretative approaches or with generation on-the-fly. Here the boundary between application development process and business process (usage of the application) starts to blur - a new perspective for most software developers and users. The answer to the question of which MDSD techniques end up being used in a specific context is one of the results of a carefully executed domain analysis and design process [Cle01]. 8 Application engineering Up to this point, we have concentrated on the domain engineering process. Examining the application engineering process is just as interesting, as it is this process that delivers real applications. In order to be successful with MDSD, the domain engineering process and the application development process need to interact with as little friction as possible. The best results are achieved with an agile approach that uses timeboxed iterations. In fact, the architectural consistency that can be enforced with MDSD turns out to be the key to scaling up agile methods. Page 6

7 application modeling [formal comopnent specifications] (re)generation of integration code [updated integration code] coding of business logic and presentation logic [compilation or unit test errors in application] [updated source code] compiling and build [unit test errors in application] [application passes all unit tests] [comilation or unit test errors in integration code] Of course automated unit tests are preferred! notify domain engineering team Figure 2 Application Engineering workflow The necessary application modeling steps depend on the characteristics of the defined application modeling language (DSLs), and are thus entirely in the hands of the domain engineers. Weaknesses in the modeling language detected by application developers can be addressed iteratively and suggestions for improvement can be implemented and rolled out incrementally, as an "upgrade to the application production facility". It is this degree of freedom to tune and tweak the application development process to the specific context, which allows efficiency improvements over more "rigid" application development processes that try to provide a common denominator for all possible software development projects. Thus, MDSD addresses a class of process issues that is orthogonal to the class of process issues addressed by the various agile methods. Page 7

8 domain engineering (Iteration n+1) feedback integration and feedback application development (Iteration n) Figure 3 Application development is always one iteration behind the iterattions of the domain engineering. Here it becomes obvious why timeboxing is essential. The illustration clearly shows the iterative nature of MDSD 9 Coding of Business Logic MDSD does not mandate that complete applications need to be defined as models on a level of abstraction that is clearly above traditional source code. Instead, MDSD encourages a pragmatic approach, where some aspects of an application can be implemented using traditional general-purpose languages. Often general-purpose languages are well suited for the implementation of business logic and logical expressions. MDSD provides a number of best practices on the specific topic of integrating hand crafted code and generated code [Bet04a]. 10 Compiling and build The compile and build process in MDSD follows the same rules as in traditional iterative development: The build process should be automated to the highest possible degree. When using MDSD this means that besides executing automated unit tests as part of the build, calls of code generation components need to be included in the appropriate places. 11 Conclusions In this article, I have outlined a number of important elements of model-driven software development processes. It becomes clear that MDSD provides a counter point to universally applicable application development processes. Thus it is applicable in all those cases, where deep domain knowledge is available, and it enables this domain knowledge to be exploited for process optimization. However, it should be noted that MDSD requires some investment primarily an investment in the education of staff. The success of MDSD depends on following a well-planned adoption strategy. Technically oriented software architects and application developers may suspect that the biggest difficulty is the availability of appropriate tooling, however the challenges lie elsewhere: By now there is a whole range of commercial and Open Source MDSD tool kits that are suitable for industrial use. By definition, MDSD implies the development of a tailored application development process and of tailored tools. The quality of the generator tool kit does play a role, but it certainly is not the only factor to consider. Careful and Page 8

9 meticulous integration of all the tool components used in the development process is another major factor that can easily be overlooked. Only a small part of software development consists of programming, and there is no tool that can replace hard analysis work. The real potential of MDSD lies in methodological support for integrating domain analysis into the end to end development process, which has a direct influence on the quality of frameworks and DSLs. The best generator is of little help, if corners are cut during domain analysis, and the DSL turns out to be a poor notation for describing the problem domain. Lastly, the bigger obstacles usually are cultural. After all, the introduction of MDSD represents a significant change to software development processes, and the necessary learning curve cannot be compressed arbitrarily. The MDSD adoption process, which is described in [Sta04] and [Bet04b], and the first iterations of domain analysis, are best performed with the assistance of an expert with experience in introducing MDSD. 12 References [Bet04a] [Bet04b] [Bet04c] [Cle01] [Coc01] [SEI] [Sta04] Jorn Bettin, Model-Driven Software Development: An emerging paradigm for industrialized software asset development, mdsd-and-isad.pdf Jorn Bettin, Model-Driven Software Development Teams, Building a Software Supply Chain for Distributed Global Teams, distributed-software-product-development.pdf Jorn Bettin, Model-Driven Software Development Activities, The Process View of an MDSD Project, mdsd-process.pdf Craig Cleaveland, Program Generators with XML and Java, Prentice Hall, 2001 Alistair Cockburn, Agile Software Development, Addison- Wesley, 2001 Carnegie Mellon Software Engineering Institute, Product Line Practice, T. Stahl, M. Völter, J. Bettin, Modelgetriebene Softwareentwicklung ("Model Driven Software Development"), dpunkt, 2004, to be published Page 9

Abstract www.softmetaware.com/whitepapers.html

Abstract www.softmetaware.com/whitepapers.html Abstract We would like to understand the interests of our target audience. Please register at www.softmetaware.com/whitepapers.html to provide us with some information about yourself, and to obtain access

More information

Abstract www.softmetaware.com/whitepapers.html

Abstract www.softmetaware.com/whitepapers.html Abstract We would like to understand the interests of our target audience. Please register at www.softmetaware.com/whitepapers.html to provide us with some information about yourself, and to obtain access

More information

Abstract www.softmetaware.com/whitepapers.html

Abstract www.softmetaware.com/whitepapers.html Abstract We would like to understand the interests of our target audience. Please register at www.softmetaware.com/whitepapers.html to provide us with some information about yourself, and to obtain access

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

Transitioning to Model Driven Software Development

Transitioning to Model Driven Software Development Transitioning to Model Driven Software Development Preparing for the Paradigm Shift Author: Jorn Bettin Version 1.0 April 2006 Copyright 2006 SoftMetaWare Ltd. SoftMetaWare is a trademark of SoftMetaWare

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

3C05: Unified Software Development Process

3C05: Unified Software Development Process 3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2

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

An Approach for the Systematic Development of Domain-Specific Languages

An Approach for the Systematic Development of Domain-Specific Languages An Approach for the Systematic Development of Domain-Specific Languages Mark Strembeck 1, Uwe Zdun 2 1 Institute of Information Systems, New Media Lab Vienna University of Economics and BA, Austria mark.strembeck@wu-wien.ac.at

More information

WHITE PAPER. Peter Drucker. intentsoft.com 2014, Intentional Software Corporation

WHITE PAPER. Peter Drucker. intentsoft.com 2014, Intentional Software Corporation We know now that the source of wealth is something specifically human: knowledge. If we apply knowledge to tasks we already know how to do, we call it productivity. If we apply knowledge to tasks that

More information

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

MDA Journal A BPT COLUMN. David S. Frankel. Introduction. April 2004 Introduction MDA Journal April 2004 David S. Frankel David Frankel Consulting df@davidfrankelconsulting.com This month s MDA Journal departs from previous practice by offering two articles instead of one.

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

Patterns for Model-Driven Software-Development

Patterns for Model-Driven Software-Development Patterns for Model-Driven Software-Development Version 1.4, May 10, 2004 Markus Völter Jorn Bettin voelter@acm.org völter ingenieurbüro für softwaretechnologie Heidenheim, Germany www.voelter.de jorn.bettin@softmetaware.com

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

Practicalities of Implementing Component-Based Development and Model-Driven Architecture

Practicalities of Implementing Component-Based Development and Model-Driven Architecture Practicalities of Implementing Component-Based Development and Model-Driven Architecture Jorn Bettin SoftMetaWare, PO Box 617, Waiheke Island, New Zealand jorn.bettin@softmetaware.com http://www.softmetaware.com

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

Five best practices for deploying a successful service-oriented architecture

Five best practices for deploying a successful service-oriented architecture IBM Global Services April 2008 Five best practices for deploying a successful service-oriented architecture Leveraging lessons learned from the IBM Academy of Technology Executive Summary Today s innovative

More information

Applying Agile Methods in Rapidly Changing Environments

Applying Agile Methods in Rapidly Changing Environments Applying Agile Methods in Changing Environments 7/23/2002 1 Applying Agile Methods in Rapidly Changing Environments Peter Kutschera IBM Unternehmensberatung GmbH Am Fichtenberg 1, D-71803 Herrenberg Steffen

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

Development of AUTOSAR Software Components within Model-Based Design

Development of AUTOSAR Software Components within Model-Based Design 2008-01-0383 Development of AUTOSAR Software Components within Model-Based Design Copyright 2008 The MathWorks, Inc. Guido Sandmann Automotive Marketing Manager, EMEA The MathWorks Richard Thompson Senior

More information

An approach for the systematic development of domain-specific languages

An approach for the systematic development of domain-specific languages SOFTWARE PRACTICE AND EXPERIENCE Softw. Pract. Exper. 2009; 39:1253 1292 Published online 28 August 2009 in Wiley InterScience (www.interscience.wiley.com)..936 An approach for the systematic development

More information

Traventec. September 2004. Technology Feature. Roadmap for Adoption of Service Oriented Architecture

Traventec. September 2004. Technology Feature. Roadmap for Adoption of Service Oriented Architecture Traventec September 2004 Technology Feature Roadmap for Adoption of Service Oriented Architecture ROADMAP FOR ADOPTION OF SERVICE ORIENTED ARCHITECTURE... 2 1. INTRODUCTION...2 2. GET PEOPLE INVOLVED...2

More information

A SOA visualisation for the Business

A SOA visualisation for the Business J.M. de Baat 09-10-2008 Table of contents 1 Introduction...3 1.1 Abbreviations...3 2 Some background information... 3 2.1 The organisation and ICT infrastructure... 3 2.2 Five layer SOA architecture...

More information

Transitioning to Model Driven Software. Berner Architekten Treffen / CHOOSE March 2007

Transitioning to Model Driven Software. Berner Architekten Treffen / CHOOSE March 2007 Transitioning to Model Driven Software Berner Architekten Treffen / CHOOSE March 2007 OOPSLA 02 The era of expensive software development tools is long gone. The market already discards MDA tool-hype,

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

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

The OMG BPM Standards

The OMG BPM Standards The OMG BPM Standards Derek Miers CEO, BPM Focus +44 (20) 8742 8500 UK Office +44 (7703) 178 500 UK Cell +1 (714) 600 9010 US Cell miers@bpmfocus.org A BPM Definition Business Process Management is primarily

More information

Software Process and Models

Software Process and Models Agenda Software Process Models Plan-driven Process Models Software Process and Models A software process model simplified, abstracted description of a software development process. A model is good for

More information

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3

Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 Component-based Development Process and Component Lifecycle Ivica Crnkovic 1, Stig Larsson 2, Michel Chaudron 3 1 Mälardalen University, Västerås, Sweden, ivica.crnkovic@mdh.se 2 ABB Corporate Research,

More information

Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.

Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download. Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.aspx Abstract In this final part of the three part series on

More information

Information systems modelling UML and service description languages

Information systems modelling UML and service description languages Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:

More information

9 Research Questions Resolved

9 Research Questions Resolved 217 9 Research Questions Resolved "All truths are easy to understand once they are discovered; the point is to discover them." Galileo Galilei. 9.1 Main Contributions In section 1.6 the thesis introduced

More information

Tool chain (BRIDE) delivered as BRICS software distribution

Tool chain (BRIDE) delivered as BRICS software distribution Best Practice in Robotics (BRICS) Grant Agreement Number: 231940 01.03.2009-28.02.2013 Instrument: Collaborative Project (IP) Tool chain (BRIDE) delivered as BRICS software distribution Hugo Garcia, Herman

More information

TTCN-3, Qtronic and SIP

TTCN-3, Qtronic and SIP TTCN-3, Qtronic and SIP 1 (8) TTCN-3, Qtronic and SIP The Model-Based Testing of a Protocol Stack a TTCN-3 Integrated Approach Technical Whitepaper EXECUTIVE SUMMARY TTCN-3 (Test and Test Control Notation

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

Service Oriented Architecture

Service Oriented Architecture Service Oriented Architecture Version 9 2 SOA-2 Overview Ok, now we understand the Web Service technology, but how about Service Oriented Architectures? A guiding analogy Terminology excursion Service,

More information

A Visual Language Based System for the Efficient Management of the Software Development Process.

A Visual Language Based System for the Efficient Management of the Software Development Process. A Visual Language Based System for the Efficient Management of the Software Development Process. G. COSTAGLIOLA, G. POLESE, G. TORTORA and P. D AMBROSIO * Dipartimento di Informatica ed Applicazioni, Università

More information

White Paper Software Quality Management

White Paper Software Quality Management White Paper What is it and how can it be achieved? Successfully driving business value from software quality management is imperative for many large organizations today. Historically, many Quality Assurance

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

The IBM Solution Architecture for Energy and Utilities Framework

The IBM Solution Architecture for Energy and Utilities Framework IBM Solution Architecture for Energy and Utilities Framework Accelerating Solutions for Smarter Utilities The IBM Solution Architecture for Energy and Utilities Framework Providing a foundation for solutions

More information

A Framework for Software Product Line Engineering

A Framework for Software Product Line Engineering Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product

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

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

Introducing Performance Engineering by means of Tools and Practical Exercises

Introducing Performance Engineering by means of Tools and Practical Exercises Introducing Performance Engineering by means of Tools and Practical Exercises Alexander Ufimtsev, Trevor Parsons, Lucian M. Patcas, John Murphy and Liam Murphy Performance Engineering Laboratory, School

More information

Software Architecture

Software Architecture Cairo University Faculty of Computers and Information Computer Science Department Premasters Studies Software Architecture Report on Software Product Line Submitted to: Dr. Hany Ammar Submitted by: Hadeel

More information

Introduction to OpenUP (Open Unified Process)

Introduction to OpenUP (Open Unified Process) Introduction to OpenUP (Open Unified Process) Different projects have different process needs. Typical factors dictate the needs for a more formal or agile process, such as team size and location, architecture

More information

Teaching Pragmatic Model-Driven Software Development

Teaching Pragmatic Model-Driven Software Development Computer Science and Information Systems 12(2):683 705 DOI: 10.2298/CSIS140107022P Teaching Pragmatic Model-Driven Software Development Jaroslav Porubän, Michaela Bačíková, Sergej Chodarev and Milan Nosál

More information

Agile Development Overview

Agile Development Overview Presented by Jennifer Bleen, PMP Project Services Practice of Cardinal Solutions Group, Inc. Contact: Agile Manifesto We are uncovering better ways of developing software by doing it and helping others

More information

Development of Tool Extensions with MOFLON

Development of Tool Extensions with MOFLON Development of Tool Extensions with MOFLON Ingo Weisemöller, Felix Klar, and Andy Schürr Fachgebiet Echtzeitsysteme Technische Universität Darmstadt D-64283 Darmstadt, Germany {weisemoeller klar schuerr}@es.tu-darmstadt.de

More information

Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations

Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations Towards Flexible Business Process Modeling and Implementation: Combining Domain Specific Modeling Languages and Pattern-based Transformations Steen Brahe 1 and Behzad Bordbar 2 1 Danske Bank and IT University

More information

Agile Techniques and Tools. White Paper

Agile Techniques and Tools. White Paper Agile Techniques and Tools White Paper Agile Techniques and Tools Synopsis This section provides an overview of a number of techniques and tools that are commonly used by agile development teams. These

More information

Chapter 17 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For

More information

Lombardi Whitepaper: Why You (Probably) Cannot Afford to Use IBM for BPM. Why You (Probably) Cannot Afford to Use IBM for BPM

Lombardi Whitepaper: Why You (Probably) Cannot Afford to Use IBM for BPM. Why You (Probably) Cannot Afford to Use IBM for BPM Why You (Probably) Cannot Afford to Use IBM for BPM 1 Why You (Probably) Cannot Afford to Use IBM for BPM You have a project that seems like a good fit for Business Process Management (BPM). And you re

More information

Structuring Product-lines: A Layered Architectural Style

Structuring Product-lines: A Layered Architectural Style Structuring Product-lines: A Layered Architectural Style Tommi Myllymäki, Kai Koskimies, and Tommi Mikkonen Institute of Software Systems, Tampere University of Technology Box 553, FIN-33101 Tampere, Finland

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

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

SOA and BPO SOA orchestration with flow. Jason Huggins Subject Matter Expert - Uniface

SOA and BPO SOA orchestration with flow. Jason Huggins Subject Matter Expert - Uniface SOA and BPO SOA orchestration with flow Jason Huggins Subject Matter Expert - Uniface Objectives Define SOA Adopting SOA Business Process Orchestration Service Oriented Architecture Business Level Componentisation

More information

(Refer Slide Time: 01:52)

(Refer Slide Time: 01:52) Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This

More information

Realizing business flexibility through integrated SOA policy management.

Realizing business flexibility through integrated SOA policy management. SOA policy management White paper April 2009 Realizing business flexibility through integrated How integrated management supports business flexibility, consistency and accountability John Falkl, distinguished

More information

SWX: The Software Extension to the PMBOK Guide for Project Management

SWX: The Software Extension to the PMBOK Guide for Project Management SWX: The Software Extension to the PMBOK Guide for Project Management prepared and presented by Richard E. (Dick) Fairley, PhD, CSDP Software and Systems Engineering Associates (S2EA) SWX Software Extension

More information

Using Story Points to Estimate Software Development Projects in the Commercial Phase

Using Story Points to Estimate Software Development Projects in the Commercial Phase Using Story Points to Estimate Software Development Projects in the Commercial Phase Accurately estimating a software development project s total effort is an essential step to providing your customer

More information

Agile Development and Software Architecture: Understanding Scale and Risk

Agile Development and Software Architecture: Understanding Scale and Risk Agile Development and Software Architecture: Understanding Scale and Risk Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Robert L. Nord SSTC, April 2012 In collaboration

More information

Analysis of the Specifics for a Business Rules Engine Based Projects

Analysis of the Specifics for a Business Rules Engine Based Projects Analysis of the Specifics for a Business Rules Engine Based Projects By Dmitri Ilkaev and Dan Meenan Introduction In recent years business rules engines (BRE) have become a key component in almost every

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

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology?

In this Lecture you will Learn: Systems Development Methodologies. Why Methodology? Why Methodology? In this Lecture you will Learn: Systems Development Methodologies What a systems development methodology is Why methodologies are used The need for different methodologies The main features of one methodology

More information

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed.

CS 389 Software Engineering. Lecture 2 Chapter 2 Software Processes. Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. CS 389 Software Engineering Lecture 2 Chapter 2 Software Processes Adapted from: Chap 1. Sommerville 9 th ed. Chap 1. Pressman 6 th ed. Topics covered Software process models Process activities Coping

More information

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications WebRatio 5: An Eclipse-based CASE tool for engineering Web applications Roberto Acerbis 1, Aldo Bongio 1, Marco Brambilla 2, Stefano Butti 1 1 WebModels S.r.l. Piazzale Gerbetto, 6. I22100 Como, Italy

More information

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology bruckner@ifs.tuwien.ac.at Beate List Vienna University of Technology list@ifs.tuwien.ac.at

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

Quest for a Business Rules Management Environment (BRME) in the Internal Revenue Service

Quest for a Business Rules Management Environment (BRME) in the Internal Revenue Service Business Rules and Requirements Management Internal Revenue Service Business Rules and Requirements Management Office (BRRM) Quest for a Business Rules Management Environment (BRME) in the Internal Revenue

More information

Cordys Business Operations Platform

Cordys Business Operations Platform SERVICE DEFINITION Cordys Business Operations GCloud IV - PaaS Copyright 2012 Cordys B.V. All rights reserved. Table of Content Cordys Business Operations... 1 Table of Content... 2 Introduction... 4 Document

More information

The Oregon Software Development Process

The Oregon Software Development Process The Oregon Software Development Process Till Schümmer 1 and Robert Slagter 2 1 Computer Science Department, FernUniversität in Hagen, Universitätsstrasse 1, 58084 Hagen, Germany Till.Schuemmer@fernuni-hagen.de

More information

Model-Driven Development - From Frontend to Code

Model-Driven Development - From Frontend to Code Model-Driven Development - From Frontend to Code Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de Markus Völter voelter@acm.org www.voelter.de -1- Model Driven

More information

Key Benefits of Microsoft Visual Studio Team System

Key Benefits of Microsoft Visual Studio Team System of Microsoft Visual Studio Team System White Paper November 2007 For the latest information, please see www.microsoft.com/vstudio The information contained in this document represents the current view

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

7. Classification. Business value. Structuring (repetition) Automation. Classification (after Leymann/Roller) Automation.

7. Classification. Business value. Structuring (repetition) Automation. Classification (after Leymann/Roller) Automation. 7. Classification Business Process Modelling and Workflow Management Business value Lecture 4 (Terminology cntd.) Ekkart Kindler kindler@upb.de Structuring (repetition) Automation UPB SS 2006 L04 2 Classification

More information

Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions joshua.davis@cognizant.

Dynamic website development using the Grails Platform. Joshua Davis Senior Architect Cognizant Technology Solutions joshua.davis@cognizant. Dynamic website development using the Grails Platform Joshua Davis Senior Architect Cognizant Technology Solutions joshua.davis@cognizant.com Topics Covered What is Groovy? What is Grails? What are the

More information

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

CS435: Introduction to Software Engineering!  Software Engineering: A Practitioner s Approach, 7/e  by Roger S. Pressman CS435: Introduction to Software Engineering! " " " " " " " "Dr. M. Zhu! Chapter 3! Agile Development! Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

More information

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented

More information

Modern SOA Testing. A Practitioners Guide to. July 2011

Modern SOA Testing. A Practitioners Guide to. July 2011 A Practitioners Guide to Modern SOA Testing Gaurish Hattangadi Abstract Today s dynamic business needs are shaping the modern IT industry. Lower costs and faster time to market have propelled forward market-changing

More information

Use software to define silicon p. 15

Use software to define silicon p. 15 April 2008 Use software to define silicon p. 15 >> Domain-specific modeling p.20 >> Efficient CRC calculation p.24 >> Linux development tools p.28 >> Verification enters the atomic age p.33 >> Advantages

More information

DDI Lifecycle: Moving Forward Status of the Development of DDI 4. Joachim Wackerow Technical Committee, DDI Alliance

DDI Lifecycle: Moving Forward Status of the Development of DDI 4. Joachim Wackerow Technical Committee, DDI Alliance DDI Lifecycle: Moving Forward Status of the Development of DDI 4 Joachim Wackerow Technical Committee, DDI Alliance Should I Wait for DDI 4? No! DDI Lifecycle 4 is a long development process DDI Lifecycle

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, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software

More information

A Model-Driven Approach for Building Customized Distributed Applications

A Model-Driven Approach for Building Customized Distributed Applications A Model-Driven Approach for Building Customized Distributed Applications By John Pompeii and Scott Danforth Secant Technologies, Inc. - - April 25, 2001 A Model-Driven Approach for Building Customized

More information

Best Practices for Improving the Quality and Speed of Your Agile Testing

Best Practices for Improving the Quality and Speed of Your Agile Testing A Conformiq White Paper Best Practices for Improving the Quality and Speed of Your Agile Testing Abstract With today s continually evolving digital business landscape, enterprises are increasingly turning

More information

New Generation of Software Development

New Generation of Software Development New Generation of Software Development Terry Hon University of British Columbia 201-2366 Main Mall Vancouver B.C. V6T 1Z4 tyehon@cs.ubc.ca ABSTRACT In this paper, I present a picture of what software development

More information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Not this life cycle SE, Software Lifecycle, Hans van Vliet, 2008 2 Introduction software development

More information

Going Agile A Case Study

Going Agile A Case Study Going Agile A Case Study Dwayne Read Software Process Consultant Strategic Systems dwayne@ss.com.au Grey Properjohn Systems Analyst Snowden Technologies gproperjohn@snowdengroup.com Abstract This case

More information

Spreadsheet Programming:

Spreadsheet Programming: Spreadsheet Programming: The New Paradigm in Rapid Application Development Contact: Info@KnowledgeDynamics.com www.knowledgedynamics.com Spreadsheet Programming: The New Paradigm in Rapid Application Development

More information

A Capability Maturity Model (CMM)

A Capability Maturity Model (CMM) Software Development Life Cycle (SDLC) and Development Methods There are some enterprises in which a careful disorderliness is the true method. Herman Melville Capability Maturity Model (CMM) A Capability

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

Use service virtualization to remove testing bottlenecks

Use service virtualization to remove testing bottlenecks Use service virtualization to remove testing bottlenecks Discover integration faults early by pushing integration testing left in the software lifecycle Contents 1 Complex, interconnected applications

More information

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL

PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL PROCESS OF MOVING FROM WATERFALL TO AGILE PROJECT MANAGEMENT MODEL Sanja Vukićević 1, Dražen Drašković 2 1 Faculty of Organizational Sciences, University of Belgrade, vukicevicsanja@yahoo.com 2 Faculty

More information

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS)

CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) CHAPTER_3 SOFTWARE ENGINEERING (PROCESS MODELS) Prescriptive Process Model Defines a distinct set of activities, actions, tasks, milestones, and work products that are required to engineer high quality

More information

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects

Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects Transdyne Corporation CMMI Implementations in Small & Medium Organizations Using the Agile Methodology to Mitigate the Risks of Highly Adaptive Projects Dana Roberson Quality Software Engineer NNSA Service

More information

Using i for Transformational Creativity in Requirements Engineering

Using i for Transformational Creativity in Requirements Engineering Using i for Transformational Creativity in Requirements Engineering Sushma Rayasam and Nan Niu Department of EECS, University of Cincinnati Cincinnati, OH, USA 45221 rayasasa@mail.uc.edu, nan.niu@uc.edu

More information

The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt

The ADOxx Metamodelling Platform Workshop Methods as Plug-Ins for Meta-Modelling in conjunction with Modellierung 2010, Klagenfurt The ADOxx Metamodelling Platform Workshop "Methods as Plug-Ins for Meta-Modelling" in conjunction with "Modellierung 2010", Klagenfurt Dr. Harald Kühn 24.03.2010 Agenda 1 Overview 2 Deployment and Integration

More information