Your SlideShare is downloading. ×
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Cg 2011
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Cg 2011

701

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
701
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Model Driven Development: What went right? What went wrong? What needs to happen?
    Tony Clark
    Middlesex University
    London, UK
    t.n.clark@mdx.ac.uk
    http://www.eis.mdx.ac.uk/staffpages/tonyclark/
  • 2. Overview
    The problems with Modelling….
    What is MDD?
    What did MDD promise?
    An idealized model based industry.
    How did we get here?
    An attempt.
    Are we there yet?
    2
    Code Gen 2011
  • 3. What is Modelling?
    Contrast Programming and Specification.
    Modelling lies in-between.
    How do people do it?
    Leads us to some requirements…
    3
    Code Gen 2011
  • 4. System Building: Endogeneous Descriptions
    Start with nothing:
    Add extra information incrementally:
    It does what it does and nothing more:
    If it is wrong, modify it:
    4
    Code Gen 2011
  • 5. System Specification: Exogeneous Descriptions
    Start off with everything:
    Add constraints:
    It does anything but must include required behaviour:
    5
    Code Gen 2011
  • 6. The Exo-Endo Divide
    A problem with specification/modelling technologies.
    It is easy to under specify or over specify.
    It is difficult to check exo-endo match.
    6
    Code Gen 2011
  • 7. Model Driven Exo-Endo Problems
    Cannot execute the models.
    Cannot generate code from the models.
    Ambiguous models lead to wrong choices.
    Example: models are just code-in-pictures.
    Example: models are just diagrams.
    7
    Code Gen 2011
  • 8. Peter Naur and Theory Building
    • Systems are more than just code.
    • 9. Developers should understand systems in terms of theories.
    • 10. A theory contains facts aboutthe system.
    • 11. Theories are personal.
    • 12. Theories are built byinteracting with the ‘real world’.
    Theory
    8
    Code Gen 2011
  • 13. Domain Specific Theories
    Multiple theories at work.
    A theory of the problem domain.
    A theory of the solution domain.
    A mapping between them.
    Domain Theory
    ImplementationTheory
    9
    Code Gen 2011
  • 14. Theory Encoding leads to a Problem
    Theory
    Theories must be encoded in technology.
    Bound to be incomplete.
    Using domain specific technologieswill help.
    10
    Code Gen 2011
  • 15. Domain Specific vs General Purpose
    Domain
    Specific
    Models and implementationlanguages reduce the theorymismatch.
    Try to be as domain specificas possible.
    This introduces the need fora transformation to implementation technology.
    Implementation
    Specific
    11
    Code Gen 2011
  • 16. A Whole Space of Problems
    Domain
    Specific
    Domain Theory
    Implementation
    Specific
    ImplementationTheory
    12
    Code Gen 2011
  • 17. A Technology Space
    DomainSpecific
    IDEAL
    DSLs
    UML+Profiles
    Lisp
    UML
    FP
    Formal Methods
    Java
    TheoryCompletion
    13
    Code Gen 2011
  • 18. Requirements on MD Technologies
    Theory Building.
    Domain Specific Representations.
    Fill the gap.
    Ease of transition Problem to Solution.
    Code Gen 2011
    14
  • 19. What is MDD?
    Using models in the development process.
    Trying to close the gaps identified above.
    Essentially two main approaches:
    MDA, code generation.
    Run-time models.
    15
    Code Gen 2011
  • 20. Promises, Promises, ...
    Faster development time.
    Technology independence.
    Agility.
    Better quality products and processes.
    Ease of maintenance.
    Domain expert involvement.
    Cost reduction.
    Automated Testing.
    16
    Code Gen 2011
  • 21. The Promise of MDA (or how it was sold to us)
    OMG Position Paper (2003): Driving business agility with Model Driven Architecture
    http://www.omg.org/mda/mda_files/3302_AccelDev_PP.pdf
    17
    Code Gen 2011
  • 22. Model Driven Nirvana
    If only we could do:
    Enterprise Architecture
    Executable Modelling.
    Theory Building.
    Design languages for each domain.
    Round trip.
    Reusability.
    Views.
    Queries.
    Interoperability.
    18
    Code Gen 2011
  • 23. The Ideal Model Driven Enterprise
    Aspects of Enterprise Architecture.
    Use-Cases for the Model Driven Enterprise.
    The Business Context.
    The Business Drivers.
    Refinement.
    Capability Requirements.
    Technology Requirements.
    19
    Code Gen 2011
  • 24. ZachmanFramework
    20
    Code Gen 2011
  • 25. Use Cases for the Model Driven Enterprise
    Effective Business Execution.
    Agility.
    Business Change Management.
    Acquisition and Mergers.
    Quality Management.
    Resource Management.
    IT System Generation
    21
    Code Gen 2011
  • 26. The Business Context
    Business
    Regulations
    Events
    Application
    Biz Context
    Directives
    Technology
    22
    Code Gen 2011
  • 27. The Business Drivers
    Information
    Resources
    Structure
    Goal
    Policies
    Model
    Model
    Business
    Regulations
    Events
    Application
    Biz Context
    Directives
    Technology
    23
    Code Gen 2011
  • 28. Refinement
    Information
    Resources
    Model
    Structure
    Goal
    Policies
    Model
    Model
    Model
    Model
    Model
    Business
    Regulations
    Goal
    Goal
    Events
    Application
    Biz Context
    Directives
    Technology
    24
    Code Gen 2011
  • 29. Capability Requirements
    Information
    Resources
    Model
    Structure
    Goal
    Policies
    Model
    Model
    Model
    Model
    Model
    Business
    Regulations
    Goal
    Goal
    Events
    Application
    Biz Context
    Directives
    Technology
    25
    Code Gen 2011
  • 30. Technology Requirements
    Information
    Resources
    Model
    Structure
    Goal
    Policies
    Model
    Model
    Model
    Model
    Model
    Business
    Regulations
    Goal
    Goal
    Events
    Application
    Biz Context
    Directives
    Technology
    26
    Code Gen 2011
  • 31. Business Intelligence
    Information
    Resources
    Model
    Structure
    Goal
    Policies
    Model
    Model
    Model
    Model
    Model
    Business
    Regulations
    Goal
    Goal
    Events
    Application
    Biz Context
    Directives
    Technology
    27
    Code Gen 2011
  • 32. Requirements on MD Technologies
    Integrated Business to Technology stack.
    BI (reverse engineered dynamic data).
    Event-driven, reactive.
    Adaptive.
    All-code or No-code?
    Dynamic update.
    Code Gen 2011
    28
  • 33. Where are we?
    Gartner Hype Cycle: http://en.wikipedia.org/wiki/Hype_cycle
    29
    Code Gen 2011
  • 34. UML: The Dominant Technology
    Relatively Mature.
    Hundreds of tools, many free.
    Interoperable (?).
    Taught in Universities.
    Basis for MDA.
    Profiles.
    Code Gen 2011
    30
  • 35. How is UML Used?
    Bob Maksimchuk, Principal Consultant, Project Pragmatics, Rmaksimchuk@ProjectPragmatics.com
    31
    Code Gen 2011
  • 36. Which Parts of UML?
    Bob Maksimchuk, Principal Consultant, Project Pragmatics, Rmaksimchuk@ProjectPragmatics.com
    32
    Code Gen 2011
  • 37. Other Technologies
    System modelling: SysML, MODAF, TOGAF, ArchiMate, etc.
    Transformations: QVT, ATL, Kermeta, etc.
    Domain Specific Modeling Tools: MetaEdit+, Eclipse Modeling Project, XMF-Mosaic, etc.
    Language-Oriented Programming: projectional languages, Xtext; Spoofax; XMF.
    Code Gen 2011
    33
  • 38. How did we get here?
    [- 1980s] Programming languages.
    [1980s] CASE Tools.
    [1980s] OO Languages.
    [1985-1995] OO Methods.
    [1995-] OO Standards.
    [2000-] Model Driven Architecture.
    [2002-] Model Transformations.
    [2003-] Meta-Technologies.
    [2005-] Software Language Engineering.
    [2005-] Scripting Languages.
    34
    Code Gen 2011
  • 39. Xactium: Personal Experience
    XMF: The Ideal Endogenous Modelling Platform?
    XMF-Mosaic: The Ideal Exogenous Modelling Platform?
    Closing the Endo-Exo Divide?
    Technology grew out of UML 2.0 work.
    Language-Oriented Modelling Approach: Lifting the domain-specific abstraction.
    35
    Code Gen 2011
  • 40. Language-Oriented Modelling
    Code Gen 2011
    36
  • 41. Where’s My Jetpack? Simon Helsen,Arthur Ryman, DiomidisSpinellis, IEEE Software, Special Issue Software Development Tools 2008
    37
    Code Gen 2011
  • 42. Xcore Meta-Structure
  • 43. Xcore Meta-Behaviour
  • 44. XMF Textual DSLs
    Code Gen 2011
    40
  • 45. XMF-Mosaic Graphical DSLs
    Code Gen 2011
    41
  • 46. XMF-Mosaic
    A demo.
    Code Gen 2011
    42
  • 47. Are we there yet?
    Requirements:
    Theories: richer languages.
    Domain Specific: match the problem domain.
    Execution: program with models at all levels.
    Reflection: self aware tools.
    Meta: arbitrary extension.
    Semantics: meaningful technologies.
    43
    Code Gen 2011

×