• No results found

Advanced Modelling Made Simple

N/A
N/A
Protected

Academic year: 2021

Share "Advanced Modelling Made Simple"

Copied!
25
0
0

Loading.... (view fulltext now)

Full text

(1)

Advanced Modelling

Made Simple

with the

Gmodel

metalanguage

(2)

Software

Software

is an arbitrary set of

(3)

Software Artefact Production

software systems

& other humans

software

developers

(4)

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

(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

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

(7)

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

(8)

Semantic Modelling

Semantic

Domains

Models

1. Identification

of concepts

3. Naming of

concepts

2. Modelling

(9)

A

F

EF

C

D

B

Semantic Domains

(10)

A

B

C

D

E

F

Connected

(11)

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

Shared Language

ab

ac

df

de

ad

(12)

ab

ac

df

de

ad

bc

ef

cf

(13)

df

D

View Point

Perspective

Jargon

F

(14)

F

f

View Point

Reflexive Jargon

DSML

(15)

Jargons develop on top of

Shared Semantic Subdomains

A

B

C

D

E

F

ab ac

df

de

ad

bc

ef

cf

(16)

An

instance

is a set that

seems to contain one

and only one element at

any given point in time

from the view point of a

specific actor

Instantiation

is a

function that returns an

instance

ABC 123

instance

model

of

instantiation

A

(17)

Programming

Only one instantiation level

Every technology uses

idiocyncratic mechanisms

for

Instantiation

Reuse

Scope management

Access control

Modularisation

(18)

Modelling

No limit to instantiation

levels

A

single mechanism

for

Instantiation

Reuse

Scope management

Access control

Modularisation

(19)

A

Vertex :

AnimalSpecies

maxAge

isAbstract : no

AnimalSpecies :

Dog

maxAge : 20

isAbstract : no

isPoliceDog

AnimalSpecies :

Cat

maxAge : 30

isAbstract : no

[*]

[2]

[*]

[2]

Dog :

Jack

dateOfBirth : 1/5/03

isPoliceDog : yes

AnimalSpecies :

Mammal

maxAge : 150

isAbstract : yes

dateOfBirth

Dog :

Susie

dateOfBirth : 1/2/00

isPoliceDog : no

Cat :

Coco

dateOfBirth : 4/3/07

Cat :

Peter

dateOfBirth : 10/9/98

treatment time

species

configuration

time

system

design time

multi-level modelling

precise instantiation

semantics

role based

binding times

modularity

simplicity

instantiation ...

establishes

connections between

two levels of abstraction

that

define different binding times

generalisation/specialisation ...

expresses the

commonalities and

variabilities

between the concepts

relevant to a specific binding time

a

consistent instantiation

mechanism at all levels

and

unlimited levels of

(20)

Metalanguage Emulation

Integrator

produce

pro

du

ce

grey

= meta artefacts

red

= instantiation semantics

black

= artefact structure

blue links

= superset references (reuse)

(21)

Modelling Language Design

Language

Designer

(22)

Modelling

pro

duce

(23)

CRM System Usage

Sales Exec

(24)
(25)

Thank you

Jorn Bettin

Software is Models

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

More Information

jbe @ sofismo.ch

www.sofismo.ch

References

Related documents

Trio for Trumpet, Violoncello, and Piano Trio for TrumpeT, Violoncello, and piano was written for and dedicated to Tomislav Spoljar, a marvelous trumpet player and friend from

In order to fully reach the aim of this study, several questions need to be asked, namely (1) how do practitioners perceive the future of hotel chains and collaboration in China,

In this module candidates will develop their classroom practice, informed by relevant theories, concepts and principles of teaching and learning, so they can achieve the

Learning outcome L: Evaluate the outcomes of the presentation to produce a short-term development plan for developing their role in order to improve specific outcomes in their area

(2018) suggested that “creating gender-neutral bathrooms, distributing pamphlets with information about gender identity to students and faculty, encouraging schools to

A disjoint test set of 60 daily option price series, containing data on a total of 1,238 (European) put options on the FTSE 100 index, was created. Option and underlying asset

( ﺖﺳا ﻪﺘﺧادﺮﭘ. ﻪـﺑ ﻪـﻛ ﺖـﺳا رﺎـﻛ شور ﺎﻳ ﺪﺘﻣ ،ﻪﻣﺪﻘﻣ زا ﺲﭘ ﺎـــﻫ هداد ﺰﻴﻟﺎـــﻧآ شور و يرﺎـــﻣآ ﺖـــﻴﻌﻤﺟ ﻒﻴـــﺻﻮﺗ دزادﺮﭘ ﻲﻣ. يﺪـﻌﺑ ﺖﻤﺴﻗ ﺞﻳﺎﺘﻧ ) Results (

Wet-pipe closed automatic sprinkler systems shall be flow-tested by operating flow through the maximum number of sprinklers expected to open, but not through fewer than eight