Rollerslam PIM 2.0.2 (a)

28
Rollerslam PIM 2.0.2 (a)

description

Rollerslam PIM 2.0.2 (a). Top Level. SimulationAdmin ---------------------------------------. + setState(s:SimulationState) + getState() : SimulationState. Service Specification View. . simAdmin. Rollerslam. Rollerslam - PowerPoint PPT Presentation

Transcript of Rollerslam PIM 2.0.2 (a)

Page 1: Rollerslam PIM 2.0.2 (a)

Rollerslam PIM2.0.2 (a)

Page 2: Rollerslam PIM 2.0.2 (a)

Top Level

Page 3: Rollerslam PIM 2.0.2 (a)

Service Specification View

<<subject>>Rollerslam

<<K2Realize>><<interface>>

SimulationAdmin---------------------------------------+ setState(s:SimulationState)+ getState() : SimulationState

simAdmin

Page 4: Rollerslam PIM 2.0.2 (a)

<<K2Component >>Rollerslam

-----------------------------------------------------------------------------------------------------------------------------

Realization Service View

<<K2Component>>Simulation

Infrastructure<<interface>>

Display<<K2Component>>

GameDisplay

<<interface>>SimulationAdmin

<<K2Component>>ControlPanel

<<K2Use>>

<<K2Use>>

<<K2Realize>>

<<K2Realize>><<interface>>

Agent

*

<<K2Component>>Player

<<K2Component>>Referee

<<K2Component>>Coach

<<K2Component>>GamePhysics

<<K2Use>>

<<K2Realize>>

agents

env{subsets agents}

<<K2Use>>

Page 5: Rollerslam PIM 2.0.2 (a)

: Rollerslam-----------------------------------------------------------------------------------------------------------------------------

Realization Instance View

: SimulationInfrastructure

: Displaydisp1 :

RollerslamDisplay

: SimulationAdmin: Control

Panel

: Displaydisp2 :

RollerslamDisplay

<<K2UseLink>>

<<K2UseLink>>

<<K2RealizeLink>>

<<K2RealizeLink>>

: GamePhysics : Coach : Referee : Player : Player...

gfa : Agent ca : Agent r : Agent p1 : Agent p40 : Agent

<<K2UseLink>>

<<K2UseLink>>

<<K2RealizeLink>> <<K2RealizeLink>> <<K2RealizeLink>> <<K2RealizeLink>> <<K2RealizeLink>>

<<K2UseLink>> <<K2RealizeLink>>

<<K2RealizeLink>>

Page 6: Rollerslam PIM 2.0.2 (a)

SimulationInfrastructure

Page 7: Rollerslam PIM 2.0.2 (a)

Specification Service View

<<subject>>Simulation

Infrastructure

<<K2Use>>

<<K2Realize>>

*<<K2Use>> agents

env{subsets agents}

<<K2Use>>

<<interface>> Agent--------------------------------------------------------+ sendPerceptions(p:Message[0..*])+ getActions() : Message[0..*]+ setSimulationState(s:SimulationState)

<<interface>>Display

----------------------------+ update(m:Message)

<<interface>>SimulationAdmin

---------------------------------------+ setState(s:SimulationState)+ getState() : SimulationState

simAdmin

Page 8: Rollerslam PIM 2.0.2 (a)

Specification Type View

<<interface>>SimulationState

-----------------------INITIALIZEDPAUSEDRUNNING

Message<<interface>>

Agentsender

Page 9: Rollerslam PIM 2.0.2 (a)

Specification Life Cycle View

RUNNING PAUSED

setSimulationState(PAUSED)

setSimulationState(RUNNING)

INITIALIZED

setSimulationState(INITIALIZED)

Page 10: Rollerslam PIM 2.0.2 (a)

Specification Operation View

context SimulationAdmin::setState(s:SimulationState) post: getState() = s 

Page 11: Rollerslam PIM 2.0.2 (a)

Realization Service View

<<K2Component>> Simulation Infrastructure---------------------------------------------------------------------------------------------------------------+ state : SimulationState---------------------------------------------------------------------------------------------------------------+ setState(s:SimulationState)+ getState() : SimulationState---------------------------------------------------------------------------------------------------------------

<<K2Component>>Communication

Infrastructure

<<K2Component>>DisplayUpdater

<<interface>>Display

<<K2Use>>

<<K2Use>>

<<interface>>Agent

*

env {subsets agents}

agents <<interface>>Simulation

StateProvider<<K2Use>>

<<K2Realize>><<K2Use>>

<<interface>>

SimulationAdmin

Page 12: Rollerslam PIM 2.0.2 (a)

Realization Instance View

: Simulation Infrastructure---------------------------------------------------------------------+ state : INITIALIZED---------------------------------------------------------------------

ag : Agent

env : Agent

d : Display

<<K2UseLink>>

<<K2UseLink>> <<K2RealizeLink>>

simAdmin

: CommunicationInfrastructure

: SimulationStateProvider

<<K2RealizeLink>>

: DisplayUpdater

<<K2UseLink>>

<<K2UseLink>>

Page 13: Rollerslam PIM 2.0.2 (a)

Realization Operation View

context SimulationInfrastructure::setState(s:SimulationState) post: state = s and agents->forAll(ag|ag^setState(s))

context SimulationIntrastructure::getState() : SimulationState body: state

Page 14: Rollerslam PIM 2.0.2 (a)

Display Updater

Page 15: Rollerslam PIM 2.0.2 (a)

Specification Service View

<<K2Component>>DisplayUpdater

<<interface>>Display

<<K2Use>>

<<K2Use>>

<<interface>>SimulationStateProvider-------------------------------+getEnvState() : Message

Page 16: Rollerslam PIM 2.0.2 (a)

Realization Service View

<<K2Component>>DisplayUpdater

-------------------------------+getEnvState() : Message

<<interface>>SimulationStateProvider-------------------------------+getEnvState() : Message

Page 17: Rollerslam PIM 2.0.2 (a)

Realization Algorithmic View

display->forall(x | x^update(m))

result = simulationStateProvider^getEnvState().result()

m : Message

[simulationStateProvider.getState() == RUNNING]

Page 18: Rollerslam PIM 2.0.2 (a)

CommunicationInfrastructure

Page 19: Rollerslam PIM 2.0.2 (a)

Specification Service View

<<K2Component>>Communication

Infrastructure

<<K2Use>>

<<interface>>Agent

*

env {subsets agents}

agents <<interface>>Simulation

StateProvider<<K2Use>>

<<K2Realize>>

Page 20: Rollerslam PIM 2.0.2 (a)

Realization Service View

<<K2Component>>Communication

InfrastructureMessage

envMsgs

*

envState 1

Page 21: Rollerslam PIM 2.0.2 (a)

Realization Type View

context CommunicationInfrastructureinv: simulationStateProvider.getState() = self.envState  

Page 22: Rollerslam PIM 2.0.2 (a)

Realization Algorithmic View

envState = env.getActions().any()

envMsgs = agents->excluding(env)->iterate(ag;

result : Set(Message) = Set{} | result->including(ag.getActions))

agents->excluding(env)->forAll(ag | ag^sendPerceptions(Set{envState}))

env^sendPerceptions(envMsg)

Page 23: Rollerslam PIM 2.0.2 (a)

Rollerslam PIM2.0.2 (b)

Page 24: Rollerslam PIM 2.0.2 (a)

ORCAS Profile

<<stereotype>>K2Component

Agent

<<stereotype>>K2Use

Effector Sensor

<<stereotype>>K2Realize

Page 25: Rollerslam PIM 2.0.2 (a)

Top Level

Page 26: Rollerslam PIM 2.0.2 (a)

Service Specification View

<<subject>>Rollerslam

<<K2Realize>><<interface>>

SimulationAdmin---------------------------------------+ setState(s:SimulationState)+ getState() : SimulationState

simAdmin

Page 27: Rollerslam PIM 2.0.2 (a)

Realization Service View

<<agent>>GamePhysics

<<agent>>Referee

<<agent>>Player

<<interface>> RefereeEffector---------------------------------------+ setScore(a:Integer, b:Integer)

<<interface>> FullyObservableWorldSensor---------------------------------------+ sense(model:World)

<<interface>> PlayerEffector---------------------------------------+ dash(dir:Vector)+ kick(dir:Vector)

<<sensor>>

<<sensor>>

<<sensor>>

<<sensor>><<effector>>

<<effector>>

<<effector>>40

41

<<K2Component>>GameDisplay

<<interface>> Display------------------------------------+ update(model:WorldModel)

<<K2Use>>

<<K2Realize>>

*

<<interface>>SimulationAdmin

---------------------------------------+ setState(s:SimulationState)+ getState() : SimulationState

<<K2Realize>>

<<K2Realize>>

Page 28: Rollerslam PIM 2.0.2 (a)

Realization Operation View

context Rollerslam::setState(s:SimulationState) post: state = s and agents->forAll(ag|ag^setState(s))

context Rollerslam::getState() : SimulationState body: state