challenges in domain-specific modeling raphaël mannadiar august 27, 2009

Size: px
Start display at page:

Download "challenges in domain-specific modeling raphaël mannadiar august 27, 2009"

Transcription

1 challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59

2 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 2/59

3 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 3/59

4 0110s to dsm why not abstract? generated code less efficient? general purpose languages less expressive? why abstract? mapping to develop, maintain, debug... is error prone and difficult increased productivity compensates for loss in efficiency domain-specific languages should be less expressive raphaël mannadiar challenges in domain-specific modeling 4/59

5 how is productivity increased? user s mental model of problem is closer to implementation more intuitive and less error-prone development dsm environment constrains user to create valid domain models leverage expertise domain experts play with domain models programming experts play with APIs and frameworks domain, programming and transformation experts play with model-to-artifact transformations raphaël mannadiar challenges in domain-specific modeling 5/59

6 how is productivity increased? user s mental model of problem is closer to implementation more intuitive and less error-prone development dsm environment constrains user to create valid domain models leverage expertise domain experts play with domain models programming experts play with APIs and frameworks domain, programming and transformation experts play with model-to-artifact transformations increased productivity raphaël mannadiar challenges in domain-specific modeling 6/59

7 modeling concepts why model? models are cheaper, safer and quicker to build, reason about, test and modify than the systems they represent raphaël mannadiar challenges in domain-specific modeling 7/59

8 modeling concepts why model? models are cheaper, safer and quicker to build, reason about, test and modify than the systems they represent defining models a metamodel defines a set of entities, associations and constraints that determine a possibly infinite set of conforming models raphaël mannadiar challenges in domain-specific modeling 8/59

9 modeling concepts why model? models are cheaper, safer and quicker to build, reason about, test and modify than the systems they represent defining metamodels common approaches are graph grammars and (augmented) uml class diagrams defining models a metamodel defines a set of entities, associations and constraints that determine a possibly infinite set of conforming models raphaël mannadiar challenges in domain-specific modeling 9/59

10 modeling concepts why model? models are cheaper, safer and quicker to build, reason about, test and modify than the systems they represent defining models a metamodel defines a set of entities, associations and constraints that determine a possibly infinite set of conforming models defining metamodels common approaches are graph grammars and (augmented) uml class diagrams defining model semantics common approach is mapping down to domains with well-defined semantics (e.g. mathematics, statecharts, python) raphaël mannadiar challenges in domain-specific modeling 10/59

11 dsm vs. code generation traditional code generation... not popular because generated code is often awkward, inefficient, inflexible and/or incomplete source domain is too large target domain is too large raphaël mannadiar challenges in domain-specific modeling 11/59

12 dsm vs. code generation traditional code generation... not popular because generated code is often awkward, inefficient, inflexible and/or incomplete source domain is too large target domain is too large but! dsm is different... source domain restricted from all models of all applications to models of applications from 1 domain target domain restricted from all applications to applications from 1 domain enables generation of complete and optimized artifacts raphaël mannadiar challenges in domain-specific modeling 12/59

13 dsm challenges the coding community has mature tools that facilitate editing debugging differencing versioning of text-based artifacts (e.g., code, xml) raphaël mannadiar challenges in domain-specific modeling 13/59

14 dsm challenges the coding community has mature tools that facilitate editing debugging differencing versioning of text-based artifacts (e.g., code, xml) how can the these activities and their underlying principles be generalized to dsm? raphaël mannadiar challenges in domain-specific modeling 14/59

15 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 15/59

16 generative programming (gp) basic idea bring software engineering to the same level of automation as other forms of manufacturing i.e., standardized components (e.g., 1 4 bolts) standardized interfaces (e.g., category B plug) customizable assembly lines (e.g., same line for red and blue Corollas) raphaël mannadiar challenges in domain-specific modeling 16/59

17 generative programming (gp) basic idea bring software engineering to the same level of automation as other forms of manufacturing i.e., standardized components (e.g., 1 4 bolts) standardized interfaces (e.g., category B plug) customizable assembly lines (e.g., same line for red and blue Corollas) example instead of coding a LinkedList, an ArrayList and a SyncList, code a List<T> which can be instantiated with arbitrary configurations raphaël mannadiar challenges in domain-specific modeling 17/59

18 generative programming (gp) basic idea bring software engineering to the same level of automation as other forms of manufacturing i.e., standardized components (e.g., 1 4 bolts) standardized interfaces (e.g., category B plug) customizable assembly lines (e.g., same line for red and blue Corollas) example instead of coding a LinkedList, an ArrayList and a SyncList, code a List<T> which can be instantiated with arbitrary configurations gp vs. dsm an appropriate technique for implementing domain frameworks raphaël mannadiar challenges in domain-specific modeling 18/59

19 model-driven architecture (mda) the object management group s (omg) approach to model-driven engineering basic idea software development viewed as a series of model refinements where lower and lower level models (referred to as platform-specific models) are (semi-)automatically generated from higher level ones (referred to as platform-independent models) modelers are expected to modify and contribute to generated intermediate models raphaël mannadiar challenges in domain-specific modeling 19/59

20 model-driven architecture (mda) the object management group s (omg) approach to model-driven engineering basic idea software development viewed as a series of model refinements where lower and lower level models (referred to as platform-specific models) are (semi-)automatically generated from higher level ones (referred to as platform-independent models) modelers are expected to modify and contribute to generated intermediate models mda vs. dsm between UML modeling and dsm... interaction with intermediate models prevents true raise in abstraction raphaël mannadiar challenges in domain-specific modeling 20/59

21 metamodeling basic idea complex operations on models and metamodels should not be developed from scratch for every metamodel they should take metamodels as parameters hence, all metamodels should conform to a metametamodel raphaël mannadiar challenges in domain-specific modeling 21/59

22 metamodeling basic idea complex operations on models and metamodels should not be developed from scratch for every metamodel they should take metamodels as parameters hence, all metamodels should conform to a metametamodel example one generic tool used as a modeling environment for any metamodel raphaël mannadiar challenges in domain-specific modeling 22/59

23 metamodeling basic idea complex operations on models and metamodels should not be developed from scratch for every metamodel they should take metamodels as parameters hence, all metamodels should conform to a metametamodel example one generic tool used as a modeling environment for any metamodel metamodeling vs. dsm there is a consensus that metamodeling is the key to empowering model based techniques raphaël mannadiar challenges in domain-specific modeling 23/59

24 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 24/59

25 simulation premise simulating a model empowers the modeler to test and reason about its behavior raphaël mannadiar challenges in domain-specific modeling 25/59

26 simulation premise simulating a model empowers the modeler to test and reason about its behavior approach 1 : hard-coded simulators the behavioral semantics of a formalism are hard-coded in a tool that can simulate conforming models raphaël mannadiar challenges in domain-specific modeling 26/59

27 simulation premise simulating a model empowers the modeler to test and reason about its behavior approach 1 : hard-coded simulators the behavioral semantics of a formalism are hard-coded in a tool that can simulate conforming models approach 2 : rule-based simulators rules define simulation steps simulating equals the sequential (and interactive) application of these rules a metamodeling tool can generate a simulation environment from these rules raphaël mannadiar challenges in domain-specific modeling 27/59

28 debugging premise error tracking and reproduction are key activities in debugging software modern coding tools allow setting/clearing breakpoints, stepping over/into expressions, pausing/resuming execution and reading field values these facilities should also be offered by model debugging tools raphaël mannadiar challenges in domain-specific modeling 28/59

29 debugging premise error tracking and reproduction are key activities in debugging software modern coding tools allow setting/clearing breakpoints, stepping over/into expressions, pausing/resuming execution and reading field values these facilities should also be offered by model debugging tools current best approaches... deal with textual dsls only instrument code generation rules to store mapping of dsl statements to gpl statements instrument code generation rules such that generated gpl code updates dsl variable values reuse gpl debuggers (e.g., gdb, jdb) to provide debugging operations at the dsl level (e.g., a breakpoint set in the dsl code will call jdb s breaking function from the matching line in the generated java code) raphaël mannadiar challenges in domain-specific modeling 29/59

30 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 30/59

31 computing differences premise means to merge, version and store sequential and parallel versions of models are needed means to visualize differences between models are needed raphaël mannadiar challenges in domain-specific modeling 31/59

32 computing differences premise means to merge, version and store sequential and parallel versions of models are needed means to visualize differences between models are needed lexical differencing approaches differentiate between textual documents (e.g., code, xml) no sense of semantically meaningful and meaningless differences (e.g., layout changes) no sense of design-level differences wrong level of abstraction raphaël mannadiar challenges in domain-specific modeling 32/59

33 computing differences... model differencing approaches 1 create some kind of abstract syntax graph (asg) of the models 2 establish matches between both asgs using unique identifiers or syntactic and structural similarities 3 determine creations, deletions and changes from one asg to the other metamodel-specific and -independent approaches exist raphaël mannadiar challenges in domain-specific modeling 33/59

34 computing differences... model differencing approaches 1 create some kind of abstract syntax graph (asg) of the models 2 establish matches between both asgs using unique identifiers or syntactic and structural similarities 3 determine creations, deletions and changes from one asg to the other metamodel-specific and -independent approaches exist unique identifiers 100% reliable matching tool dependence/lock-in similarity heuristics tool independent sensitive to principled versioning raphaël mannadiar challenges in domain-specific modeling 34/59

35 representing differences premise given a difference between two models, how can it be represented? raphaël mannadiar challenges in domain-specific modeling 35/59

36 representing differences premise given a difference between two models, how can it be represented? edit scripts approaches differences are sequences of invertible operations (e.g. create element, modify attribute) which specify how a model can be procedurally turned into another low readability for humans raphaël mannadiar challenges in domain-specific modeling 36/59

37 representing differences premise given a difference between two models, how can it be represented? edit scripts approaches differences are sequences of invertible operations (e.g. create element, modify attribute) which specify how a model can be procedurally turned into another low readability for humans coloring approaches overlay 2 models and color differences; more familiar to modeler but doesn t scale color document object model- (dom) like view of the model; more compact and scalable raphaël mannadiar challenges in domain-specific modeling 37/59

38 representing differences premise given a difference between two models, how can it be represented? edit scripts approaches differences are sequences of invertible operations (e.g. create element, modify attribute) which specify how a model can be procedurally turned into another low readability for humans coloring approaches overlay 2 models and color differences; more familiar to modeler but doesn t scale color document object model- (dom) like view of the model; more compact and scalable difference models differences are models enables the use of higher-order transformations to manipulate, apply, merge, invert and represent model differences tool-, metamodel- and differencing method-independent raphaël mannadiar challenges in domain-specific modeling 38/59

39 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 39/59

40 sources of evolution domain-driven dsls are tightly coupled with their domain domain changes can spawn metamodel changes these can syntactically and/or semantically invalidate existing models and transformations raphaël mannadiar challenges in domain-specific modeling 40/59

41 sources of evolution domain-driven dsls are tightly coupled with their domain domain changes can spawn metamodel changes these can syntactically and/or semantically invalidate existing models and transformations target-driven model transformations may produce artifacts that interact with some target platform (e.g. API, device) changes in the target may invalidate these transformations and force evolution raphaël mannadiar challenges in domain-specific modeling 41/59

42 sources of evolution domain-driven dsls are tightly coupled with their domain domain changes can spawn metamodel changes these can syntactically and/or semantically invalidate existing models and transformations target-driven model transformations may produce artifacts that interact with some target platform (e.g. API, device) changes in the target may invalidate these transformations and force evolution convenience-driven language extensions and new syntactical constructs maybe added to a language these typically shouldn t invalidate existing models raphaël mannadiar challenges in domain-specific modeling 42/59

43 model and model intrepreter co-evolution traditional approach : do it yourself manually co-evolve models and model intrepreters as metamodels evolve raphaël mannadiar challenges in domain-specific modeling 43/59

44 model and model intrepreter co-evolution traditional approach : do it yourself manually co-evolve models and model intrepreters as metamodels evolve current best approaches... (models) distinguish between easy and difficult metamodel changes use higher-order transformations to generate model co-evolution transformations from metamodel difference models raphaël mannadiar challenges in domain-specific modeling 44/59

45 model and model intrepreter co-evolution traditional approach : do it yourself manually co-evolve models and model intrepreters as metamodels evolve current best approaches... (models) distinguish between easy and difficult metamodel changes use higher-order transformations to generate model co-evolution transformations from metamodel difference models only current approach... (intrepreters) instrument model co-evolution rules with instructions to rewrite code patterns in coded model intrepreters raphaël mannadiar challenges in domain-specific modeling 45/59

46 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 46/59

47 specifying transformations with code transformations are imperative code programs complicates use of higher-order transformations intent of transformation may be lost in implementation details raphaël mannadiar challenges in domain-specific modeling 47/59

48 specifying transformations with code transformations are imperative code programs complicates use of higher-order transformations intent of transformation may be lost in implementation details with rules rules contain a pattern, a guard and a body more modular and abstract than coded transformations raphaël mannadiar challenges in domain-specific modeling 48/59

49 specifying transformations with code transformations are imperative code programs complicates use of higher-order transformations intent of transformation may be lost in implementation details with rules rules contain a pattern, a guard and a body more modular and abstract than coded transformations with xslt serialize models to xml and then transform xml using xslt awkward transformations due to tree-based nature of xml vs. graph based nature of models lacking expressiveness for complex transformations readability and scalability issues lacking means of error reporting raphaël mannadiar challenges in domain-specific modeling 49/59

50 specifying transformations with code transformations are imperative code programs complicates use of higher-order transformations intent of transformation may be lost in implementation details with rules rules contain a pattern, a guard and a body more modular and abstract than coded transformations with xslt serialize models to xml and then transform xml using xslt awkward transformations due to tree-based nature of xml vs. graph based nature of models lacking expressiveness for complex transformations readability and scalability issues lacking means of error reporting with pre-/post- conditions pre-conditions express conditions the host model must satisfy for the rule to be applicable post-conditions express conditions the host model must satisfy after the run has been applied declarative approach well suited for transformation bi-directionality power contingent on constraint solving facilities raphaël mannadiar challenges in domain-specific modeling 50/59

51 specifying transformations... with graph transformations rules rule-based approach left-hand side and right-hand side patterns (which use domain concepts) theoretically founded possible bi-directionality achievable via triple graph grammars raphaël mannadiar challenges in domain-specific modeling 51/59

52 executing rule-based transformations... default graph grammar semantics any applicable rule may run stop when no more rules are applicable lacking facilities for determinism and scheduling raphaël mannadiar challenges in domain-specific modeling 52/59

53 executing rule-based transformations... default graph grammar semantics any applicable rule may run stop when no more rules are applicable lacking facilities for determinism and scheduling structured approaches rule-based approaches become more powerful when control flow and scheduling mechanisms are added some tools offer conditions, loops, transactions and hierarchy these may be reflection-based or graphical raphaël mannadiar challenges in domain-specific modeling 53/59

54 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 54/59

55 weaving features together traditional approach 1 study the domain 2 extract domain concepts, associations and constraints 3 express these in an augmented class diagram raphaël mannadiar challenges in domain-specific modeling 55/59

56 weaving features together traditional approach 1 study the domain 2 extract domain concepts, associations and constraints 3 express these in an augmented class diagram possible future approach : feature weaving motivation: a new formalism where notions of state and transition exist may benefit from reusing parts or all of the statechart formalism idea: inspired from aspect-oriented development where modularly defined concerns are weaved together with core concerns to form complete systems 1 determine basic feature set for all dsls (e.g., state-based, continuous time) 2 select basic features of a dsl 3 compose them somehow to yield new dsl very modular approach axed on reusability synthesized dsls should remain bound to the features composing them allowing for automatic generation of certain artifacts (e.g., basic simulators) raphaël mannadiar challenges in domain-specific modeling 56/59

57 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 57/59

58 recap over the past decades, software development has naturally evolved towards dsm dsm improves productivity by reducing the conceptual gap between the requirements and the solution to replace traditional software development approaches, robust and scalable means to simulate, debug, difference, version, transform and co-evolve models are required dsl engineering may benefit from techniques from aspect-oriented development raphaël mannadiar challenges in domain-specific modeling 58/59

59 questions? thanks! raphaël mannadiar challenges in domain-specific modeling 59/59

Model Driven Engineering (MDE)

Model Driven Engineering (MDE) Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering

More information

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

Whole Platform Foundation. The Long Way Toward Language Oriented Programming Whole Platform Foundation The Long Way Toward Language Oriented Programming 2008 by Riccardo Solmi made available under the Creative Commons License last updated 22 October 2008 Outline Aim: Engineering

More information

Modelling in Enterprise Architecture. MSc Business Information Systems

Modelling in Enterprise Architecture. MSc Business Information Systems Modelling in Enterprise Architecture MSc Business Information Systems Models and Modelling Modelling Describing and Representing all relevant aspects of a domain in a defined language. Result of modelling

More information

Sequence Diagram Generation with Model Transformation Technology

Sequence Diagram Generation with Model Transformation Technology , March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,

More information

Defining Domain-Specific Modeling Languages

Defining Domain-Specific Modeling Languages Defining Domain-Specific Modeling Languages 1 st Oct 2008 Juha-Pekka Tolvanen MetaCase 1 Relevant language classifications to start with General-Purpose / Domain-Specific Narrow area of interest Often

More information

A conceptual framework for building good DSLs. Markus Voelter independent/itemis

A conceptual framework for building good DSLs. Markus Voelter independent/itemis DSL Design A conceptual framework for building good DSLs Markus Voelter independent/itemis voelter@acm.org www.voelter.de voelterblog.blogspot.de @markusvoelter +Markus Voelter based on material from a

More information

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM): viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information

More information

Raising the Level of Development: Models, Architectures, Programs

Raising the Level of Development: Models, Architectures, Programs IBM Software Group Raising the Level of Development: Models, Architectures, Programs Dr. James Rumbaugh IBM Distinguished Engineer Why Is Software Difficult? Business domain and computer have different

More information

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach Science of Computer Programming 75 (2010) 689 725 Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico Aspect-oriented model-driven

More information

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management Second OMG Workshop on Web Services Modeling Easy Development of Scalable Web Services Based on Model-Driven Process Management 88 solutions Chief Technology Officer 2003 Outline! Introduction to Web Services!

More information

Software Architecture

Software Architecture Software Architecture Benjamin Satzger Distributed Systems Group TU Wien http://www.infosys.tuwien.ac.at/staff/ bsatzger Models Terms Unified Modeling Language (UML) Architecture Description Language (ADL)

More information

Software Language Engineering of Architectural Viewpoints

Software Language Engineering of Architectural Viewpoints Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr

More information

Language engineering and Domain Specific Languages

Language engineering and Domain Specific Languages Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh Plan 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

Metamodeling with Metamodels. Using. UML/MOF including OCL

Metamodeling with Metamodels. Using. UML/MOF including OCL Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of

More information

An Introduction to MDE

An Introduction to MDE An Introduction to MDE Alfonso Pierantonio Dipartimento di Informatica Università degli Studi dell Aquila alfonso@di.univaq.it. Outline 2 2» Introduction» What is a Model?» Model Driven Engineering Metamodeling

More information

Applying Model Driven Technologies in the Creation. of Domain Specific Modeling Languages

Applying Model Driven Technologies in the Creation. of Domain Specific Modeling Languages Applying Model Driven Technologies in the Creation Model Driven Development Language Editor Generator Abstraction Model Driven Development Refinement of Domain Specific Modeling Languages Bruce Trask Angel

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language Plan Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

USING PAPYRUS IN A DESIGN SPACE EXPLORATION TOOLCHAIN CURRENT DEVELOPMENTS AT FLANDERS MAKE

USING PAPYRUS IN A DESIGN SPACE EXPLORATION TOOLCHAIN CURRENT DEVELOPMENTS AT FLANDERS MAKE USING PAPYRUS IN A DESIGN SPACE EXPLORATION TOOLCHAIN CURRENT DEVELOPMENTS AT FLANDERS MAKE Who is Flanders Make? A Flemish research institute whose mission is to strengthen the long-term international

More information

3rd Lecture Languages for information modeling

3rd Lecture Languages for information modeling 3rd Lecture Languages for information modeling Agenda Languages for information modeling UML UML basic concepts Modeling by UML diagrams CASE tools: concepts, features and objectives CASE toolset architecture

More information

Describing Computer Languages

Describing Computer Languages Markus Scheidgen Describing Computer Languages Meta-languages to describe languages, and meta-tools to automatically create language tools Doctoral Thesis August 10, 2008 Humboldt-Universität zu Berlin

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

Model driven Engineering & Model driven Architecture

Model driven Engineering & Model driven Architecture Model driven Engineering & Model driven Architecture Prof. Dr. Mark van den Brand Software Engineering and Technology Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Model driven software

More information

A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best

A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best Domain Specific Languages Markus Voelter Independent/itemis voelter@acm.org A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES

More information

Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems

Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems Andrey Nechypurenko 1, Egon Wuchner 1, Jules White 2, and Douglas C. Schmidt 2 1 Siemens AG, Corporate Technology

More information

Visual Layout of Graph-Like Models

Visual Layout of Graph-Like Models Visual Layout of Graph-Like Models Tarek Sharbak MhdTarek.Sharbak@uantwerpen.be Abstract The modeling of complex software systems has been growing significantly in the last years, and it is proving to

More information

Introduction to Dependable Systems: Meta-modeling and modeldriven

Introduction to Dependable Systems: Meta-modeling and modeldriven Introduction to Dependable Systems: Meta-modeling and modeldriven development http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 3 Software development Automated software

More information

COMP-421 Compiler Design. Presented by Dr Ioanna Dionysiou

COMP-421 Compiler Design. Presented by Dr Ioanna Dionysiou COMP-421 Compiler Design Presented by Dr Ioanna Dionysiou Administrative! Next time reading assignment [ALSU07] Chapters 1,2 [ALSU07] Sections 1.1-1.5 (cover in class) [ALSU07] Section 1.6 (read on your

More information

The Eclipse Modeling Framework and MDA Status and Opportunities

The Eclipse Modeling Framework and MDA Status and Opportunities The Eclipse Modeling Framework and MDA Status and Opportunities David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:

More information

Introduction to MDE and Model Transformation

Introduction to MDE and Model Transformation Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and

More information

Presenter: Dong hyun Park

Presenter: Dong hyun Park Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components

More information

SUMMARY: MODEL DRIVEN SECURITY

SUMMARY: MODEL DRIVEN SECURITY SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,

More information

INT NTION L. Domain Expert DSLs

INT NTION L. Domain Expert DSLs INT NTION L S O F T W A R E E A Domain Expert DSLs Magnus Christerson Intentional Software Corporation Henk Kolk CTO Financial Services, Capgemini The Challenge Business to accelerate Collabora ation Business

More information

Refactoring Practice: How it is and How it Should be Supported

Refactoring Practice: How it is and How it Should be Supported Refactoring Practice: How it is and How it Should be Supported Zhenchang Xing and EleniStroulia Presented by: Sultan Almaghthawi 1 Outline Main Idea Related Works/Literature Alignment Overview of the Case

More information

BLU AGE 2009 Edition Agile Model Transformation

BLU AGE 2009 Edition Agile Model Transformation BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation

More information

Model-Based Techniques in the Development of Net-Centric Applications. Timothy A. Anderson Basil C. Krikeles. June 20, 2007

Model-Based Techniques in the Development of Net-Centric Applications. Timothy A. Anderson Basil C. Krikeles. June 20, 2007 Model-Based Techniques in the Development of Net-Centric Applications June 20, 2007 Timothy A. Anderson Basil C. Krikeles BAE-Systems Advanced Information Technologies 6 New England Executive Park Burlington,

More information

MDA Driven xuml Plug-in for JAVA

MDA Driven xuml Plug-in for JAVA 2012 International Conference on Information and Network Technology (ICINT 2012) IPCSIT vol. 37 (2012) (2012) IACSIT Press, Singapore MDA Driven xuml Plug-in for JAVA A.M.Magar 1, S.S.Kulkarni 1, Pooja

More information

Model Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL)

Model Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL) Model Driven Engineering (MDE) and Department of Computer Engineering Faculty of Engineering Bergen University College NORWAY 06.06.2008 Institute of Mathematics and Informatics, Vilnius, LITHUANIA Project

More information

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE Andrei Kirshin, Dany Moshkovich, Alan Hartman IBM Haifa Research Lab Mount Carmel, Haifa 31905, Israel E-mail: {kirshin, mdany, hartman}@il.ibm.com

More information

Formal Verification for safety critical requirements From Unit-Test to HIL

Formal Verification for safety critical requirements From Unit-Test to HIL Formal Verification for safety critical requirements From Unit-Test to HIL Markus Gros Director Product Sales Europe & North America BTC Embedded Systems AG Berlin, Germany markus.gros@btc-es.de Hans Jürgen

More information

Modular Synthesis of Mobile Device Applications from Domain-Specific Models

Modular Synthesis of Mobile Device Applications from Domain-Specific Models Modular Synthesis of Mobile Device Applications from Domain-Specific Models Raphael Mannadiar, Hans Vangheluwe School of Computer Science McGill University rmanna@cs.mcgill.ca, hv@cs.mcgill.ca Abstract

More information

1 Executive Overview The Benefits and Objectives of BPDM

1 Executive Overview The Benefits and Objectives of BPDM 1 Executive Overview The Benefits and Objectives of BPDM This is an excerpt from the Final Submission BPDM document posted to OMG members on November 13 th 2006. The full version of the specification will

More information

Software Reuse Techniques

Software Reuse Techniques DCC / ICEx / UFMG Software Reuse Techniques Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Overview of Reuse Techniques Frameworks Design Patterns Configurable Applications Architecture Patterns

More information

Reading part: Design-Space Exploration with Alloy

Reading part: Design-Space Exploration with Alloy Reading part: Design-Space Exploration with Alloy Ing. Ken Vanherpen Abstract In the growing world of MDE many tools are offered to describe a (part of a) system, constrain it, and check some properties

More information

Metaprogrammable Toolkit for Model-Integrated Computing

Metaprogrammable Toolkit for Model-Integrated Computing Metaprogrammable Toolkit for Model-Integrated Computing Akos Ledeczi, Miklos Maroti, Gabor Karsai and Greg Nordstrom Institute for Software Integrated Systems Vanderbilt University Abstract Model-Integrated

More information

MDSE USE CASES. Chapter #3

MDSE USE CASES. Chapter #3 Chapter #3 MDSE USE CASES Teaching material for the book Model-Driven Software Engineering in Practice by Morgan & Claypool, USA, 2012. www.mdse-book.com MDSE GOES FAR BEYOND CODE-GENERATION www.mdse-book.com

More information

Principles of Computer Game Design and Implementation. Lecture 3

Principles of Computer Game Design and Implementation. Lecture 3 Principles of Computer Game Design and Implementation Lecture 3 We already knew Introduction to this module History of video High-level information for a game (such as Game platform, player motivation,

More information

Compiler Design. Subject Code: 6CS63/06IS662. Part A UNIT 1. Chapter Introduction. 1.1 Language Processors

Compiler Design. Subject Code: 6CS63/06IS662. Part A UNIT 1. Chapter Introduction. 1.1 Language Processors Compiler Design Subject Code: 6CS63/06IS662 Part A UNIT 1 Chapter 1 1. Introduction 1.1 Language Processors A compiler is a program that can read a program in one language (source language) and translate

More information

Klocwork Architecture Excavation Methodology. Nikolai Mansurov Chief Scientist & Architect

Klocwork Architecture Excavation Methodology. Nikolai Mansurov Chief Scientist & Architect Klocwork Architecture Excavation Methodology Nikolai Mansurov Chief Scientist & Architect Overview! Introduction Production of software is evolutionary and involves multiple releases Evolution of existing

More information

Lecture 9. VHDL, part IV. Hierarchical and parameterized design. Section 1 HIERARCHICAL DESIGN

Lecture 9. VHDL, part IV. Hierarchical and parameterized design. Section 1 HIERARCHICAL DESIGN Lecture 9 VHDL, part IV Hierarchical and parameterized design Section 1 HIERARCHICAL DESIGN 2 1 Dealing with Large Digital System Design 1. Apply hierarchy to the design At the highest level use larger

More information

Compiling and Interpreting Programming. Overview of Compilers and Interpreters

Compiling and Interpreting Programming. Overview of Compilers and Interpreters Copyright R.A. van Engelen, FSU Department of Computer Science, 2000 Overview of Compilers and Interpreters Common compiler and interpreter configurations Virtual machines Integrated programming environments

More information

Minsoo Ryu. College of Information and Communications Hanyang University.

Minsoo Ryu. College of Information and Communications Hanyang University. Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based

More information

Use of MS DSL Tools in the development process of a Domain-Specific Language

Use of MS DSL Tools in the development process of a Domain-Specific Language Use of MS DSL Tools in the development process of a Domain-Specific Language André Rosa 1, Vasco Amaral 1* and Bruno Barroca 1*, 1 Research Center for Informatics and Information Technologies, Faculdade

More information

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1. www.thalesgroup.com Start Up Benoît Langlois / Thales Global Services 2 / Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Introduction EGF Architecture Concepts & Practice EGF Portfolios

More information

Using UML To Define XML Document Types

Using UML To Define XML Document Types Using UML To Define XML Document Types W. Eliot Kimber ISOGEN International, A DataChannel Company Created On: 10 Dec 1999 Last Revised: 14 Jan 2000 Defines a convention for the use of UML to define XML

More information

AUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK

AUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK AUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK Wilfrid Lefer LIUPPA - Université de Pau B.P. 1155, 64013 Pau, France e-mail: wilfrid.lefer@univ-pau.fr ABSTRACT VTK (The Visualization Toolkit) has

More information

Software Architectures

Software Architectures Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429

More information

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends! Requirements Spec. Design Coding and Unit Testing Characteristics of System to be built must match required characteristics (high level) Architecture consistent views Software Engineering Computer Science

More information

White Paper on RFP II: Abstract Syntax Tree Meta-Model

White Paper on RFP II: Abstract Syntax Tree Meta-Model White Paper on RFP II: Abstract Syntax Tree Meta-Model OMG Architecture Driven Modernization Task Force August 18, 2004 Contributors: Philip Newcomb, The Software Revolution, Inc. Ed Gentry, Blue Phoenix,

More information

Introduction to Model Driven Engineering using Eclipse. Frameworks

Introduction to Model Driven Engineering using Eclipse. Frameworks Introduction to Model Driven Engineering using Eclipse Model Driven Development Generator s Bruce Trask Angel Roman MDE Systems Abstraction Model Driven Development Refinement 1 Part I Agenda What is Model

More information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML 2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany

More information

The Future of Software Radio MDD Tools. Dom Paniscotti Bruce Trask

The Future of Software Radio MDD Tools. Dom Paniscotti Bruce Trask The Future of Software Radio MDD Tools Dom Paniscotti Bruce Trask Current Challenges facing SDR Development 1 Heterogeneous Processing Elements (GPP/DSP/FPGA) Achieving Portability Systematic Reuse - What

More information

ATL: Atlas Transformation Language. ATL User Manual

ATL: Atlas Transformation Language. ATL User Manual ATL: Atlas Transformation Language ATL User Manual - version 0.7 - February 2006 by ATLAS group LINA & INRIA Nantes Content 1 Introduction... 1 2 An Introduction to Model Transformation... 2 2.1 The Model-Driven

More information

Enhancing Xtext for General Purpose Languages

Enhancing Xtext for General Purpose Languages Enhancing Xtext for General Purpose Languages Adolfo Sánchez-Barbudo Herrera Department of Computer Science, University of York, UK. asbh500@york.ac.uk Abstract. Xtext is a popular language workbench conceived

More information

Model-checking with the TimeLine formalism

Model-checking with the TimeLine formalism Model-checking with the TimeLine formalism Andrea Zaccara University of Antwerp Andrea.Zaccara@student.uantwerpen.be Abstract A logical model checker can be an effective tool for verification of software

More information

Overview of lectures today and Wednesday

Overview of lectures today and Wednesday Model-driven development (MDA), Software Oriented Architecture (SOA) and semantic web (exemplified by WSMO) Draft of presentation John Krogstie Professor, IDI, NTNU Senior Researcher, SINTEF ICT 1 Overview

More information

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/ Executive Summary Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/2014-06-01 This guide describes the Model Driven Architecture (MDA) approach as defined by

More information

Introduction to EGF. Benoît Langlois / Thales Global Services.

Introduction to EGF. Benoît Langlois / Thales Global Services. www.thalesgroup.com Introduction to EGF Benoît Langlois / Thales Global Services 2 / Agenda Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Agenda Introduction EGF Architecture Concepts

More information

DITA for Enterprise Business Documents Sub-committee Proposal Background Why an Enterprise Business Documents Sub committee

DITA for Enterprise Business Documents Sub-committee Proposal Background Why an Enterprise Business Documents Sub committee DITA for Enterprise Business Documents Sub-committee Proposal Background Why an Enterprise Business Documents Sub committee Documents initiate and record business change. It is easy to map some business

More information

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Small is Beautiful Building a flexible software factory using small DSLs and Small Models Small is Beautiful Building a flexible software factory using small DSLs and Small Models Jos Warmer Partner, Ordina jos.warmer@ordina.nl 1 Modeling Maturity Levels MML 0: No specification MML 1: Textual

More information

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013! Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are

More information

QoS-aware model-driven SOA using SoaML

QoS-aware model-driven SOA using SoaML QoS-aware model-driven SOA using SoaML Niels Schot A thesis submitted for the degree of MSc Computer Science University of Twente EEMCS - TRESE: Software Engineering Group Examination committee: Luís Ferreira

More information

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:

More information

Scenario-based Synthesis of Annotated Class Diagrams in UML

Scenario-based Synthesis of Annotated Class Diagrams in UML Scenario-based Synthesis of Annotated Class Diagrams in UML Petri Selonen and Tarja Systä Tampere University of Technology, Software Systems Laboratory, P.O.Box 553, FIN-33101 Tampere, Finland {pselonen,tsysta}@cs.tut.fi

More information

E-Commerce Integration Meta-Framework General Methodology (ECIMF-GM) CEN/ISSS/WS-EC/ECIMF. Draft, version 0.2 July 11, 2001

E-Commerce Integration Meta-Framework General Methodology (ECIMF-GM) CEN/ISSS/WS-EC/ECIMF. Draft, version 0.2 July 11, 2001 1 1 1 1 1 0 30 3 3 3 E-Commerce Integration Meta-Framework General Methodology (ECIMF-GM) 1. The methodology CEN/ISSS/WS-EC/ECIMF Draft, version 0. July 11, 001 The proposed methodology for analysis and

More information

ADT: Eclipse development tools for ATL

ADT: Eclipse development tools for ATL ADT: Eclipse development tools for ATL Freddy Allilaire (freddy.allilaire@laposte.net) Tarik Idrissi (tarik.idrissi@laposte.net) Université de Nantes Faculté de Sciences et Techniques LINA (Laboratoire

More information

ASSURING DATA INTEROPERABILITY THROUGH THE USE OF FORMAL MODELS OF VISA PAYMENT MESSAGES (Category: Practice-Oriented Paper)

ASSURING DATA INTEROPERABILITY THROUGH THE USE OF FORMAL MODELS OF VISA PAYMENT MESSAGES (Category: Practice-Oriented Paper) ASSURING DATA INTEROPERABILITY THROUGH THE USE OF FORMAL MODELS OF VISA PAYMENT MESSAGES (Category: Practice-Oriented Paper) Joseph Bugajski Visa International JBugajsk@visa.com Philippe De Smedt Visa

More information

Transforming UML Collaborating Statecharts for Verification and Simulation

Transforming UML Collaborating Statecharts for Verification and Simulation Transforming UML Collaborating Statecharts for Verification and Simulation Patrick O. Bobbie, Yiming Ji, and Lusheng Liang School of Computing and Software Engineering Southern Polytechnic State University

More information

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements Capturing and Formalizing SAF Availability Management Framework Configuration Requirements A. Gherbi, P. Salehi, F. Khendek and A. Hamou-Lhadj Electrical and Computer Engineering, Concordia University,

More information

Dottorato di Ricerca in Informatica. Università di Bologna e Padova. Whole Platform. Riccardo Solmi. March 2005

Dottorato di Ricerca in Informatica. Università di Bologna e Padova. Whole Platform. Riccardo Solmi. March 2005 Dottorato di Ricerca in Informatica Università di Bologna e Padova Whole Platform Riccardo Solmi March 2005 Coordinatore: Prof. Özalp Babaoğlu Tutore: Prof. Andrea Asperti To my mother and my grandmother

More information

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090

More information

Dresden OCL2 in MOFLON

Dresden OCL2 in MOFLON Dresden OCL2 in MOFLON 10 Jahre Dresden-OCL Workshop Felix Klar Felix.Klar@es.tu-darmstadt.de ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical Engineering and Information Technology

More information

Model Driven Architecture and Rhapsody

Model Driven Architecture and Rhapsody Model Driven Architecture and Rhapsody Dr. Bruce Powel Douglass Chief Evangelist Telelogic Model Driven Architecture and Rhapsody Abstract MDA, short for Model Driven Architecture, is a unification by

More information

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations 1 MDD with OMG Standards MOF, OCL, QVT & Graph Transformations Andy Schürr Darmstadt University of Technology andy. schuerr@es.tu-darmstadt.de 20th Feb. 2007, Trento Outline of Presentation 2 Languages

More information

Requirements Modelling and Software Systems Implementation Using Formal Languages

Requirements Modelling and Software Systems Implementation Using Formal Languages Requirements Modelling and Software Systems Implementation Using Formal Languages Radek Kočí Brno University of Technology, Faculty of Information Technology Czech Republic koci@fit.vutbr.cz ICSEA 2018,

More information

Algebraic Semantics of EMOF/OCL Metamodels

Algebraic Semantics of EMOF/OCL Metamodels Algebraic Semantics of EMOF/OCL Metamodels Artur Boronat and José Meseguer Department of Information Systems and Computation, Technical University of Valencia. Department of Computer Science, University

More information

EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS

EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS Sahar Guermazi*, Jérémie Tatibouet*, Arnaud Cuccuru*, Ed Seidewitz +, Saadia Dhouib*, Sébastien Gérard* * CEA LIST - LISE lab +

More information

Semantics-Based Integration of Embedded Systems Models

Semantics-Based Integration of Embedded Systems Models Semantics-Based Integration of Embedded Systems Models Project András Balogh, OptixWare Research & Development Ltd. n 100021 Outline Embedded systems overview Overview of the GENESYS-INDEXYS approach Current

More information

Utilizing a Common Language as a Generative Software Reuse Tool

Utilizing a Common Language as a Generative Software Reuse Tool Utilizing a Common Language as a Generative Software Reuse Tool Chris Henry and Stanislaw Jarzabek Department of Computer Science School of Computing, National University of Singapore 3 Science Drive,

More information

Combination of Domain-Specific Languages

Combination of Domain-Specific Languages UNIVERSITEIT ANTWERPEN Combination of Domain-Specific Languages by Rafael Ugaz A thesis submitted in partial fulfillment for the degree of Master of Science: Computer Science in the Mathematics and Computer

More information

Models versus Ontologies - What's the Difference and where does it Matter?

Models versus Ontologies - What's the Difference and where does it Matter? Models versus Ontologies - What's the Difference and where does it Matter? Colin Atkinson University of Mannheim Presentation for University of Birmingham April 19th 2007 1 Brief History Ontologies originated

More information

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation Module Outline Fundamentals of Object Positioning Object Oriented Analysis Fundamentals of Object 1. Encapsulation 2. Abstraction 3. Inheritance 4. Polymorphism The need of Modeling Unified modeling language

More information

IBM Rational Software Architect

IBM Rational Software Architect Unifying all aspects of software design and development IBM Rational Software Architect A complete design & development toolset Incorporates all the capabilities in IBM Rational Application Developer for

More information

Practical Model-Driven Development with the IBM Software Development Platform

Practical Model-Driven Development with the IBM Software Development Platform IBM Software Group Practical Model-Driven Development with the IBM Software Development Platform Osmond Ng (ong@hk1.ibm.com) Technical Consultant, IBM HK SWG 2005 IBM Corporation Overview The Challenges

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : , Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,

More information

COP4020 Programming Languages. Compilers and Interpreters Robert van Engelen & Chris Lacher

COP4020 Programming Languages. Compilers and Interpreters Robert van Engelen & Chris Lacher COP4020 ming Languages Compilers and Interpreters Robert van Engelen & Chris Lacher Overview Common compiler and interpreter configurations Virtual machines Integrated development environments Compiler

More information

Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008.

Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008. Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008. Outline. Abstractions for telling a computer how to do things. Computational Paradigms. Language Definition, Translation.

More information

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd SysML Past, Present, and Future J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd A Specification Produced by the OMG Process SysML 1.0 SysML 1.1 Etc. RFI optional Issued by Task Forces RFI responses

More information

Introduction to Software Engineering 10. Software Architecture

Introduction to Software Engineering 10. Software Architecture Introduction to Software Engineering 10. Software Architecture Roadmap > What is Software Architecture? > Coupling and Cohesion > Architectural styles: Layered Client-Server Blackboard, Dataflow,... >

More information

Programming Languages and Program Development Life Cycle Fall Introduction to Information and Communication Technologies CSD 102

Programming Languages and Program Development Life Cycle Fall Introduction to Information and Communication Technologies CSD 102 Programming Languages and Program Development Life Cycle Fall 2016 Introduction to Information and Communication Technologies CSD 102 Outline The most common approaches to program design and development

More information