Advanced Modelling
Made Simple
with the
Gmodel
metalanguage
Software
Software
is an arbitrary set of
Software Artefact Production
software systems
& other humans
software
developers
http://commons.wikimedia.org/wiki/
File:Discussion.jpg
Software
suffers from the
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
language (encoded in speech or symbolic
notation)
All language artefacts share the probems of
natural language: unanticipated interpretations,
etc.
Today
http://commons.wikimedia.org/wiki/
File:Cloud_computing_icon.svg
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
Modularisation
Modules preserve
Simplicity
•
Roles and modular artefacts represent
the building blocks of
value chains
•
Optimise within the
organisational context
of customers,
suppliers, and available skills
separation of
concerns
unit of work
role based
A
B
C
D
E
F
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
A
F
EF
C
D
B
Value
Chain
produce
consume
produce
pro
du
ce
consume
pro
du
ce
pro
du
ce
co
nsu
me
pro
du
ce
co
nsu
me
consu
me
A
B
C
D
E
F
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Semantic Modelling
Semantic
Domains
Models
1. Identification
of concepts
3. Naming of
concepts
2. Modelling
A
F
EF
C
D
B
Semantic Domains
A
B
C
D
E
F
Connected
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control
Selection criteria for a metadata repository
Adequate support for CR compatible versioning, branching, locking requirements
Support for interfaces with current commercial products (eg ERWin) Metamodelling capability and ideally an extensible metametamodel Support for development of adapters Adequate support for generalisation/ specialisation
Support for multiple terminologies/ jargons
Integration with open source template/transformation languages RDBMS datastore binding (to support referential integrity)
Support for information ownership Adequate support for role based access control