Modèle PSM Platform-Specific Model Transformation automatique... Composant Composant ComposantGlugiciel... Composant Composant Composant Médium... A.2 nbAvailableIdavailable −> size B.2
Trang 9Modèle PSM (Platform-Specific Model)
Transformation automatique
Trang 15Composant
Composant
ComposantGlugiciel
Trang 16Composant
Composant
Composant Médium
Trang 20<< interface >>
IReserverMediumServices
* observers
*
* reserved
* available
* originalSet 0 1
1 /source
ReserveId
<< interface >>
ISourceMediumServices setReserveIdSet(ReserveId[], Boolean)
Trang 21A.2 nbAvailableId(available −> size) B.2 [resReturn != null] nbAvailableId(available −> size) C.2 [cancelReturn = true] nbAvailableId(available −> size)
*
*
1 /source
ReservationMedium
A.1 setReserveIdSet(set)
B.1 resReturn = reserve()
C.1 cancelReturn = cancel(id) /reserver
Trang 22Panneau Affichage
Observer Manager
AccesUn
AccesDeux
Site C Site A
Site B
Site D
Reserver Manager Intergiciel
Reserver Manager Médium de
Trang 25ReserveId
1 0 1
<< interface >>
IReserverMediumServices
cancel(ReserveId) ReserveId reserve()
Trang 26ISourceMediumServices setReserveIdSet(ReserveId[], Boolean)
<< interface >>
localAvailable * 0 1
*
*
* Boolean usable = false
IObserverComponentServices
<< interface >>
nbAvailableId(Integer) /observer
ReserveId ReserverManager
Boolean cancelerIsReserver Boolean usable = false
ObserverManager Boolean usable = false
Trang 27Boolean usable = false SourceManager
ReserverManager /source
*
* available originalSet IReserverMediumServices
Trang 28M M
M M
R R R R R
R R
M
R M M
R
M R M R
M R
Rôle Gestionnaire Identificateur
>"=J NF 6
Trang 34
ISourceMediumServices SourceManager
ReservationMedium
* 1
<<interface>>
IObserverComponentServices nbAvailable(Integer)
insert(ReserveId) remove(ReserveId) ReserveId select(Integer) Integer size()
Trang 36setReserveIdSet(ReserveId[], Boolean)
<<interface>>
IReserverMediumServices ReserveId reserve() Cancel(ReserveId)
<<interface>>
IObserverComponentServices nbAvailable(Integer)
ReserverManager
ReserveId reserved *
localAvailable
originalSet * * 0 1
insert(ReserveId) remove(ReserveId) ReserveId select(Integer) Integer size()
1
*
* *
1 1
1 Boolean usable
Boolean usable
Boolean usable Boolean cancelerIsReserver
Trang 37Source Manager
Panneau Affichage
Observer Manager
AccesUn
AccesDeux
Reserver Manager
Site C Site A
Site B
Site D
Reserver Manager Chord Data Manager
Chord Data Manager Intergiciel
Médium de réservation
M M
M M
R R R R R R
Médium
Médium
M
M M
R R
M
M R
M R M R
Rôle Gestionnaire
Identificateur
M
M i
R
DM Gestionnaire de données
M M
R R
M R M R
Trang 38Algorithmes Médium
Trang 42Métamodèle
source
Métamodèle de transformation = MOF + action
Modèle de transformation
MOF
Métamodèle cible
Modèle source
Modèle cible
Exécution de transformation
Trang 43Médium abstrait
(*) Médium + type abstrait
Médium + gestionnaires
Médium « distribué » Médium « centralisé »
(*) Médium « distribué » par <AlgorithmName>
Trang 45corps de méthode: objet en Kermeta
corps de méthode: EAnotation(String)
Trang 47@"DN /
Trang 57:
#
: