1 / 24

Object-Oriented Theories for Model Driven Architecture

Object-Oriented Theories for Model Driven Architecture. Tony Clark, King’s College, UK. Andy Evans, University of York, UK. Robert France, Colorado University, USA. Overview. Requirements for MDA Language Engineering for MDA Technology for MDA: Package Extension Templates Theories

Download Presentation

Object-Oriented Theories for Model Driven Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object-Oriented Theories for Model Driven Architecture Tony Clark, King’s College, UK.Andy Evans, University of York, UK.Robert France, Colorado University, USA.

  2. Overview • Requirements for MDA • Language Engineering for MDA • Technology for MDA: • Package Extension • Templates • Theories • Refinement and Refactoring

  3. Model Driven Software Engineering • Software systems: • increasingly modelled • need reuse of design/code • require tool support • faster delivery times • skills shortage • product lines • more automation • interoperability • domain specific languages DevelopmentProcess SafetyRequirements BusinessRules InformationModel FunctionalModel EventModel Real-TimeRequirements DeploymentModel PlatformIndependentModel Analysis Tests Mapping Mapping PlatformSpecificModel PlatformSpecificModel

  4. Language Engineering for MDA

  5. Template Packages and Classes • MML allows definitions to be parametric. • OO Patterns can be defined as templates. • Templates are stamped out. • Templates can be combined. • Combination occurs through package extension. TemplateLibrary StampOut Components Merge

  6. Realizing MDA With Mappings Business Modelmaps toPlatform Independent Model Manageability achieved through many intermediate mapping components Platform Independent Modelmaps toPlatform Specific Model

  7. TemplateLibrary Source Language Target Language TemplateLibrary Merge StampOut Components Mappings TemplateLibrary Mappings for Component Based MDA

  8. Free Theory1 Theory2 System Modelling Theories for MDA Models are freely constructed. Theories are expressed as constraints on different system aspects. Theories are partial views of a system. Theories are combined to produce the final system description.

  9. AS SD Theory1 Theory2 System Mapping Theories Theories can be used to express relationships. Freely construct a relation and then combine with theories over aspects of the domains. Mapping

  10. Case Study Definition of a simple language for dynamic behaviour. Definition of language given by a meta-model for a language unit.

  11. SyntaxDomain SemanticDomain

  12. Identify general properties. Express them as templates:

  13. Stamp Out Language Definition Pattern from template library Renaming information Package is result of merging stamped out packages

  14. Capture System Properties as Theories • Machine Language is currently ‘free’. • Requires constraints on syntax and semantics. • Example: the source and target of every transition must be a machine state.

  15. An Object Theory Diagram

  16. Theories are a proposed extension of MML: theory WellFormedMachine:Machineorobj :Machine trans = Set{} endimplies obj :Machine trans = T; states = S->including(s)->including(t)end obj :Machine trans = T->including(obj :Trans src = s; tgt = t end); states = S->including(s)->including(t)end end endend

  17. Theory Extension

  18. Theoriescan be defined as extensions of existing theories. Theories can be used to define relationships between model elements. Assume a theory ValueMeaning that defines ValueOf between values and types: theory FieldSemantics:Semanticsextends ValueMeaningimpliesobj :ValueOf value = v; type = tendobj :FieldMeaning slot = obj :Slot label = l; value = v end; field = obj :Field label = l; type = t endend endend

  19. Define the following theories: All theories conform to the Semantics.Theories can specialiseexisting theories. The complete MachineSpecis constructed as a combination of thetheories over the semantics.

  20. Theory Templates A relationship Rp holds between two container types Pd and Pr if a relationship Rc holds between all of the contained elements (of types Cd and Cr respectively). Example: The mapping from a machine to a Java program is composed of sub-mappings from states to Java variables and transitions to Java methods.

  21. Refinement and Refactoring • Theories and theory templates can be used to capture standard intra and inter language relations. • Libraries of verified relations. • Example: containership is refined to Java Vectors. • Example: inheritance is refactored to become delegation.

  22. Conclusion • Language Engineering is key for MDA. • Reusing language aspects. • Abstract patterns of language properties. • Relationships and mappings. • Theories capture reusable, executable properties.

More Related