Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des...

45
Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD- TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes

Transcript of Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des...

Page 1: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

Discussion sur la plate-forme MIMOSADiscussion sur la plate-forme MIMOSA

Jean-Pierre Müller, CIRAD-TERAÉquipe "Dynamique et usage des ressources

et modélisation des systèmes complexes"

Page 2: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

IntroductionIntroduction

Page 3: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

ArchitectureArchitecture Fournir les mécanismes de base pour la modélisation et

la simulationNiveau I

Fournir un vocabulaire pour le modélisateur qu’il puisse étendre à volonté

Niveau 2 Fournir un environnement de développement, de

simulation et d’analyse de modèlesNiveau 3

Page 4: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Niveau 2: Un vocabulaire pour le modélisateurNiveau 2: Un vocabulaire pour le modélisateur

Les points de vue Les entités Espace représenté versus espace construit Temps représenté versus temps construit Le niveau méta

Page 5: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

Les points de vueLes points de vue

Page 6: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Les points de vue (I)Les points de vue (I) Un point de vue comprend:

Les rôles (ou types d’entité)Les méthodes d’accès aux instances (nommage)

Un modèle ajoute à un point de vue:Les relations (liens statiques)Les interactions (liens dynamiques)Divers descripteurs:– cardinalités, invariants, etc.

Page 7: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Les points de vue (II)Les points de vue (II)RoleType

+getMeasure(i:MeasureInstrument, p:Parameters): Role+sendEvent(e:Event): void

ViewPoint

Model

OrganisationSynonym

Observateur

Modélisateur

Naming

Behaviour

+sendEvent(e:Event): void

RelationNaming

ComposedNaming

+getRole(n:AttributeName): Role

Page 8: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Les rôles (I)Les rôles (I)

Les rôles (ou entités)La capacité d’être mesuréLa capacité de recevoir des influences/évènementsUn ensemble de comportementsComprenant entre autres:– Des instruments de mesure– Des agents– Des horloges

Page 9: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Les rôles (II)Les rôles (II)

RoleType

+getMeasure(i:MeasureInstrument, p:Parameters): Role+sendEvent(e:Event): void

AgentTypeEntityType

Synonyme

Synonyme

Clock

Model

NumberTypeSymbolType

PrimitiveRoleType ComposedRoleType

Page 10: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Nommage (I)Nommage (I)

Le procédé de nommage:Ensemble des noms possiblesMéthodes d’accès à (aux) instance(s) par le nomComprenant:– Noms de rôle ou d’attribut– Coordonnées– Méthodes d’indexation

Page 11: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Nommage (II)Nommage (II)

Schéma général:

Le cas des attributs:

Naming

+getRole(n:Name): Role

Name

-cardinality: int

+getCardinality(): int

defines

RoleType

+getMeasure(i:MeasureInstrument, p:Parameters): RoleType+postInf luence(i:Inf luence, p:Parameters): void

domain

Name

-cardinality: int

+getCardinality(): int

Naming

+getRole(n:Name): Roledefines

AttributeName

-n: String

ComposedNaming

+getRole(n:AttributeName): Role

AttributeNaming

Page 12: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Nommage: le cas de l’espaceNommage: le cas de l’espace

Space

+getRole(e:RoleType, p:SpaceName): Role+getRole(e:RoleType, p:Place): Role

TopologicalSpace

MetricSpace

+getRole(e:RoleType, n:MetricName): Role+getRole(e:RoleType, n:MetricName, d:Distance): Role

SpatialRelation

Scale

Unit Resolution

2

*

OrganizationalSpace

DiscreteSpace ContinuousSpace

Synonym

Metadescription

2D and3D grids

Place

+getRole(e:RoleType): Role

Orientationdefines

defines

defines

TopologicalPlace

+getNeighbours(r:SpatialRelation): PlaceDistance

defines

Hole

defines

SpaceNaming

Naming

+getRole(n:Name): Role

MetricNaming MetricName

Name

SpaceName

-n: String

Page 13: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Nommage: le cas du tempsNommage: le cas du temps

TimeSpan

+getEvent(e:EventType): Event

Scale

Time

+getEvent(e:EvenType, n:TimeName): Event+getEvent(e:EventType, t:TimeSpan): Event

Unit

OrdinalTime

CardinalTime

+getNeighbourRole(e:RoleType, n:Date, d:TemporalDistance): Role

TemporalRelation

2

*

DiscreteTime ContinuousTime

Resolution

defines

defines

Metadescription

Interval orinstant

TopologicalTimeSpan

+getNeighbours(r:TemporalRelation): TimeSpan

TemporalDistance

defines

TimeNaming TimeName

CardinalTimeNaming Date

Naming

+getRole(n:Name): Role

Name

Page 14: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Les interactions (I)Les interactions (I)

Les interactions (ou comportements)Conditions-évènementsEnsemble d’interactions (?)Comprenant:– Les changements affectant:

Une mesure d’une entité Un ensemble de mesure d’une même entité Les mesures de plusieurs entités

Page 15: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Les interactions (II)Les interactions (II)

Behaviour

ProactiveBehaviour

Influence

Event

Stimulus

Message

EventContent

Synonym

Utterance CognitiveBehaviour

ReactiveBehaviour

Peut-être un acte delangage en KQMLou ACL

RoleType

+getMeasure(i:MeasureInstrument, p:Parameters): RoleType+postInf luence(i:Inf luence, p:Parameters): void

effect

effect

effect

Condition

activation

Page 16: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Les instances (I)Les instances (I)

Il faut distinguer:Les types de points de vue– Les organisations sous la forme de type d’entités avec les

interactions et les méthodes d’accès

Les instances de points de vue– Groupes d’entités sur lesquelles vont s’appliquer les

interactions et les méthodes d’accès

Page 17: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Les instances (II)Les instances (II)RoleType

+getMeasure(i:MeasureInstrument, p:Parameters): Role+sendEvent(e:Event): void

Role

instantiates

SubjectiveViewPoint

Agent ouavatar

Model

Group

+getValue(n:Name): Role

instantiates

Environment

Synonym

PrimitiveRole

SymbolNumber

Page 18: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

Les entitésLes entités

Page 19: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Entité comme organisation (I)Entité comme organisation (I) Une entité peut être composée d’un ensemble d’autres

entités:Un point de vue dans lequel l’entité est un toutUn point de vue dans lequel elle est un ensemble d’entitésComposition comme une relation entre deux points de vue dans un troisième point de vue

Une entité est en relation avec sa (ses) composition(s), éventuellement spatiale(s) et/ou temporelle(s)

Page 20: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Entité comme organisation (II)Entité comme organisation (II)

RoleType

+getMeasure(i:MeasureInstrument, p:Parameters): Role+sendEvent(e:Event): void

AgentTypeEntityType

Synonyme

Synonyme

Clock

Model

NumberTypeSymbolType

PrimitiveRoleType ComposedRoleType

Page 21: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

ConséquenceConséquence

Relations comme nommage d’une entité

ViewPoint

Model

OrganisationSynonym

Observateur

Modélisateur

RoleType

+getMeasure(i:MeasureInstrument, p:Parameters): RoleType+postInf luence(i:Inf luence, p:Parameters): void

Naming

Behaviour

Relation

Page 22: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Entité comme agentEntité comme agent

Deux visions:L’agent comme une entité (un tout) à un certain niveau d’abstraction

– Le corps (?)

L’agent comme composé de différentes entités (mémoire, etc.)

– Le « cerveau » (?)

Page 23: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Entité comme environnementEntité comme environnement Une entité à un niveau supérieur est un

environnement pour les entités qu’elle porte au niveau inférieur:

Peut avoir un espace qui lui est associéPeut avoir un temps qui lui est associé (à comparer avec SWARM)Implémentation:– Ensemble de nommages distincts sur les entités

composantes

Page 24: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

ConséquenceConséquence

Espace (et le temps) comme point de vue

Space

+getRole(e:RoleType, p:SpaceName): Role+getRole(e:RoleType, p:Place): Role

Place

+getRole(e:RoleType): Role

defines

Hole

defines

SpaceNaming

Naming

+getRole(n:Name): Role

Name

SpaceName

-n: String

ViewPoint

TimeSpan

+getEvent(e:EventType): Event

Time

+getEvent(e:EvenType, n:TimeName): Event+getEvent(e:EventType, t:TimeSpan): Event

defines

Interval orinstant TimeNaming TimeName

ViewPoint

Page 25: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Relations particulières (I)Relations particulières (I) Les relations de composition

Lient une entité comme un tout à une entité comme un ensemble d’entités

Les relations de positionLient une entité comme composant à une entité comme un tout comprenant

– l’entité contenante– le nom de l’entité composante dans l’entité contenante

(nom d’attribut ou coordonnée)

Page 26: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Relations particulières (II)Relations particulières (II)

Relations de conversionConversion d’une entité composante d’une entité dans une entité composante d’une autre entité

– Changement de point de vue

Conversion d’un nom dans un nommage dans un nom d’un autre nommage

– Changement de point de vue– Changement de coordonnées

Page 27: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Relations particulières (III)Relations particulières (III)

Relation

Composition PositionConversion

+convertName(): Name+convertRole(): Role

AttributeName

-n: String

ComposedNaming

+getRole(n:AttributeName): Role

RelationNaming

Group

+getValue(n:Name): Role+applyAction(a:Action, n:Name): void

Name

-cardinality: int

+getCardinality(): int

Page 28: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Les mesuresLes mesures Structure d’une mesure :

Par son instrument de mesurePar des paramètresPar le type du résultat attendu pour conversion éventuelle

– Règles de passage d’un type à l’autre (p.e. d’un espace à l’autre)

Le traitement d’une mesureCalcul du résultat converti à partir des relations

Page 29: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

Espace et tempsEspace et temps

Page 30: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Espace construit et représentéEspace construit et représenté

Espace représenté:Espace a prioriLes entités sont placés dans l ’espace

Espace construit:Les entités et leurs relations a prioriL’espace est induit à partir des relations

Page 31: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Espace représenté (I)Espace représenté (I)

Space

+getRole(e:RoleType, p:SpaceName): Role+getRole(e:RoleType, p:Place): Role

TopologicalSpaceSpatialRelation

2

*

Synonym

Place

+getRole(e:RoleType): Role

Orientationdefines

defines

defines

TopologicalPlace

+getNeighbours(r:SpatialRelation): Place

Hole

defines

SpaceNaming

Naming

+getRole(n:Name): Role

Name

SpaceName

-n: String

ViewPointUn espace est unensemble de lieux

Un espace est unensemble de lieuxmuni d'une relation devois inage

OrganizationalSpace

Page 32: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Espace représenté (II)Espace représenté (II)

MetricSpace

+getRole(e:RoleType, n:MetricName): Role+getRole(e:RoleType, n:MetricName, d:Distance): Role

Scale

Unit Resolution

DiscreteSpace ContinuousSpace

MetadescriptionDistancedefines

Coordinates Coordinate

Extent

2DDiscreteSpace

2DContinuousSpace

3DDiscreteSpace

3DContinuousSpace

DiscreteCoordinates ContinuousCoordinates

SpatialConversion

Conversion

SpaceOrigin

Un espace muni decoordonnées, d'unsystème de mesure etd'une étendue

TopologicalSpace

Page 33: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Espace construit (I)Espace construit (I)

Les parcelles Parcellesfoncières

Parcellesculturales

Parcellesfiscales

Espaceinduit

Page 34: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Espace construit (II)Espace construit (II)

Conséquence:Le nombre de lieux varie au cours du tempsMise en relation entité/lieu

Entité=lieu

Notion de lieuindépendante

des entités

« Algèbrede Allen »

des surfaces

Page 35: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Temps représentéTemps représenté

TimeSpan

+getEvent(e:EventType): Event

Scale

Time

+getEvent(e:EvenType, n:TimeName): Event+getEvent(e:EventType, t:TimeSpan): Event

Unit

OrdinalTime

CardinalTime

+getNeighbourRole(e:RoleType, n:Date, d:TemporalDistance): Role

TemporalRelation

2

*

DiscreteTime ContinuousTime

Resolution

defines

defines

Metadescription

Interval orinstant

TopologicalTimeSpan

+getNeighbours(r:TemporalRelation): TimeSpan

TemporalDistance

defines

TimeNaming TimeName

CardinalTimeNaming Date

Naming

+getRole(n:Name): Role

Name

ViewPoint

Extent

Conversion

TimeConversionTimeOrigin

Page 36: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Temps construit (I)Temps construit (I)

Temps par instantTemps comme succession des évènements

Temps par intervalleTemps comme succession des états

Vie

Période

Etat civil

enfant adulte 3ème age

célibataire marié

Temps induit

Page 37: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Temps construit (II)Temps construit (II)

Evènement ou état=temps

Notion de tempsindépendante

des entités

Algèbrede Allen

+

DualitéÉvènement/état

DualitéInstant/intervalle

Page 38: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Temps construit (suite)Temps construit (suite)

Temps construit et simulationLa simulation déroule le temps– Simulation évènementielle– Simulation synchrone: événements distingués (tops

d’horloge)– Question: évènements simultanés, synchronisation ?

L’observateur doit passer du temps déroulé au temps représenté

– Reconstruction des successions– Calage sur une mesure du temps (heure, min, sec)

Page 39: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

La dynamiqueLa dynamique

Page 40: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Noms et valeursNoms et valeurs Nom d’un ou plusieurs rôles (entités):

C’est un couple (groupe,nom) où– Le nom appartient à l’espace de nommage du groupe

Valeur d’un nom de rôle:Le ou les rôles désignés par le nom

Problème de cardinalité:Un nom désigne toujours un ensemble: vide, un élément, plusieurs éléments

Page 41: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Les évènementsLes évènements Evènement :

Signalement du changement de la valeur d’un nom de rôle Structure

(groupe, nom)Changement: ajout, retrait, modificationEntitéFacultatif en modification: ancienne entité

Event

-eventType: String

+getEventType(): String

Group

+getValue(n:Name): Role

Name

-cardinality: int

+getCardinality(): int

RoleName

+getValue(): Role

Role

argument1..2

Page 42: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Les actionsLes actions Action

Changement de la valeur d’un nom Structure

(groupe,nom)Changement: ajout, retrait, modificationNouvelle valeurFacultatif en modification: ancienne valeur

Remarque: toute action provoque un évènementGroup

+getValue(n:Name): Role

Name

-cardinality: int

+getCardinality(): int

RoleName

+getValue(): Role

Role

Action

-actionType: String

+getActionType(): String

argument

Page 43: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Modèles d’exécutionModèles d’exécution Modèles asynchrones

Une entité s’abonne à un ensemble de noms d’entitéChaque modification est transmise à l’entité

Modèles synchronesUne entité s’abonne à un nom d’entité distingué (top d’une horloge)Chaque top est transmis à l’entité

Modèles mixtes

Page 44: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

Le niveau métaLe niveau méta

Page 45: Discussion sur la plate-forme MIMOSA Jean-Pierre Müller, CIRAD-TERA Équipe "Dynamique et usage des ressources et modélisation des systèmes complexes"

TERA-ERE/CORMAS II

Le niveau métaLe niveau méta Quelques pistes

Le groupe comme un typeL’entrée et la sortie d’un groupe comme un modèle

– Dynamique des groupes– Contrôle de la création de scénarios

La modification d’un nommage comme un modèleUn point de vue comme un point de vue

– Les RoleType sont les instances– Leur nommage par le même mécanisme

Les relations comme un point de vue– Nommage des rôles de la relation