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.
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. 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. 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. 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. Semantic Modelling
1. Identification
of concepts
Models Semantic
3. Naming of
Domains
concepts
2. Modelling
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
15. Jargons develop on top of
Shared Semantic Subdomains
ab ac bc
A B C
ad cf
D E F
de df ef
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. Programming
• Only one instantiation level
• Every technology uses idiocyncratic mechanisms for
• Instantiation
• Reuse
• Scope management
• Access control
• Modularisation
• No wonder programming is hard!
18. Modelling
• No limit to instantiation levels
• A single mechanism for
• Instantiation
• Reuse
• Scope management
• Access control
• Modularisation
• Modelling with Gmodel is Simple!
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. Metalanguage Emulation
grey = meta artefacts
red = instantiation semantics
black = artefact structure
blue links = superset references (reuse)
dashed links = visibilities (scope)
produce
produce
Integrator
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