model based development
play

Model-based development Meta-modelling creating new languages - PowerPoint PPT Presentation

TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Model-based development Meta-modelling creating new languages Domain-specific languages some languages are domain-specific Model-based


  1. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Model-based development • � Meta-modelling • � creating new languages • � Domain-specific languages • � some languages are domain-specific • � Model-based techniques • � general techniques Meta.ppt 1

  2. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 What reasons are there for creating specialized modeling languages? (structure the discussion according to the language quality categories) Participant Social actor appropriateness explicit Modeller knowledge appropriateness Goals of Social actor modelling Organizational interpretation appropriateness Comprehensibility appropriateness Modeling Model Language externalization extension domain Domain appropriateness Q Technical actor Tool appropriateness interpretation 3

  3. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Central concepts � � Meta-levels: according to the classification abstraction-mechanisms � � Meta-levels used in modeling � � Instance: John Krogstie as lecturer in TDT4250 in 2007 � � Model (type): Lecturer in course � � Meta-model: Entity class, relationship class � � Meta-meta-model: Node, edge � � Language-model vs. meta-model � � Semantic description vs. basis for model-repository � � Conceptual vs. logical vs. physical language-model Q 4

  4. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Conceptual language model of main parts of EEML: Goal modelling and process modelling Q 5

  5. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Example of Logical language model (of DIAMODL) Q 6

  6. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Languages for language and meta-modeling � � Typically based on a structural perspective � � ER or similar � � UML (class diagrams) � � GOPRR (Graph Object Property Role Relationship) (Used in Metaedit) � � Rule languages to represent additional constraints � � Limited use of behavioral models for languages with an operational semantics (state transition diagrams/sequence diagrams) Q 7

  7. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Domain-specific modeling using MetaEdit Based on a presentation by Steven Kelly MetaCase Consulting Meta.ppt 8

  8. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Contents � � Introduction � � What is domain-specific modeling (DSM)? � � Benefits of DSM � � DSM case studies � � How to implement domain-specific methods � � Demonstration of examples � � Summary Q 9

  9. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 What is domain-specific modeling � � Captures domain knowledge (as opposed to code) � � Uses domain abstractions � � Applies domain concepts and rules as modeling constructs � � Allows developers to design products with domain terms � � Apply familiar terminology � � Solve the right problems � � Solve problems only once Q 10

  10. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Main potential benefits of DSM � � Fundamental productivity improvements (3-10 times) � � Shorter intervals � � Lower costs � � Fewer people needed � � Faster change responsiveness � � Manage changes in domain instead of code � � Leverage expertise inside the team � � Put your expert’s knowledge in a tool � � “Hide” domain complexity � � DSM includes domain rules Q � � http://www.dsmforum.org 11

  11. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 DSM Case Study: Nokia � � DSM and related code generators for mobile phone* � � Order of magnitude productivity gains (10x) � � "A module that was expected to take 2 weeks... took 1 day from the start of the design to the finished product" � � Focus on designs rather than code � � Domain-oriented method allows developers to concentrate on the required functionality � � Training time was reduced significantly � � “Earlier it took 6 months for a new worker to become Q productive. Now it takes 2 weeks” * MetaCase, Nokia case study, 1999 12

  12. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 DSM Case Study: Lucent � � 5ESS Phone Switch* � � Several DSMs � � One DSM (called RAD): specifying configuration control units and relationships between them � � Translation to state machines � � Translation to C � � Reported productivity improvements of about 3-10 times � � From several cases Q � � From several DSMs * D. Weiss et al, Software Product-Line Engineering, Addison-Wesley 13

  13. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 DSM Case Study: USAF � � Development of message translation and validation system* � � Declarative domain-specific language � � + code generators and customization of components � � Compared DSM against component-based development: � � DSM is 3 times faster than code components � � DSM leads to fewer errors: about 50% less � � DSM gives “superior flexibility in handling a greater range of Q specifications” than components * Kieburtz et al., A Software Engineering Experiment in Software Component Generation, ICSE 14

  14. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 How to implement DSM � Done a few times before! Domain Finished Product Idea Expert (few) � Domain Code Component generation � library � metamodel Easy! Domain Generate calls Normal Components Model (many) � to components Q 15

  15. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 How to implement DSM Investment: � � Define metamodel for the Design DSM domain � � About 1-2 man-weeks DSM and tools � � Build tool support Feedback � � 1 man-day for building a Use DSM modeling tool (!) Payback: Applications Q � � Apply in software production 16

  16. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Steps for implementing DSM Rules Generators 3 4 1 2 Concepts Symbols Q 17

  17. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 1. Design domain concepts � � Map modeling concepts accurately to domain concepts � � Concentrate on semantics! � � Add extensions for software production later � � Keep in mind the end-user (user-friendliness of the DSM) Q 18

  18. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Metamodelling concepts of GOPRR � � Concepts � � G raph � � O bject � � P roperty � � R ole � � R elationship � � Rules, e.g. � � Max 1 � � Min 1 � � Unique, etc � � Links between models � � Reuse rules Q 19

  19. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Model architecture (By ISO & OMG) � � GOPRR Metametamodel Graph Property Relationship Object Role � � Domain language � � Concepts Metamodel Button Alarm � � Rules � � Symbols InstanceOf InstanceOf InstanceOf � � Reports Model Down Wake Sets � � Product specifications InstanceOf System in operation Q Down button pressed 20

  20. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 2. Define domain rules � � Define semantics and rules as they exist in the domain Q 21

  21. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 3. Draw symbols (notation) � � Define symbols illustrating as well as possible the corresponding domain concepts’ natural ”visualization” � � e.g end-users’ notation, customers’ notation � � Notations of diagrams, matrixes, tables, forms, text etc. Q 22

  22. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 4. Implement generators � � The cost of developing the code generation is defrayed over a few users � � Write report definitions based on domain concepts � � Component use � � Code generation � � Review � � etc. Q 23

  23. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Apply in software production � � Develop applications (domain instances) using the DSM infrastructure � � Prototype your design, refine and iterate Q 24

  24. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Example: from coding to modeling Q 25

  25. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Defining metamodel Q 26

  26. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Summary � � Domain-specific modeling can radically improves productivity in certain domains (5-10x) 10x � � DSM leverages expert developers’ abilities to empower other developers in a team � � MetaCASE tools provide a cost- effective way to create DSM infrastructure � � Building DSM is great fun for experts (but is also challenging) Q 28

  27. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Other approaches/environments applying meta- modelling on this level � � Microsoft Visual Studio http://msdn.microsoft.com/vstudio/DSLTools/ � � Eclipse http://www.eclipse.org/gmf & xtext � � Different UML tools (often limited to UML profiles) Q 29

  28. TDT4250 - Model-driven Development of Information Systems, Autumn 2009 Effective Transformations Q 30

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend