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

Size: px
Start display at page:

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

Transcription

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

2 Feature Modeling in Generative Software Development Krzysztof Czarnecki University of Waterloo

3 Overview Generative Software Development Example Staged Configuration using Feature Models FeaturePlugin Summary 3

4 Generative Software Development Is a product-line engineering approach Product-line development Product development Automates product development Based on a product specification in a set of domain-specific languages 4

5 Product Line Approach Product Line Development (Domain Engineering) Analysis: Product-line scoping and defining a set of reusable, configurable requirements for the products in the product line Design: Developing a common architecture for the products in the product line and devising a production plan Implementation: Provisioning the production assets, for example, reusable components, domain-specific languages, generators, a reuse infrastructure, and a production process Product Development (Application Engineering) Creating concrete products using the production assets from Product Line Development Also allow for custom development 5

6 Different Forms of DSLs Wizard Configuration tool Library in a programming language page MainPage () { filename = index.html placeholders { header = fragmentcall { include = Header() } leftnavigation = fragmentcall { include = LeftNavigation(nil) } rightnavigation = fragmentcall { include = RightNavigation() } body = fragment { filename = main/main.html filterelement = body } footer = fragmentcall { include = Footer () } } } Textual DSL 6 Visual DSL

7 Advantages of DSLs Over General- Purpose Languages (GPLs) Domain-specific abstractions Pre-defined abstractions to directly represent concepts from the application domain Domain-specific concrete syntax Natural notation for a domain avoiding syntactic clutter that often results when using GPLs Domain-specific error checking Analysers that find more errors than similar analysers for GPLs and report errors in a language familiar to the domain expert Domain-specific optimizations Code optimization based on domain-specific knowledge which is usually not available to a GPL compiler Domain-specific debugging, version control, etc. Opportunities for improving all aspects of a development environment 7

8 Modeling and DSLs Models are abstract representations of systems Answer questions of interest to stakeholders Capture stakeholder intentions more directly Without accidental implementation details Model driven development makes them source artifacts Fully integrated with the code and other source artifacts Not documentation that becomes obsolete as software is cut Used across the software life cycle Requirements, design, development, deployment, testing, debugging, maintenance, enhancement DSLs are perfect for model driven development Capture more information with higher fidelity than general purpose modeling languages designed for documentation 8

9 Feature-Oriented Approach Domain analysis Problem-space view Feature Models Solution-space view Architectural patterns Variability mechanisms DSL Mapping Family architecture DSL Technology Generator Technology 9 Component technology

10 Overview Generative Software Development Example Staged Configuration using Feature Models FeaturePlugin Summary 10

11 Feature Diagram mandatory feature OrderProcessing Transaction Approval Basket Fulfillment Payment Tax Invoice ShipmentCost Shipping ElectronicDelivery PayByBill Online Printed PackageTrackingNo PackageSlip PayOnDelivery CreditCard FrequentFlyer alternative features optional feature «implies» «excludes» No decision regarding the mechanism for implementing variability! 11

12 Cardinality-Based Feature Modeling EShop PasswordPolicy Shipping Inclusive-or group Expiration Chars ShippingGateway CustomMethods InDays(Integer) Never lower <2..4> special Group cardinality [0..*] Method(String) Feature cardinality Feature attribute upper digit FlatRate(Float) 12

13 Mapping Feature Variations To Software System Variability Ordering process Catalog browsing Targeting & Profiling... Security polices Transaction polices Caching polices Presentation policies... Information Model Web Content & Navigation Webpage Layout 13

14 Mapping Feature Variations To Software System Variability Ordering process Catalog browsing Targeting & Profiling... Security polices Transaction polices Caching polices Presentation policies... Information Model Web Content & Navigation Webpage Layout 14

15 Mapping Feature Variations To Software System Variability Ordering process Catalog browsing Targeting & Profiling... Security polices Transaction polices Caching polices Presentation policies... Information Model Web Content & Navigation Webpage Layout See webml.org 15

16 Mapping Feature Variations To Software System Variability Ordering process Catalog browsing Targeting & Profiling... Security polices Transaction polices Caching polices Presentation policies... Consistency management & reconciliation Information Model Web Content & Navigation Webpage Layout Refinements - Model-to-model transformations Database Model EJB Component Model Web Component Model <<EntityBean>> Customer <<PrimaryKey>> oid : java.lang.long +lastname : java.lang.string +firstname : java.lang.string 1..n +owner 0..n +account 16 <<EntityBean>> Account +number : java.lang.string +balance : java.math.bigdecimal +book(amount : java.math.bigdecimal)

17 Mapping Feature Variations To Software System Variability Ordering process Catalog browsing Targeting & Profiling... Security polices Transaction polices Caching polices Presentation policies... Consistency management & reconciliation Information Model Web Content & Navigation Webpage Layout Refinements - Model-to-model transformations Parameterization of transformations Database Model EJB Component Model Web Component Model Refinements - Model-to-code transformations EJB Class Model SQL Source Code EJB Source Code 17 JSP/HTML source code

18 Configuration and Generation For Embedded Systems System Variability ControlFunctions Diagnosis Plant UML/RT Matlab SL/SF Code 18 Code

19 Feature-Based Configuration of Satellite Software General-purpose ConfigEditor Statically configure save Satellite configuration in XML Family Architecture of Satellite Com Systems (Ada83 templatized using TL) Generate DSL definition (FM in XML format) Dynamically configure Concrete Satellite Communication Ground station 19

20 #for i "/Satellite/PUS/Service/Sub"# with service#"$i/../id"#_#"$i/id"#; #end# separate (app) procedure decode(o :in out ptr ; p :in...) is no_service : exception;... begin for i in o.service'range loop... end loop;... case s.typ is #for i "/Satellite/PUS/Service"# when #"$i/id"# => case s.sub is #for j "$i/sub"# when #"$j/id"# => service#"$j/../id"#_#"$j/id"#(o, p); #end# when others => null; end case; #end# when others => null; end case; exception... end decode; Generation Using Template Craig Cleaveland, Program Generators with XML and Java. Prentice-Hall 2001, 20 Language with service014_001; with service014_002; with service001_001; with service001_002; with service001_007; with service001_009; with service004_023; with service004_024; with service004_025; with service004_026; separate (app) procedure decode(o :in out ptr ; p :in...) is no_service : exception;... begin for i in o.service'range loop... end loop;... case s.typ is when 014 => case s.sub is when 001 => service014_001(o, p); when 002 => service014_002(o, p); when others => null; end case; when 001 => case s.sub is when 001 => service001_001(o, p); when 002 => service001_002(o, p); when 007 => service001_007(o, p); when 009 => service001_009(o, p); when others => null; end case; when 004 => case s.sub is when 023 => service004_023(o, p); when 024 => service004_024(o, p); when 025 => service004_025(o, p); when 026 => service004_026(o, p); when others => null; end case; when others => null; end case; exception... end decode;

21 Overview Generative Software Development Example Staged configuration using Feature Models FeaturePlugin Summary 21

22 Staged Configuration Using Specialization Specialization transforms a new feature diagram into a new one denoting a subset of configurations of the original diagram <1..1> f f Specialize Specialize Derive configuration <1..1> [0..2] [0..2] f (f, {(f 2, ), (f 4, )}) f 1 f 2 f 3 f 4 f 2 f 3 f 4 f 2 f 4 <1..1> f [0..2] (f, {(f 2, ), (f 4, )}) f 1 f 2 f 3 f 4 22

23 Staged Configuration Example: Policy Specialization Decisions taken in stages Time, e.g., Phases in product lifecycle Roles, e.g., Component integrator, deployer, administrator, maintainer Context/target, e.g., Multiple deployment contexts 23

24 Software Supply Chains 24

25 Staged Configuration Using Multi- Level Configuration Each stage has a separate feature model Each role performs configuration (not specialization) within a stage Manual configuration of one stage automatically specializes the feature model of the next stage 25

26 Multilevel Configuration Different roles will have different perspectives on the variability Product-line perspective System configuration perspective Just annotating features with binding times is not enough! 26

27 Multilevel Configuration 27

28 Overview Generative Software Development Example Staged configuration using Feature Models FeaturePlugin Summary 28

29 FeaturePlugin Eclipse Plugin for Feature Modeling Cardinality-based feature modeling Configuration support Configuration Specialization Global constraints Synchronization User-extensible notation Defining additional information for a project Meta-level also defined as feature models Alternative renderings Explorer view & feature maps Feature trees & tables 29

30 FeaturePlugin Eclipse Plugin for Feature Modeling and Configuration 30 gp.uwaterloo.ca/fmp

31 FeaturePlugin 31

32 Mapping Features to Workflow 32

33 Structure Spectrum of DSLs Routine configuration Creative construction Wizards Feature-based configuration Graph-like language (with user-defined elements) scr1 Eshop scr2 scr3 Catalog Payment Shipp InventoryTracking scr4 scr5 scr6 scr7 scr8 Check Debit Card Credit Card PO Cust Serv scr11 scr12 scr9 scr10 Path through a decision tree 33 Fedex UPS Subtree of a feature tree Subgraph of an (infinite) graph

34 Designing DSLs Complex design space Textual, diagrammatic, form-based, grid-based, etc. Hierarchical, graph-like, spatial, etc. Declarative vs. procedural Dynamic vs. static Usability Mental walkthroughs Cognitive patterns Experience from visualization (architecture visualization, program understanding) 34

35 Target Audiences for DSLs Different audiences Software engineers Traditional engineers (control, mechanical, ) Business people (accounting, marketing, management, ) Analysts (consultants with DS expertise) Scientists (biology, chemistry, physics, ; computational science) Casual computer users (my mom ) Criteria Level of software development skills Depth of application-domain expertise Vastly varying requirements 35

36 Target Audiences for DSLs High Degree of Software Development Skills None Typical programmers & software architects End-user programming Skilled analysts Traditional engineers Business people, financial experts, scientists, etc. Low Degree of Application Domain Expertise High 36

37 Tools for Implementing DSLs To be defined Abstract syntax (e.g., using a class diagram) Rendering and editing Semantics (e.g., by translation) Other issues Serialization, language evolution, consistency management and change propagation, etc. Tools for DSLs become mainstream Direct metamodeling Microsoft, Xactium,, (EMF) UML profiling IBM Rational Modeller, Softeam, 37

38 Overview Generative Software Development Example Staged Configuration using Feature Models FeaturePlugin Summary 38

39 Key Concepts in Generative Software Development Product lines Cornerstone of systematic software reuse Domain-specific languages Optimal support for application developers Mappings Design knowledge capture Feature modeling Family scoping, DSL & architecture development 39

40 Further Information Czarnecki & Eisenecker. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Greenfield & Short. Software Factories: Assembling Applications With Patterns, Models, Frameworks and Tools. Wiley, th Int. Conference on Generative Programming and Component Engineering (GPCE), Sep 29 - Oct 1, 2005, Tallinn, Estonia (co-located with ICFP) 40

41 Questions 41

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

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

More information

Overview of Generative Software Development

Overview of Generative Software Development Overview of Generative Software Development Krzysztof Czarnecki University of Waterloo Overview Motivation Generative Software Development Examples Summary & Outlook 2 Scaling Up Software Development New

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

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

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

Development of a Feature Modeling Tool using Microsoft DSL Tools.

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

More information

An eclipse-based Feature Models toolchain

An eclipse-based Feature Models toolchain An eclipse-based Feature Models toolchain Luca Gherardi, Davide Brugali Dept. of Information Technology and Mathematics Methods, University of Bergamo luca.gherardi@unibg.it, brugali@unibg.it Abstract.

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

Overview of Generative Software Development

Overview of Generative Software Development Overview of Generative Software Development Krzysztof Czarnecki University of Waterloo, Canada czarnecki@acm.org Abstract. System family engineering seeks to exploit the commonalities among systems from

More information

Software Product Lines

Software Product Lines Software Product Lines Software Product Line Engineering and Architectures Bodo Igler and Burkhardt Renz Institut für SoftwareArchitektur der Technischen Hochschule Mittelhessen Sommersemester 2015 Questions:

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

Tool Support for Model Checking of Web application designs *

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

More information

Budapest University of Technology and Economics Department of Measurement and Information Systems. Business Process Modeling

Budapest University of Technology and Economics Department of Measurement and Information Systems. Business Process Modeling Budapest University of Technology and Economics Department of Measurement and Information Systems Business Process Modeling Process, business process Workflow: sequence of given steps executed in order

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

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

Software Development Kit

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

More information

Run-time Variability Issues in Software Product Lines

Run-time Variability Issues in Software Product Lines Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, alexandre.braganca@i2s.pt 2 Dep.

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

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

SOFTWARE TESTING TRAINING COURSES CONTENTS

SOFTWARE TESTING TRAINING COURSES CONTENTS SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software

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

Language-Driven, Technology-Enhanced Instructional Systems Design

Language-Driven, Technology-Enhanced Instructional Systems Design Language-Driven, Technology-Enhanced Instructional s Design Iván Martínez-Ortiz, José-Luis Sierra, Baltasar Fernández-Manjón Fac. Informática. Universidad Complutense de Madrid C/ Prof. José García Santesmases

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

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

Textual Modeling Languages

Textual Modeling Languages Textual Modeling Languages Slides 4-31 and 38-40 of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics

More information

Using Ontologies in the Domain Analysis of Domain-Specific Languages

Using Ontologies in the Domain Analysis of Domain-Specific Languages Using Ontologies in the Domain Analysis of Domain-Specific Languages Robert Tairas 1, Marjan Mernik 2, Jeff Gray 1 1 University of Alabama at Birmingham, Birmingham, Alabama, USA {tairasr,gray}@cis.uab.edu

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

Embedded Software Development with MPS

Embedded Software Development with MPS Embedded Software Development with MPS Markus Voelter independent/itemis The Limitations of C and Modeling Tools Embedded software is usually implemented in C. The language is relatively close to the hardware,

More information

HP Systinet. Software Version: 10.01 Windows and Linux Operating Systems. Concepts Guide

HP Systinet. Software Version: 10.01 Windows and Linux Operating Systems. Concepts Guide HP Systinet Software Version: 10.01 Windows and Linux Operating Systems Concepts Guide Document Release Date: June 2015 Software Release Date: June 2015 Legal Notices Warranty The only warranties for HP

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

Windchill PDMLink 10.1. Curriculum Guide

Windchill PDMLink 10.1. Curriculum Guide Windchill PDMLink 10.1 Curriculum Guide Live Classroom Curriculum Guide Update to Windchill PDMLink 10.1 from Windchill PDMLink 9.0/9.1 Introduction to Windchill PDMLink 10.1 for Light Users Introduction

More information

VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl

VICCI. The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview. Dipl.-Inf. Christoph Seidl VICCI Visual and Interactive Cyber-Physical Systems Control and Integration The Eclipse Modeling Framework (EMF) A Practical Introduction and Technology Overview Dipl.-Inf. Christoph Seidl Overview of

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

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

Introduction to the Analysis and Management Framework

Introduction to the Analysis and Management Framework Introduction to the Analysis and Management Framework Project Team: Don Kranz, Tom Gullion, Neal Saito, Gary Marchiny Project Monitor: Steve Husty 1 Agenda Problem Space The NASA IV&V AMF N Tier Architectures

More information

On General-purpose Textual Modeling Languages. On General-purpose Textual Modeling Languages

On General-purpose Textual Modeling Languages. On General-purpose Textual Modeling Languages On General-purpose Textual Modeling Languages On General-purpose Textual Modeling Languages Martin Mazanec and Ondřej Macek Martin Mazanec and Ondřej Macek Department of Computer Science, FEL, Czech Technical

More information

Approach to E-Learning Fundamental Aspects of Software Engineering

Approach to E-Learning Fundamental Aspects of Software Engineering Approach to E-Learning Fundamental Aspects of Software Engineering Ekaterina Lavrischeva 1, Alexei Ostrovski 1, and Igor Radetskiy 1 1 Institute of Software Systems of NAS, Akedemika Glushkova str., 40,

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

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

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

Jos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl

Jos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl Domain Specific Languages for Business Users Jos Warmer, Independent jos.warmer@openmodeling.nl www.openmodeling.nl Sheet 2 Background Experience Business DSLs Insurance Product Modeling (structure) Pattern

More information

Developing ASP.NET MVC 4 Web Applications

Developing ASP.NET MVC 4 Web Applications Course M20486 5 Day(s) 30:00 Hours Developing ASP.NET MVC 4 Web Applications Introduction In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5 tools

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

Syntax Check of Embedded SQL in C++ with Proto

Syntax Check of Embedded SQL in C++ with Proto Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 383 390. Syntax Check of Embedded SQL in C++ with Proto Zalán Szűgyi, Zoltán Porkoláb

More information

Implementing reusable software components for SNOMED CT diagram and expression concept representations

Implementing reusable software components for SNOMED CT diagram and expression concept representations 1028 e-health For Continuity of Care C. Lovis et al. (Eds.) 2014 European Federation for Medical Informatics and IOS Press. This article is published online with Open Access by IOS Press and distributed

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

SCADE System 17.0. Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System 17.0 1

SCADE System 17.0. Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System 17.0 1 SCADE System 17.0 SCADE System is the product line of the ANSYS Embedded software family of products and solutions that empowers users with a systems design environment for use on systems with high dependability

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

Domain Analysis of E-Commerce Systems Using Feature-Based Model Templates

Domain Analysis of E-Commerce Systems Using Feature-Based Model Templates Domain Analysis of E-Commerce Systems Using Feature-Based Model Templates by Sean Quan Lau A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master

More information

COCOVILA Compiler-Compiler for Visual Languages

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

More information

Developing ASP.NET MVC 4 Web Applications MOC 20486

Developing ASP.NET MVC 4 Web Applications MOC 20486 Developing ASP.NET MVC 4 Web Applications MOC 20486 Course Outline Module 1: Exploring ASP.NET MVC 4 The goal of this module is to outline to the students the components of the Microsoft Web Technologies

More information

EMC Documentum Composer

EMC Documentum Composer EMC Documentum Composer Version 6.5 User Guide P/N 300 007 217 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights

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

Development Process Automation Experiences in Japan

Development Process Automation Experiences in Japan Development Process Automation Experiences in Japan Dr. Olaf Kath ikv ++ technologies ag Germany ikv++ technologies ag 2007 who we are core business optimization and automation of our customer s system

More information

Towards a Generic Infrastructure for Framework-Specific Integrated Development Environment Extensions

Towards a Generic Infrastructure for Framework-Specific Integrated Development Environment Extensions Towards a Generic Infrastructure for Framework-Specific Integrated Development Environment Extensions Herman Hon Man Lee, Michał Antkiewicz, Krzysztof Czarnecki Generative Software Development Lab University

More information

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Processes Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce software process models To describe three generic process models and when

More information

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2). 0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems

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

Enterprise Application Development Using UML, Java Technology and XML

Enterprise Application Development Using UML, Java Technology and XML Enterprise Application Development Using UML, Java Technology and XML Will Howery CTO Passage Software LLC 1 Introduction Effective management and modeling of enterprise applications Web and business-to-business

More information

Model-Driven Health Tools (MDHT) CDA Tools Overview. http://mdht.projects.openhealthtools.org

Model-Driven Health Tools (MDHT) CDA Tools Overview. http://mdht.projects.openhealthtools.org Model-Driven Health Tools (MDHT) CDA Tools Overview http://mdht.projects.openhealthtools.org CDA Tools Objectives Accelerate and lower cost of adopting CDAr2 standard Define new CDA templates and implementation

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

Preparing for Automated Derivation of Products in a Software Product Line

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

More information

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

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

Programming with the Microsoft.NET Framework Using Microsoft Visual Studio 2005 (VB)

Programming with the Microsoft.NET Framework Using Microsoft Visual Studio 2005 (VB) Programming with the Microsoft.NET Framework Using Microsoft Visual Studio 2005 (VB) Course Number: 4995 Length: 5 Day(s) Certification Exam There are no exams associated with this course. Course Overview

More information

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

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

More information

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led Course Description In this course, students will learn to develop advanced ASP.NET MVC applications using.net Framework 4.5

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

Software Industrialization and The New IT

Software Industrialization and The New IT Software Industrialization and The New IT A Perspective on MDA David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:

More information

.NET and J2EE Intro to Software Engineering

.NET and J2EE Intro to Software Engineering .NET and J2EE Intro to Software Engineering David Talby This Lecture.NET Platform The Framework CLR and C# J2EE Platform And Web Services Introduction to Software Engineering The Software Crisis Methodologies

More information

Building Domain-Specific Decision Models. Jacob Feldman, PhD OpenRules, Inc., CTO www.openrules.com

Building Domain-Specific Decision Models. Jacob Feldman, PhD OpenRules, Inc., CTO www.openrules.com Building Domain-Specific Decision Models Jacob Feldman, PhD OpenRules, Inc., CTO www.openrules.com San Jose, Oct 13-15, 2014 1 Outline Transformation from Domain-specific programming languages (DSL) to

More information

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This

More information

Aplicando enfoque MDE a aplicaciones WEB-SOA

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

More information

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

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

More information

Oracle Application Development Framework Overview

Oracle Application Development Framework Overview An Oracle White Paper June 2011 Oracle Application Development Framework Overview Introduction... 1 Oracle ADF Making Java EE Development Simpler... 2 THE ORACLE ADF ARCHITECTURE... 3 The Business Services

More information

This presentation is for informational purposes only and may not be incorporated into a contract or agreement.

This presentation is for informational purposes only and may not be incorporated into a contract or agreement. This presentation is for informational purposes only and may not be incorporated into a contract or agreement. This following is intended to outline our general product direction. It is intended for information

More information

David Chou. david.chou@microsoft.com Architect Microsoft

David Chou. david.chou@microsoft.com Architect Microsoft David Chou david.chou@microsoft.com Architect Microsoft Business Online Services from Microsoft Services Services Estimate custom design Unstructured Get specs from customer Validate specs with Tech

More information

IBM Rational Rapid Developer Components & Web Services

IBM Rational Rapid Developer Components & Web Services A Technical How-to Guide for Creating Components and Web Services in Rational Rapid Developer June, 2003 Rev. 1.00 IBM Rational Rapid Developer Glenn A. Webster Staff Technical Writer Executive Summary

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

<Insert Picture Here> Oracle SQL Developer 3.0: Overview and New Features

<Insert Picture Here> Oracle SQL Developer 3.0: Overview and New Features 1 Oracle SQL Developer 3.0: Overview and New Features Sue Harper Senior Principal Product Manager The following is intended to outline our general product direction. It is intended

More information

Metamodels and Modeling Multiple Kinds of Information Systems

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

More information

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

A Web Specific Language for Content Management Systems

A Web Specific Language for Content Management Systems A Web Specific Language for Content Management Systems Viðar Svansson and Roberto E. Lopez-Herrejon Computing Laboratory, University of Oxford, England Abstract. Many web applications can be specified

More information

An introduction to creating JSF applications in Rational Application Developer Version 8.0

An introduction to creating JSF applications in Rational Application Developer Version 8.0 An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create

More information

SharePoint Checklist and Resources

SharePoint Checklist and Resources SharePoint Checklist and Resources Activity Labs for Developer Labs for Administrator Resources Create a re-buildable SharePoint environment Lab : Install SharePoint 2010 Exercise 1: Create Active Directory

More information

BUSINESS RULES AND GAP ANALYSIS

BUSINESS RULES AND GAP ANALYSIS Leading the Evolution WHITE PAPER BUSINESS RULES AND GAP ANALYSIS Discovery and management of business rules avoids business disruptions WHITE PAPER BUSINESS RULES AND GAP ANALYSIS Business Situation More

More information

A Business Process Services Portal

A Business Process Services Portal A Business Process Services Portal IBM Research Report RZ 3782 Cédric Favre 1, Zohar Feldman 3, Beat Gfeller 1, Thomas Gschwind 1, Jana Koehler 1, Jochen M. Küster 1, Oleksandr Maistrenko 1, Alexandru

More information

To introduce software process models To describe three generic process models and when they may be used

To introduce software process models To describe three generic process models and when they may be used Software Processes Objectives To introduce software process models To describe three generic process models and when they may be used To describe outline process models for requirements engineering, software

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

CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology

CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology CommentTemplate: A Lightweight Code Generator for Java built with Eclipse Modeling Technology Jendrik Johannes, Mirko Seifert, Christian Wende, Florian Heidenreich, and Uwe Aßmann DevBoost GmbH D-10179,

More information

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software... 1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand

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

Component visualization methods for large legacy software in C/C++

Component visualization methods for large legacy software in C/C++ Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University mcserep@caesar.elte.hu

More information

Developing SOA solutions using IBM SOA Foundation

Developing SOA solutions using IBM SOA Foundation Developing SOA solutions using IBM SOA Foundation Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this

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

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

Requirements Definition and Management Processes

Requirements Definition and Management Processes Software Engineering G22.2440-001 Session 1 Sub-Topic 1 Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute

More information

A Multi-layered Domain-specific Language for Stencil Computations

A Multi-layered Domain-specific Language for Stencil Computations A Multi-layered Domain-specific Language for Stencil Computations Christian Schmitt, Frank Hannig, Jürgen Teich Hardware/Software Co-Design, University of Erlangen-Nuremberg Workshop ExaStencils 2014,

More information

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

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

More information