SlideShare una empresa de Scribd logo
1 de 45
Web Technologies

    Introduction to
Model Driven Engineering
    Piero Fraternali
  piero.fraternali@polimi.it
    Skype: pierofraternali
Models: a meeting place for
   developers & users
Motivations
• “Supply of talented
  IT staffers isn't
  keeping up with                             #applications
  demand. And it
  won't change
                                        ers
  anytime soon.”                    ram
                                       m
                            #p   rog
  – Eric Chabrow, in
    The New IT Worker
    Shortage, CIOInsight
                           2005     2010      2015   2020
    2009
From crafting to fabrication
• Engineering
  addresses the
  optimization of
  production by means
  of abstraction and
  standardization
• Products are
  modeled, verified, and
  produced using
  standard models and
  methods
Models
• A model is an
  ABSTRACT
  REPRESENTATION
  of a product, service
   or system that
  allows us to
  investigate, verify,
  and document its
  properties BEFORE
  production
Software as an engineering product
• SW is an engineering
  product
• BUT:
   – It can be changed easily,
     even after delivery and
     during usage
   – It is produced in short time
     and at low cost
   – It must satisfy a broad
     spectrum of requisities,
     hard to quantify
• SO engineering practices
  are not always applied
Software Models
• Software Engineering has a long tradition on the
  use of abstraction and software models
• MODEL DRIVEN ENGINEERING
• SOFTWARE MODELS are
  – An abstract representation of a system,
    independent of technology
  – A tool for expressing and verifying requirements
  – A starting point for automatically generating the
    code
History
• Software models are as old
  as software
• Flow diagrams were the first
  tool for describing software
• Programming language and
  models evolved together
  – Imperative programming –
    flow diagrams
  – Info systems – ER
  – OO systems – object models
Milestones
               D. Harel,
               "Statecharts:
               A Visual
               Formalism
               for Complex
               Systems",
                (1987)




P.- Chen
The Entity-
Relationship
Model-Toward
a Unified
View of Data
TODS 1976
Outlook (by Gartner 2010)
• Key Findings in MDE
  – The complexity of new, service-oriented
    architectures (SOAs) and business
    process management (BPM) demand more-
    abstracted, model-driven approaches.
  – Business and IT modeling standards and
    technologies are converging.
  – The differences between design time and
    runtime technologies are disappearing
Modeling convergence
Outlook (by Gartner 2010)
• Recommendations
  – Ensure collaboration among the IT organization,
    business process architects and the analysts who
    are using these models;
  – Use multiple methodologies and approaches to
    Application Development — especially those that
    leverage modeling efforts, agile methods, and
    reusable design patterns and frameworks to
    improve productivity, while ensuring quality and
    performance.
  – Implement the role of application architect to
    promote reusable software and data services.
Economic Value (BPM)
MDA: The Modern Age of MDE
• Object Management
  Group (OMG) unified
  several modeling
  languages into a coherent
  proposal (MDA= Model
  Driven Architecture)
  setting the stage for a
  convergence of
  architecture, languages,
  notations, and tools
• UML is the most popular
  ingredient of MDA but not
  the only one
MDD, MDA, MDE
 MODEL DRIVEN
COST ESTIMATION               MODEL DRIVEN
                              ENGINEERING


                     MODEL DRIVEN
                     DEVELOPMENT

                        N
                    I VE RE
                 DR TU
               L C
             DE ITE
           MO CH                             MODEL DRIVEN
            AR                                 TESTING

       MODEL SEARCH
History
• 1989: OMG formed to create a standard for
  distributed object systems
• 1991: Corba 1.0 specification released
• 1996: OMG includes modeling as a focus
• 1997: UML adopted by OMG
• 2001: OMG adopts MDA
• 2005: UML 2.0 adopted by OMG
• 2006: BPMN standard adopted by OMG
• 2009: BPMN 2.0 beta 1
OMG MDA standards
• OMG Standards
  – Modeling – UML
  – Metamodeling – MOF
  – Action semantics
  – Model interchange – XMI
  – Human-usable textual notation – HUTN
  – Model-based testing and debugging
  – Domain-specific UML profiles
MDA core concepts
• System = the subject: a program, a single
  computer system, some combination of parts of
  different systems, a federation of systems, each
  under separate control, people, an enterprise, a
  federation of enterprises…
• Problem space (Domain): the context where
  the system operates
• Solution Space: the spectrum of possible
  solutions that satisfy the system requirements
• Model: a (partial or total, abstract or concrete)
  representation of the system and its
  environment
MDA core concepts
• Architecture = specification of the parts and
  connectors of the system and the rules for the
  interactions of the parts using the connectors
• Viewpoint: description of a system that focuses
  on particular concerns
• View: a model of a system under a specific
  viewpoint
• Transformation: the conversion of a model into
  another model
MDA core concepts
• Platform: set of subsystems and
  technologies that provide a coherent set of
  functionality through interfaces and
  specified usage patterns (e.g., JEE, .NET)
• Platform Model: a set of technical
  concepts, representing the different parts
  that make up a platform and the services
  provided by that platform
Development
• In MDA development
  is a chain of
  transformations from
  model to model, until
  enough
  “concreteness” is
  incorporated to make
  the model
  “executable”
How are models specified
• M0: a concrete system,     M3: meta-meta-model
  your application                                  describes
• M1: the model of your
                                        describes
  system
• M2: the concepts used to
  represent your models        M2: meta-model
  (e.g., UML or BPMN
  metamodels)                           describes
• M3: the formalism that
  dicates the rules for           M1: model
  defining modeling
  languages (e.g., UML                  describes
  metamodel expressed in
  Meta Objet Format-MOF)         M0: system
Example

                                 metamodel




 customer               order     model



Customer_table     Order_table
                                  system
Why meta-models
• Allow a syntactically precise definition of modeling
  languages
• Can be read by tools, enable portability, model parsing
  (syntactic) checking
• Like grammars for textual languages and ontologies for
  semantic languages




               The WebML
               metamodel
               (fragment)
Classes of models (viewpoints)
• Computation
  Independent Models:       CIM
  represent the business
  view of the system              mapping
• Platform Independent
  Models: represents the    PIM
  system abstracting from
  technology                      mapping
• Platform Specific
  Models: represents the    PSM
  system considering
  technology
CIM: examples
• Business Process
  Modeling Notation:
  – BPMN provides a
    Business Process
    Diagram (BPD), which
    is a Diagram designed
    for use by the people
    who design and
    manage business
    processes.
PIM: examples
•   Production Rule Representation
    (PRR)
     –   a standard production rule
         representation that is compatible with
         rule engine vendors' definitions of
         production rules
•   Product Lifecycle Management
    Services (PLM)
     –   a PIM for Product Lifecycle
         Management Services derived from
         the ISO 10303-214 STEP model
•   Gene Expression (GENE)
     –   representation of gene expression data
         and relevant annotations, as well as
         mechanisms for exchanging these data
•   General Ledger (LEDG)
     –   interfaces and their semantics to
         enable interoperability between
         General Ledger systems and
         accounting applications
Model Transformations
• The application of      Source
  mapping rules and        model
  knowledge to a                      Additional
                                     information
  source model to
  obtain a target model   Transfor
• Can use different        mation
                                      Design
  styles, based on how                Patterns
  the mapping rules are
  specified               Target
                          model
In this Course

CIM
                • Business process
                  Modeling Notation
      mapping     (BPMN 2.0)
PIM             • Web Modeling
      mapping     Language (WebML)
                • Java enterprise
PSM
                  Edition (JEE)
Domain Specific Languages (DSL)
• DSL: a language for
  describing systems in a
  specific domain (Web
  apps, embedded
  systems, etc)



• General Purpose
  Language: a language
  for describing systems in
  multiple domains (e.g.,
  UML)
MDA and DSL
• MDA offers two
  standard ways to
  define DSLs
• Stereotyping: UML
  2.0 elements are
  overloaded with
  domain specific
  meaning
• Metamodelling:
  new language
  constructs are defined
GPL vs DSL
• GPL                             • DSL
  –   (Often) Standard              – Easier to learn for domain
  –   Portable across tools           experts
  –   More complex                  – More precise semantics,
  –                                   better checking
      Less intuitive to learn
                                    – More amenable to
  –   Lack of precise semantics
                                      optimized code generation
  –   Harder to use for code
                                    – Narrower scope
      generation
                                    – Non standard
                                    – Less portable across tools
GPL: UML
• A concrete syntax for
  specifying any kind of
  system
• Customizable with
  extension mechanism
  (family of languages:
  Real-Time UML, UML
  for EDOC..)

• Supported by tools
UML structure
                  Complete
                  level




                               MACHINES
                               STATE


                                          COMPONENTS
                                          CLASSES &


                                                        ACTIVITIES



                                                                     INTERACTIONS



                                                                                    ACTIONS



                                                                                              FLOWS
                  Intermediate
                  level
      PROFILES




MOF                   OCL

                 Basic level

                                                       BASIC UML

                          UML INFRASTRUCTURE
DSL: forms
DSL: examples
DSL                     Application Domain

BNF (1950! )            Syntax Specification

HTML                    Hypertext Web Pages

MATLAB                  Technical Computing

SQL                     Database Queries

LaTex                   Text processing

                    Marjan Mernik, University of Maribor
                    Jan Heering, CWI
                    Anthony M. Sloane, Macquarie University
                    ACM Computing Surveys, Vol 37, No. 4
Executability of DSL
• Well-defined execution semantics
   – HTML
• Input language of an application generator
   – WebML: Web/SOA modeling
   – Application generator compiles the DSL into a GPL (Java)
   – More declarative, well-defined execution semantics
     (StateCharts)
• Not executable but useful for application generation
   – BNF: purely declarative, but can be an input language for a
     parser generator
• DSL not meant to be executable
   – Domain-specific data structure representations
   – Benefit from editors, analyzers, consistency checkers
Language levels (Caper Jones)

    Language Level Relationship to Productivity
LANGUAGE LEVEL               PRODUCTIVITY AVERAGE PER STAFF MONTH
--------------------------   ------------------------------------------------------------------
1-3                          5 to 10 Function Points
4-8                          10 to 20 Function Points
9 - 15                       16 to 23 Function Points
16 - 23                      15 to 30 Function Points
24 - 55                      30 to 50 Function Points
Above 55                     40 to 100 Function Points               EXCEL
                                                                    MATHCAD
Visual DSLs
              Solve problem in domain terms
Domain                                        Map to code, implement                            Finished
                                                                                 Assembler
 Idea                                                                                           Product

                                              Map to code, implement
                                                                           Code

                                                            Generate,
                                                            Add bodies
                                               Map to UML
                                                                 UML Model




             No map!                                DSVL        Generate calls
                                                    Model                          Components
                                                                to components


Framework for Domain-Specific Visual Languages                                     OOPSLA workshop
 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen                      on DSVL
Visual DLS design and
                implementation
Domain                                                       Finished
 Idea                                                        Product



 Expert
  (few)
                    DSVL         Code          Component
                  metamodel    generation        library




 Normal   Easy!     DSVL      Generate calls
                    Model                       Components
 (many)                       to components
Meta CASE for DSVL design



             Rules             Generators
     1        2         3          4
  Concepts           Symbols
MDA and Tools
Metamodel editors

                        Metamodels

Textual model Editor                     Reverse engineering

Visual Model Editor                        Import & Export
                          MODELS
  Model Checker

    Teamwork

                        M2M     M2text



                       OTHER    SOURCE
                       MODELS   CODE
References
•   Peter Pin-Shan Chen "The Entity-Relationship Model: Toward a Unified
    View of Data" ACM on Database Systems, Vol. 1, No. 1, March 1976
•   Chen, Peter P., Entity-Relationship Modelling: Historical Events, Future
    Trends, and Lessons Learned, Springer-Verlag New York, Inc, 2002, pp.
    296-310
•   D. Harel, "Statecharts: A Visual Formalism for Complex Systems", Sci.
    Comput. Programming 8 (1987), 231-274.
•   J, Rambaugh, Object-Oriented Modeling and Design. With others. Prentice
    Hall, ISBN 0-13-629841-9, 1991
•   G. Booch, Object-Oriented Analysis and Design with Applications. Benjamin
    Cummings, 1991 (2° Edition 1994, Addison Wesley)
•   I. Jacobson, Object-Oriented Software Engineering: A Use Case Driven
    Approach (ACM Press) With Magnus Christerson, Patrik Jonsson & Gunnar
    Overgaard. Addison-Wesley, 1992, ISBN 0-201-54435-0, 1992
•   I. Jacobson, Grady Booch & James Rumbaugh, The Unified Software
    Development Process. Addison-Wesley Professional, 1999, ISBN 0-201-
    57169-2, 1999
References
• Frankel. “Model Driven Architecture: Applying MDA to
  Enterprise Computing.” Wiley, 2003
• MDA Guide
   – www.omg.com/mda
• Marjan Mernik, Jan Heering, Anthony M. Sloane: When
  and how to develop domain-specific languages. ACM
  Comput. Surv. 37(4): 316-344 (2005)
• Jeff Gray, Kathleen Fisher, Charles Consel, Gabor
  Karsai, Marjan Mernik, Juha-Pekka Tolvanen: DSLs: the
  good, the bad, and the ugly. OOPSLA Companion 2008:
  791-794
• Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle
  Lyytinen, Framework for Domain-Specific Visual
  Languages, OOPSLA WS on DSVL 2001
References
• Wynn, Moe T. and Verbeek, H.M.W. and van der
  Aalst, Wil M. and ter Hofstede, Arthur H.M. and
  Edmond, David (2007) Business Process
  Verification - Finally a Reality! Business Process
  Management Journal.
• Johan den Haan, Model Driven Engineering,
  http://www.theenterprisearchitect.eu/archive/200
  9/01/15/mde---model-driven-engineering----
  reference-guide
• Mike Blechar, David Norton , Trends in Model-
  Driven Development, 4Q09-3Q10, Gartner

Más contenido relacionado

La actualidad más candente

5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven ArchitectureMajong DevJfu
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing FundamentalsChankey Pathak
 
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Jordi Cabot
 
V model Over View (Software Engineering)
V model Over View (Software Engineering) V model Over View (Software Engineering)
V model Over View (Software Engineering) Badar Rameez. CH.
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagramsbarney92
 
Design Patterns Presentation - Chetan Gole
Design Patterns Presentation -  Chetan GoleDesign Patterns Presentation -  Chetan Gole
Design Patterns Presentation - Chetan GoleChetan Gole
 
Incremental model
Incremental modelIncremental model
Incremental modelHpibmx
 
An introduction to the MDA
An introduction to the MDAAn introduction to the MDA
An introduction to the MDALai Ha
 
Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, ...
Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, ...Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, ...
Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, ...Philip Schwarz
 
Creational pattern
Creational patternCreational pattern
Creational patternHimanshu
 
A survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsA survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsAhmed Magdy Ezzeldin, MSc.
 
Software Engineering - Ch11
Software Engineering - Ch11Software Engineering - Ch11
Software Engineering - Ch11Siddharth Ayer
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt finalshiva krishna
 

La actualidad más candente (20)

5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture5 - Architetture Software - Metamodelling and the Model Driven Architecture
5 - Architetture Software - Metamodelling and the Model Driven Architecture
 
Software Testing Fundamentals
Software Testing FundamentalsSoftware Testing Fundamentals
Software Testing Fundamentals
 
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
Model-Driven Software Engineering in Practice - Chapter 4 - Model-Driven Arch...
 
Object modeling
Object modelingObject modeling
Object modeling
 
V model Over View (Software Engineering)
V model Over View (Software Engineering) V model Over View (Software Engineering)
V model Over View (Software Engineering)
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Design Patterns Presentation - Chetan Gole
Design Patterns Presentation -  Chetan GoleDesign Patterns Presentation -  Chetan Gole
Design Patterns Presentation - Chetan Gole
 
Incremental model
Incremental modelIncremental model
Incremental model
 
1.sdlc
1.sdlc1.sdlc
1.sdlc
 
An introduction to the MDA
An introduction to the MDAAn introduction to the MDA
An introduction to the MDA
 
Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, ...
Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, ...Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, ...
Refactoring: A First Example - Martin Fowler’s First Example of Refactoring, ...
 
Spiral model
Spiral modelSpiral model
Spiral model
 
Creational pattern
Creational patternCreational pattern
Creational pattern
 
A survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsA survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithms
 
Software Engineering - Ch11
Software Engineering - Ch11Software Engineering - Ch11
Software Engineering - Ch11
 
Unit 1 Java
Unit 1 JavaUnit 1 Java
Unit 1 Java
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
 

Destacado

Multimedia on the mountaintop: presentation at ACM MM2016
Multimedia on the mountaintop: presentation at ACM MM2016Multimedia on the mountaintop: presentation at ACM MM2016
Multimedia on the mountaintop: presentation at ACM MM2016Piero Fraternali
 
Web technologies course, an introduction
Web technologies course, an introductionWeb technologies course, an introduction
Web technologies course, an introductionPiero Fraternali
 
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...Marco Brambilla
 
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesModel-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesMarco Brambilla
 
Model driven software engineering in practice book - chapter 7 - Developing y...
Model driven software engineering in practice book - chapter 7 - Developing y...Model driven software engineering in practice book - chapter 7 - Developing y...
Model driven software engineering in practice book - chapter 7 - Developing y...Marco Brambilla
 
Metoda analizy i specyfikowania wymagań na oprogramowanie
Metoda analizy i specyfikowania wymagań na oprogramowanieMetoda analizy i specyfikowania wymagań na oprogramowanie
Metoda analizy i specyfikowania wymagań na oprogramowanieJaroslaw Zelinski
 
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - IntroductionModel-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - IntroductionMarco Brambilla
 
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)Jordi Cabot
 

Destacado (11)

Multimedia on the mountaintop: presentation at ACM MM2016
Multimedia on the mountaintop: presentation at ACM MM2016Multimedia on the mountaintop: presentation at ACM MM2016
Multimedia on the mountaintop: presentation at ACM MM2016
 
Web technologies course, an introduction
Web technologies course, an introductionWeb technologies course, an introduction
Web technologies course, an introduction
 
Introduction About PHP
 Introduction About PHP Introduction About PHP
Introduction About PHP
 
Web technologies: HTTP
Web technologies: HTTPWeb technologies: HTTP
Web technologies: HTTP
 
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
Model-Driven Software Engineering in Practice - Chapter 5 - Integration of Mo...
 
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE PrinciplesModel-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
Model-Driven Software Engineering in Practice - Chapter 2 - MDSE Principles
 
Model driven software engineering in practice book - chapter 7 - Developing y...
Model driven software engineering in practice book - chapter 7 - Developing y...Model driven software engineering in practice book - chapter 7 - Developing y...
Model driven software engineering in practice book - chapter 7 - Developing y...
 
Metoda analizy i specyfikowania wymagań na oprogramowanie
Metoda analizy i specyfikowania wymagań na oprogramowanieMetoda analizy i specyfikowania wymagań na oprogramowanie
Metoda analizy i specyfikowania wymagań na oprogramowanie
 
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - IntroductionModel-Driven Software Engineering in Practice - Chapter 1 - Introduction
Model-Driven Software Engineering in Practice - Chapter 1 - Introduction
 
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
MDD - Desarrollo de software dirigido por modelos que funciona (de verdad!)
 
Web Engineering
Web EngineeringWeb Engineering
Web Engineering
 

Similar a Web technologies: Model Driven Engineering

Agile MDD
Agile MDDAgile MDD
Agile MDDfntnhd
 
Developing Modeling Tool for RM-ODP with Eclipse Sirius
Developing Modeling Tool for RM-ODP with Eclipse SiriusDeveloping Modeling Tool for RM-ODP with Eclipse Sirius
Developing Modeling Tool for RM-ODP with Eclipse SiriusObeo
 
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...Akira Tanaka
 
Trasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep KatochTrasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep KatochRoopa Nadkarni
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katochIBM
 
What Is PLM and Why Is It Important
What Is PLM and Why Is It ImportantWhat Is PLM and Why Is It Important
What Is PLM and Why Is It ImportantElizabeth Steiner
 
MOSKitt UIM (short description)
MOSKitt UIM (short description)MOSKitt UIM (short description)
MOSKitt UIM (short description)Javier Muñoz
 
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...
Using MDE for the Formal Verification of Embedded  Systems Modeled by UML Se...Using MDE for the Formal Verification of Embedded  Systems Modeled by UML Se...
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...Francisco Assis Nascimento
 
10 Things You Should Know About MDD
10 Things You Should Know About MDD10 Things You Should Know About MDD
10 Things You Should Know About MDDJohan den Haan
 
Mdsd capable target architecture
Mdsd capable target architectureMdsd capable target architecture
Mdsd capable target architecturerida mariam
 
Model Runway: Design Best Practices at BlueCross BlueShield
Model Runway: Design Best Practices at BlueCross BlueShieldModel Runway: Design Best Practices at BlueCross BlueShield
Model Runway: Design Best Practices at BlueCross BlueShieldRoger Snook
 
Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)PG Scholar
 
Kahn.theodore
Kahn.theodoreKahn.theodore
Kahn.theodoreNASAPMC
 
MBSE Training Crash Course : Tonex Training
MBSE Training Crash Course : Tonex TrainingMBSE Training Crash Course : Tonex Training
MBSE Training Crash Course : Tonex TrainingBryan Len
 
Service Oriented & Model Driven Architectures
Service Oriented & Model Driven ArchitecturesService Oriented & Model Driven Architectures
Service Oriented & Model Driven ArchitecturesPankaj Saharan
 

Similar a Web technologies: Model Driven Engineering (20)

Agile MDD
Agile MDDAgile MDD
Agile MDD
 
Developing Modeling Tool for RM-ODP with Eclipse Sirius
Developing Modeling Tool for RM-ODP with Eclipse SiriusDeveloping Modeling Tool for RM-ODP with Eclipse Sirius
Developing Modeling Tool for RM-ODP with Eclipse Sirius
 
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
Extension Mechanism for Integrating New Technology Elements into Viewpoint ba...
 
ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.ppt
 
Trasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep KatochTrasnformation Design Patterns - Sandeep Katoch
Trasnformation Design Patterns - Sandeep Katoch
 
2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch2 trasnformation design_patterns-sandeep_katoch
2 trasnformation design_patterns-sandeep_katoch
 
What Is PLM and Why Is It Important
What Is PLM and Why Is It ImportantWhat Is PLM and Why Is It Important
What Is PLM and Why Is It Important
 
MOSKitt UIM (short description)
MOSKitt UIM (short description)MOSKitt UIM (short description)
MOSKitt UIM (short description)
 
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...
Using MDE for the Formal Verification of Embedded  Systems Modeled by UML Se...Using MDE for the Formal Verification of Embedded  Systems Modeled by UML Se...
Using MDE for the Formal Verification of Embedded Systems Modeled by UML Se...
 
10 Things You Should Know About MDD
10 Things You Should Know About MDD10 Things You Should Know About MDD
10 Things You Should Know About MDD
 
Mdsd capable target architecture
Mdsd capable target architectureMdsd capable target architecture
Mdsd capable target architecture
 
Model Runway: Design Best Practices at BlueCross BlueShield
Model Runway: Design Best Practices at BlueCross BlueShieldModel Runway: Design Best Practices at BlueCross BlueShield
Model Runway: Design Best Practices at BlueCross BlueShield
 
Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)
 
Kahn.theodore
Kahn.theodoreKahn.theodore
Kahn.theodore
 
Sig A&D - MDA
Sig A&D - MDASig A&D - MDA
Sig A&D - MDA
 
MBSE Training Crash Course : Tonex Training
MBSE Training Crash Course : Tonex TrainingMBSE Training Crash Course : Tonex Training
MBSE Training Crash Course : Tonex Training
 
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee ApplicatiesFinal Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
Final Jspring2009 Mda Slimmer Ontwikkelen Van Java Ee Applicaties
 
java
javajava
java
 
Vineel presentation
Vineel presentationVineel presentation
Vineel presentation
 
Service Oriented & Model Driven Architectures
Service Oriented & Model Driven ArchitecturesService Oriented & Model Driven Architectures
Service Oriented & Model Driven Architectures
 

Más de Piero Fraternali

presentation at European Utility Week, Vienna, Nov. 2015
presentation at European Utility Week, Vienna, Nov. 2015presentation at European Utility Week, Vienna, Nov. 2015
presentation at European Utility Week, Vienna, Nov. 2015Piero Fraternali
 
Fraternali concertation june25bruxelles
Fraternali concertation june25bruxellesFraternali concertation june25bruxelles
Fraternali concertation june25bruxellesPiero Fraternali
 
Crowsourcing (anche) per le aziende del settore tessile e della moda
Crowsourcing (anche) per le aziende del settore tessile e della modaCrowsourcing (anche) per le aziende del settore tessile e della moda
Crowsourcing (anche) per le aziende del settore tessile e della modaPiero Fraternali
 
06 1 array_stringhe_typedef
06 1 array_stringhe_typedef06 1 array_stringhe_typedef
06 1 array_stringhe_typedefPiero Fraternali
 
05 3 istruzioni-selezione-iterazione-condizioni
05 3 istruzioni-selezione-iterazione-condizioni05 3 istruzioni-selezione-iterazione-condizioni
05 3 istruzioni-selezione-iterazione-condizioniPiero Fraternali
 
05 2 integrali-conversioni-costanti-preproc-inclusione
05 2 integrali-conversioni-costanti-preproc-inclusione05 2 integrali-conversioni-costanti-preproc-inclusione
05 2 integrali-conversioni-costanti-preproc-inclusionePiero Fraternali
 
Human computation and participatory systems
Human computation and participatory systems Human computation and participatory systems
Human computation and participatory systems Piero Fraternali
 
Better society: Meet us at #ICT2013eu for #trustedsocialmedia http://bit.ly/1...
Better society: Meet us at #ICT2013eu for #trustedsocialmedia http://bit.ly/1...Better society: Meet us at #ICT2013eu for #trustedsocialmedia http://bit.ly/1...
Better society: Meet us at #ICT2013eu for #trustedsocialmedia http://bit.ly/1...Piero Fraternali
 
Human and social computation
Human and social computation Human and social computation
Human and social computation Piero Fraternali
 
Web technologies: recap on TCP-IP
Web technologies: recap on TCP-IPWeb technologies: recap on TCP-IP
Web technologies: recap on TCP-IPPiero Fraternali
 

Más de Piero Fraternali (20)

presentation at European Utility Week, Vienna, Nov. 2015
presentation at European Utility Week, Vienna, Nov. 2015presentation at European Utility Week, Vienna, Nov. 2015
presentation at European Utility Week, Vienna, Nov. 2015
 
Fraternali concertation june25bruxelles
Fraternali concertation june25bruxellesFraternali concertation june25bruxelles
Fraternali concertation june25bruxelles
 
Crowsourcing (anche) per le aziende del settore tessile e della moda
Crowsourcing (anche) per le aziende del settore tessile e della modaCrowsourcing (anche) per le aziende del settore tessile e della moda
Crowsourcing (anche) per le aziende del settore tessile e della moda
 
07 2 ricorsione
07 2 ricorsione07 2 ricorsione
07 2 ricorsione
 
07 1 funzioni
07 1 funzioni07 1 funzioni
07 1 funzioni
 
06 2 vector_matrici
06 2 vector_matrici06 2 vector_matrici
06 2 vector_matrici
 
06 1 array_stringhe_typedef
06 1 array_stringhe_typedef06 1 array_stringhe_typedef
06 1 array_stringhe_typedef
 
05 3 istruzioni-selezione-iterazione-condizioni
05 3 istruzioni-selezione-iterazione-condizioni05 3 istruzioni-selezione-iterazione-condizioni
05 3 istruzioni-selezione-iterazione-condizioni
 
05 2 integrali-conversioni-costanti-preproc-inclusione
05 2 integrali-conversioni-costanti-preproc-inclusione05 2 integrali-conversioni-costanti-preproc-inclusione
05 2 integrali-conversioni-costanti-preproc-inclusione
 
05 1 intro-struttura
05 1 intro-struttura05 1 intro-struttura
05 1 intro-struttura
 
03 2 arit_bin
03 2 arit_bin03 2 arit_bin
03 2 arit_bin
 
03 1 alg_bool
03 1 alg_bool03 1 alg_bool
03 1 alg_bool
 
02 algo programmi
02 algo programmi02 algo programmi
02 algo programmi
 
06 3 struct
06 3 struct06 3 struct
06 3 struct
 
Human computation and participatory systems
Human computation and participatory systems Human computation and participatory systems
Human computation and participatory systems
 
Better society: Meet us at #ICT2013eu for #trustedsocialmedia http://bit.ly/1...
Better society: Meet us at #ICT2013eu for #trustedsocialmedia http://bit.ly/1...Better society: Meet us at #ICT2013eu for #trustedsocialmedia http://bit.ly/1...
Better society: Meet us at #ICT2013eu for #trustedsocialmedia http://bit.ly/1...
 
So human presentation
So human presentationSo human presentation
So human presentation
 
Human and social computation
Human and social computation Human and social computation
Human and social computation
 
Common Gateway Interface
Common Gateway InterfaceCommon Gateway Interface
Common Gateway Interface
 
Web technologies: recap on TCP-IP
Web technologies: recap on TCP-IPWeb technologies: recap on TCP-IP
Web technologies: recap on TCP-IP
 

Último

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Último (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Web technologies: Model Driven Engineering

  • 1. Web Technologies Introduction to Model Driven Engineering Piero Fraternali piero.fraternali@polimi.it Skype: pierofraternali
  • 2. Models: a meeting place for developers & users
  • 3. Motivations • “Supply of talented IT staffers isn't keeping up with #applications demand. And it won't change ers anytime soon.” ram m #p rog – Eric Chabrow, in The New IT Worker Shortage, CIOInsight 2005 2010 2015 2020 2009
  • 4. From crafting to fabrication • Engineering addresses the optimization of production by means of abstraction and standardization • Products are modeled, verified, and produced using standard models and methods
  • 5. Models • A model is an ABSTRACT REPRESENTATION of a product, service or system that allows us to investigate, verify, and document its properties BEFORE production
  • 6. Software as an engineering product • SW is an engineering product • BUT: – It can be changed easily, even after delivery and during usage – It is produced in short time and at low cost – It must satisfy a broad spectrum of requisities, hard to quantify • SO engineering practices are not always applied
  • 7. Software Models • Software Engineering has a long tradition on the use of abstraction and software models • MODEL DRIVEN ENGINEERING • SOFTWARE MODELS are – An abstract representation of a system, independent of technology – A tool for expressing and verifying requirements – A starting point for automatically generating the code
  • 8. History • Software models are as old as software • Flow diagrams were the first tool for describing software • Programming language and models evolved together – Imperative programming – flow diagrams – Info systems – ER – OO systems – object models
  • 9. Milestones D. Harel, "Statecharts: A Visual Formalism for Complex Systems", (1987) P.- Chen The Entity- Relationship Model-Toward a Unified View of Data TODS 1976
  • 10. Outlook (by Gartner 2010) • Key Findings in MDE – The complexity of new, service-oriented architectures (SOAs) and business process management (BPM) demand more- abstracted, model-driven approaches. – Business and IT modeling standards and technologies are converging. – The differences between design time and runtime technologies are disappearing
  • 12. Outlook (by Gartner 2010) • Recommendations – Ensure collaboration among the IT organization, business process architects and the analysts who are using these models; – Use multiple methodologies and approaches to Application Development — especially those that leverage modeling efforts, agile methods, and reusable design patterns and frameworks to improve productivity, while ensuring quality and performance. – Implement the role of application architect to promote reusable software and data services.
  • 14. MDA: The Modern Age of MDE • Object Management Group (OMG) unified several modeling languages into a coherent proposal (MDA= Model Driven Architecture) setting the stage for a convergence of architecture, languages, notations, and tools • UML is the most popular ingredient of MDA but not the only one
  • 15. MDD, MDA, MDE MODEL DRIVEN COST ESTIMATION MODEL DRIVEN ENGINEERING MODEL DRIVEN DEVELOPMENT N I VE RE DR TU L C DE ITE MO CH MODEL DRIVEN AR TESTING MODEL SEARCH
  • 16. History • 1989: OMG formed to create a standard for distributed object systems • 1991: Corba 1.0 specification released • 1996: OMG includes modeling as a focus • 1997: UML adopted by OMG • 2001: OMG adopts MDA • 2005: UML 2.0 adopted by OMG • 2006: BPMN standard adopted by OMG • 2009: BPMN 2.0 beta 1
  • 17. OMG MDA standards • OMG Standards – Modeling – UML – Metamodeling – MOF – Action semantics – Model interchange – XMI – Human-usable textual notation – HUTN – Model-based testing and debugging – Domain-specific UML profiles
  • 18. MDA core concepts • System = the subject: a program, a single computer system, some combination of parts of different systems, a federation of systems, each under separate control, people, an enterprise, a federation of enterprises… • Problem space (Domain): the context where the system operates • Solution Space: the spectrum of possible solutions that satisfy the system requirements • Model: a (partial or total, abstract or concrete) representation of the system and its environment
  • 19. MDA core concepts • Architecture = specification of the parts and connectors of the system and the rules for the interactions of the parts using the connectors • Viewpoint: description of a system that focuses on particular concerns • View: a model of a system under a specific viewpoint • Transformation: the conversion of a model into another model
  • 20. MDA core concepts • Platform: set of subsystems and technologies that provide a coherent set of functionality through interfaces and specified usage patterns (e.g., JEE, .NET) • Platform Model: a set of technical concepts, representing the different parts that make up a platform and the services provided by that platform
  • 21. Development • In MDA development is a chain of transformations from model to model, until enough “concreteness” is incorporated to make the model “executable”
  • 22. How are models specified • M0: a concrete system, M3: meta-meta-model your application describes • M1: the model of your describes system • M2: the concepts used to represent your models M2: meta-model (e.g., UML or BPMN metamodels) describes • M3: the formalism that dicates the rules for M1: model defining modeling languages (e.g., UML describes metamodel expressed in Meta Objet Format-MOF) M0: system
  • 23. Example metamodel customer order model Customer_table Order_table system
  • 24. Why meta-models • Allow a syntactically precise definition of modeling languages • Can be read by tools, enable portability, model parsing (syntactic) checking • Like grammars for textual languages and ontologies for semantic languages The WebML metamodel (fragment)
  • 25. Classes of models (viewpoints) • Computation Independent Models: CIM represent the business view of the system mapping • Platform Independent Models: represents the PIM system abstracting from technology mapping • Platform Specific Models: represents the PSM system considering technology
  • 26. CIM: examples • Business Process Modeling Notation: – BPMN provides a Business Process Diagram (BPD), which is a Diagram designed for use by the people who design and manage business processes.
  • 27. PIM: examples • Production Rule Representation (PRR) – a standard production rule representation that is compatible with rule engine vendors' definitions of production rules • Product Lifecycle Management Services (PLM) – a PIM for Product Lifecycle Management Services derived from the ISO 10303-214 STEP model • Gene Expression (GENE) – representation of gene expression data and relevant annotations, as well as mechanisms for exchanging these data • General Ledger (LEDG) – interfaces and their semantics to enable interoperability between General Ledger systems and accounting applications
  • 28. Model Transformations • The application of Source mapping rules and model knowledge to a Additional information source model to obtain a target model Transfor • Can use different mation Design styles, based on how Patterns the mapping rules are specified Target model
  • 29. In this Course CIM • Business process Modeling Notation mapping (BPMN 2.0) PIM • Web Modeling mapping Language (WebML) • Java enterprise PSM Edition (JEE)
  • 30. Domain Specific Languages (DSL) • DSL: a language for describing systems in a specific domain (Web apps, embedded systems, etc) • General Purpose Language: a language for describing systems in multiple domains (e.g., UML)
  • 31. MDA and DSL • MDA offers two standard ways to define DSLs • Stereotyping: UML 2.0 elements are overloaded with domain specific meaning • Metamodelling: new language constructs are defined
  • 32. GPL vs DSL • GPL • DSL – (Often) Standard – Easier to learn for domain – Portable across tools experts – More complex – More precise semantics, – better checking Less intuitive to learn – More amenable to – Lack of precise semantics optimized code generation – Harder to use for code – Narrower scope generation – Non standard – Less portable across tools
  • 33. GPL: UML • A concrete syntax for specifying any kind of system • Customizable with extension mechanism (family of languages: Real-Time UML, UML for EDOC..) • Supported by tools
  • 34. UML structure Complete level MACHINES STATE COMPONENTS CLASSES & ACTIVITIES INTERACTIONS ACTIONS FLOWS Intermediate level PROFILES MOF OCL Basic level BASIC UML UML INFRASTRUCTURE
  • 36. DSL: examples DSL Application Domain BNF (1950! ) Syntax Specification HTML Hypertext Web Pages MATLAB Technical Computing SQL Database Queries LaTex Text processing Marjan Mernik, University of Maribor Jan Heering, CWI Anthony M. Sloane, Macquarie University ACM Computing Surveys, Vol 37, No. 4
  • 37. Executability of DSL • Well-defined execution semantics – HTML • Input language of an application generator – WebML: Web/SOA modeling – Application generator compiles the DSL into a GPL (Java) – More declarative, well-defined execution semantics (StateCharts) • Not executable but useful for application generation – BNF: purely declarative, but can be an input language for a parser generator • DSL not meant to be executable – Domain-specific data structure representations – Benefit from editors, analyzers, consistency checkers
  • 38. Language levels (Caper Jones) Language Level Relationship to Productivity LANGUAGE LEVEL PRODUCTIVITY AVERAGE PER STAFF MONTH -------------------------- ------------------------------------------------------------------ 1-3 5 to 10 Function Points 4-8 10 to 20 Function Points 9 - 15 16 to 23 Function Points 16 - 23 15 to 30 Function Points 24 - 55 30 to 50 Function Points Above 55 40 to 100 Function Points EXCEL MATHCAD
  • 39. Visual DSLs Solve problem in domain terms Domain Map to code, implement Finished Assembler Idea Product Map to code, implement Code Generate, Add bodies Map to UML UML Model No map! DSVL Generate calls Model Components to components Framework for Domain-Specific Visual Languages OOPSLA workshop Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen on DSVL
  • 40. Visual DLS design and implementation Domain Finished Idea Product Expert (few) DSVL Code Component metamodel generation library Normal Easy! DSVL Generate calls Model Components (many) to components
  • 41. Meta CASE for DSVL design Rules Generators 1 2 3 4 Concepts Symbols
  • 42. MDA and Tools Metamodel editors Metamodels Textual model Editor Reverse engineering Visual Model Editor Import & Export MODELS Model Checker Teamwork M2M M2text OTHER SOURCE MODELS CODE
  • 43. References • Peter Pin-Shan Chen "The Entity-Relationship Model: Toward a Unified View of Data" ACM on Database Systems, Vol. 1, No. 1, March 1976 • Chen, Peter P., Entity-Relationship Modelling: Historical Events, Future Trends, and Lessons Learned, Springer-Verlag New York, Inc, 2002, pp. 296-310 • D. Harel, "Statecharts: A Visual Formalism for Complex Systems", Sci. Comput. Programming 8 (1987), 231-274. • J, Rambaugh, Object-Oriented Modeling and Design. With others. Prentice Hall, ISBN 0-13-629841-9, 1991 • G. Booch, Object-Oriented Analysis and Design with Applications. Benjamin Cummings, 1991 (2° Edition 1994, Addison Wesley) • I. Jacobson, Object-Oriented Software Engineering: A Use Case Driven Approach (ACM Press) With Magnus Christerson, Patrik Jonsson & Gunnar Overgaard. Addison-Wesley, 1992, ISBN 0-201-54435-0, 1992 • I. Jacobson, Grady Booch & James Rumbaugh, The Unified Software Development Process. Addison-Wesley Professional, 1999, ISBN 0-201- 57169-2, 1999
  • 44. References • Frankel. “Model Driven Architecture: Applying MDA to Enterprise Computing.” Wiley, 2003 • MDA Guide – www.omg.com/mda • Marjan Mernik, Jan Heering, Anthony M. Sloane: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4): 316-344 (2005) • Jeff Gray, Kathleen Fisher, Charles Consel, Gabor Karsai, Marjan Mernik, Juha-Pekka Tolvanen: DSLs: the good, the bad, and the ugly. OOPSLA Companion 2008: 791-794 • Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen, Framework for Domain-Specific Visual Languages, OOPSLA WS on DSVL 2001
  • 45. References • Wynn, Moe T. and Verbeek, H.M.W. and van der Aalst, Wil M. and ter Hofstede, Arthur H.M. and Edmond, David (2007) Business Process Verification - Finally a Reality! Business Process Management Journal. • Johan den Haan, Model Driven Engineering, http://www.theenterprisearchitect.eu/archive/200 9/01/15/mde---model-driven-engineering---- reference-guide • Mike Blechar, David Norton , Trends in Model- Driven Development, 4Q09-3Q10, Gartner