Advanced modelling made simple with the Gmodel metalanguage

1,188 views

Published on

Introductory slides on semantic modelling. Not necessarily self explanatory without sound track. See http://mdi2010.lcc.uma.es/proceedings/MDI2010-Proceedings.pdf and http://semanticmodelling.blogspot.com/ for further details.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,188
On SlideShare
0
From Embeds
0
Number of Embeds
430
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

























  • Advanced modelling made simple with the Gmodel metalanguage

    1. 1. Advanced Modelling Made Simple with the Gmodel metalanguage Jorn Bettin & Tony Clark
    2. 2. Software Software is an arbitrary set of language artefacts
    3. 3. Software Artefact Production software developers software systems & other humans
    4. 4. Today http://commons.wikimedia.org/wiki/ Software suffers from the File:Cloud_computing_icon.svg same problems as way back when natural language evolved to enrich the exchange between humans Increasingly the artefacts exchanged between humans are neither hardware nor natural http://commons.wikimedia.org/wiki/ language (encoded in speech or symbolic File:Discussion.jpg notation) All language artefacts share the probems of natural language: unanticipated interpretations, etc.
    5. 5. Modelling is about Clarity All models are code a system of symbols used for • identification • classification in the sense of grouping a system of signals used to send messages a set of conventions governing behaviour Modelling is meta coding to improve clarity of code
    6. 6. Modularisation separation of concerns Selection criteria for a metadata repository Adequate support for CR compatible versioning, branching, locking requirements Support for interfaces with current Selection criteria for a metadata repository Adequate support for CR compatible versioning, branching, locking requirements Support for interfaces with current Selection criteria for a metadata repository Adequate support for CR compatible versioning, branching, locking requirements Support for interfaces with current commercial products (eg ERWin) commercial products (eg ERWin) commercial products (eg ERWin) Metamodelling capability and ideally Metamodelling capability and ideally Metamodelling capability and ideally an extensible metametamodel an extensible metametamodel an extensible metametamodel A B C Support for development of adapters Support for development of adapters Support for development of adapters Adequate support for generalisation/ Adequate support for generalisation/ Adequate support for generalisation/ specialisation specialisation specialisation Support for multiple terminologies/ Support for multiple terminologies/ Support for multiple terminologies/ jargons jargons jargons Modules preserve Simplicity Integration with open source Integration with open source Integration with open source template/transformation languages template/transformation languages template/transformation languages RDBMS datastore binding (to support RDBMS datastore binding (to support RDBMS datastore binding (to support referential integrity) referential integrity) referential integrity) Support for information ownership Support for information ownership Support for information ownership Adequate support for role based Adequate support for role based Adequate support for role based access control access control access control • Roles and modular artefacts represent Selection criteria for a metadata repository Selection criteria for a metadata repository Selection criteria for a metadata repository the building blocks of value chains Adequate support for CR compatible Adequate support for CR compatible Adequate support for CR compatible versioning, branching, locking versioning, branching, locking versioning, branching, locking requirements requirements requirements Support for interfaces with current Support for interfaces with current Support for interfaces with current D E F commercial products (eg ERWin) commercial products (eg ERWin) commercial products (eg ERWin) Metamodelling capability and ideally Metamodelling capability and ideally Metamodelling capability and ideally an extensible metametamodel an extensible metametamodel an extensible metametamodel • Support for development of adapters Support for development of adapters Support for development of adapters Optimise within the Adequate support for generalisation/ Adequate support for generalisation/ Adequate support for generalisation/ specialisation specialisation specialisation Support for multiple terminologies/ Support for multiple terminologies/ Support for multiple terminologies/ jargons jargons jargons organisational context of customers, Integration with open source Integration with open source Integration with open source template/transformation languages template/transformation languages template/transformation languages RDBMS datastore binding (to support RDBMS datastore binding (to support RDBMS datastore binding (to support referential integrity) referential integrity) referential integrity) Support for information ownership Support for information ownership Support for information ownership suppliers, and available skills Adequate support for role based Adequate support for role based Adequate support for role based access control access control access control role based unit of work
    7. 7. Value produce produce consume B Chain Selection criteria for a metadata Selection criteria for a metadata Selection criteria for a metadata repository repository repository Adequate support for CR compatible Adequate support for CR compatible Adequate support for CR compatible versioning, branching, locking versioning, branching, locking versioning, branching, locking requirements requirements requirements Support for interfaces with current Support for interfaces with current Support for interfaces with current commercial products (eg ERWin) commercial products (eg ERWin) commercial products (eg ERWin) Metamodelling capability and ideally Metamodelling capability and ideally Metamodelling capability and ideally an extensible metametamodel an extensible metametamodel an extensible metametamodel A B C Support for development of adapters Support for development of adapters Support for development of adapters Adequate support for generalisation/ Adequate support for generalisation/ Adequate support for generalisation/ produce consume specialisation specialisation specialisation Support for multiple terminologies/ Support for multiple terminologies/ Support for multiple terminologies/ jargons jargons jargons Integration with open source Integration with open source Integration with open source template/transformation languages template/transformation languages template/transformation languages RDBMS datastore binding (to support RDBMS datastore binding (to support RDBMS datastore binding (to support referential integrity) referential integrity) referential integrity) Support for information ownership Support for information ownership Support for information ownership Adequate support for role based Adequate support for role based Adequate support for role based access control access control access control A C me Selection criteria for a metadata Selection criteria for a metadata Selection criteria for a metadata onsu repository repository repository Adequate support for CR compatible Adequate support for CR compatible Adequate support for CR compatible c versioning, branching, locking versioning, branching, locking versioning, branching, locking requirements requirements requirements Support for interfaces with current Support for interfaces with current Support for interfaces with current D E F commercial products (eg ERWin) commercial products (eg ERWin) commercial products (eg ERWin) Metamodelling capability and ideally Metamodelling capability and ideally Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation consume Support for multiple terminologies/ Support for multiple terminologies/ Support for multiple terminologies/ jargons jargons jargons Integration with open source Integration with open source Integration with open source produce template/transformation languages RDBMS datastore binding (to support referential integrity) Support for information ownership template/transformation languages RDBMS datastore binding (to support referential integrity) Support for information ownership template/transformation languages RDBMS datastore binding (to support referential integrity) Support for information ownership Adequate support for role based Adequate support for role based Adequate support for role based access control access control access control D F consume produce produce EF
    8. 8. Semantic Modelling 1. Identification of concepts Models Semantic 3. Naming of Domains concepts 2. Modelling
    9. 9. A B C Semantic Domains D EF F
    10. 10. Connected Semantic Domains A B C D E F
    11. 11. Selection criteria for a metadata repository Adequate support for CR compatible versioning, branching, locking requirements ab Selection criteria for a metadata repository Adequate support for CR compatible versioning, branching, locking requirements Selection criteria for a metadata repository Adequate support for CR compatible versioning, branching, locking requirements Support for interfaces with current Support for interfaces with current Support for interfaces with current commercial products (eg ERWin) commercial products (eg ERWin) commercial products (eg ERWin) Metamodelling capability and ideally Metamodelling capability and ideally Metamodelling capability and ideally an extensible metametamodel an extensible metametamodel an extensible metametamodel Support for development of adapters Support for development of adapters Support for development of adapters Adequate support for generalisation/ Adequate support for generalisation/ Adequate support for generalisation/ specialisation specialisation specialisation Support for multiple terminologies/ Support for multiple terminologies/ Support for multiple terminologies/ jargons jargons jargons Integration with open source Integration with open source Integration with open source template/transformation languages template/transformation languages template/transformation languages RDBMS datastore binding (to support RDBMS datastore binding (to support RDBMS datastore binding (to support referential integrity) referential integrity) referential integrity) Support for information ownership Support for information ownership Support for information ownership Adequate support for role based Adequate support for role based Adequate support for role based ac access control access control access control ad Shared Language Selection criteria for a metadata repository Adequate support for CR compatible versioning, branching, locking requirements Support for interfaces with current de Selection criteria for a metadata repository Adequate support for CR compatible versioning, branching, locking requirements Support for interfaces with current Selection criteria for a metadata repository Adequate support for CR compatible versioning, branching, locking requirements Support for interfaces with current commercial products (eg ERWin) commercial products (eg ERWin) commercial products (eg ERWin) Metamodelling capability and ideally Metamodelling capability and ideally Metamodelling capability and ideally an extensible metametamodel an extensible metametamodel an extensible metametamodel Support for development of adapters Support for development of adapters Support for development of adapters Adequate support for generalisation/ Adequate support for generalisation/ Adequate support for generalisation/ specialisation specialisation specialisation Support for multiple terminologies/ Support for multiple terminologies/ Support for multiple terminologies/ jargons jargons jargons Integration with open source Integration with open source Integration with open source template/transformation languages template/transformation languages template/transformation languages RDBMS datastore binding (to support RDBMS datastore binding (to support RDBMS datastore binding (to support referential integrity) referential integrity) referential integrity) Support for information ownership Support for information ownership Support for information ownership Adequate support for role based Adequate support for role based Adequate support for role based access control access control access control df
    12. 12. Jargon = Words + Symbols ef de df ad cf ac bc ab
    13. 13. Perspective Jargon df D F View Point
    14. 14. Reflexive Jargon DSML f F F View Point
    15. 15. Jargons develop on top of Shared Semantic Subdomains ab ac bc A B C ad cf D E F de df ef
    16. 16. model An instance is a set that instantiation seems to contain one and only one element at of any given point in time from the view point of a specific actor instance Instantiation is a function that returns an instance ABC 123
    17. 17. Programming • Only one instantiation level • Every technology uses idiocyncratic mechanisms for • Instantiation • Reuse • Scope management • Access control • Modularisation • No wonder programming is hard!
    18. 18. Modelling • No limit to instantiation levels • A single mechanism for • Instantiation • Reuse • Scope management • Access control • Modularisation • Modelling with Gmodel is Simple!
    19. 19. multi-level modelling Vertex : AnimalSpecies system precise instantiation semantics role based binding times maxAge isAbstract : no design time modularity simplicity instantiation ... AnimalSpecies : Mammal species establishes connections between two levels of abstraction that define different binding times maxAge : 150 isAbstract : yes dateOfBirth configuration time generalisation/specialisation ... expresses the commonalities and a consistent instantiation variabilities between the concepts mechanism at all levels relevant to a specific binding time and unlimited levels of AnimalSpecies : Dog AnimalSpecies : Cat instantiation maxAge : 20 [2] maxAge : 30 [2] isAbstract : no isAbstract : no isPoliceDog [*] [*] treatment time Dog : Jack Dog : Susie Cat : Coco Cat : Peter dateOfBirth : 1/5/03 dateOfBirth : 1/2/00 dateOfBirth : 4/3/07 dateOfBirth : 10/9/98 isPoliceDog : yes isPoliceDog : no
    20. 20. Metalanguage Emulation grey = meta artefacts red = instantiation semantics black = artefact structure blue links = superset references (reuse) dashed links = visibilities (scope) produce produce Integrator
    21. 21. Modelling Language Design produce Language Designer
    22. 22. Modelling pro du ce Modeller
    23. 23. CRM System Usage produce Sales Exec
    24. 24. Scope Management Example
    25. 25. More Information The Role of Artefacts tiny.cc/artefacts From Muddling to Modelling tiny.cc/muddleToModel Model Oriented Domain Analysis tiny.cc/domainanalysis Multi-Level Modelling tiny.cc/gmodel Denotational Semantics tiny.cc/densem Thank you Jorn Bettin jbe @ sofismo.ch Software is Models www.sofismo.ch

    ×