ibm rational rhapsody designer for systems engineers - project_g2i_bis1.rpy - [welcome to rhapsody]

21
stm [Actor] User [statechart_2] User_Teaching resDeliveryDelayed/DeliveryState="D eliveryDelayed" reqLogingIn to pUc_ToDeliver demandLogingIn reqDelivery(supply, room) to pUc_ToDeliver resLogingIn User_Receptionning resDeliveryMade/De liveryState="Deliver yMade" tm(5000) reqLogingOut to pUc_ToDeliver demandLogingOut resLogingOut/DeliveryState="" statechart_2 Page 1 of 21

Upload: maria

Post on 27-Dec-2015

34 views

Category:

Documents


11 download

TRANSCRIPT

stm [Actor] User [statechart_2]

User_Teaching

resDeliveryDelayed/DeliveryState="DeliveryDelayed"

reqLogingIn to pUc_ToDeliver

demandLogingIn

reqDelivery(supply, room) to pUc_ToDeliver

resLogingIn

User_Receptionning

resDeliveryMade/DeliveryState="DeliveryMade"

tm(5000) reqLogingOut to pUc_ToDeliver

demandLogingOut

resLogingOut/DeliveryState=""

statechart_2

Page 1 of 21

stm [Actor] Database [statechart_0]

Database_Running

Database_Updating

reqRecord/supply_requested=params->supply; room_requested=params->room;

tm(1500)

ClosingSupply

Database_Reading

reqSupplyDemand

resSupplyDemand(supply_requested, room_requested) to pUc_ToSupply

statechart_0

Page 2 of 21

stm [Actor] PatrolBot [statechart_0]

In_Use

Stopped

ModeGoToGoal

GoingTo

Reactions

ArrivedAtreqGoToGoal

FailedToGetTotm1

reqGoToGoal

resGoToGoal to pUc_ToSupply

reqGoToGoal/Battery>LowBattery;reqStopped

ModeCharging

GoToDock

UnDocking

tm(3000)

DrivingIntoDocktm(2000)

Docking

InCharge

Reactions

tm(500)

tm(1000)

[Battery==20]/LowBatt=false

[Battery==LowBattery]/LowBatt=true

OutOfService

ReqOff

Initialisation

ReqOn

tm(2000)

Page 3 of 21

stm [Actor] Personnel [statechart_0]

Personnel_Working

RequestValidation

reqInform

RequestSupplying

reqSupply

resInform to pUc_ToSupplyresSupply to pUc_ToSupply

statechart_0

Page 4 of 21

stm [Block] Uc_ToDeliver [statechart_0]

System_In_Use

System_Threating_LogingIn

Reactions

Loging()

reqLogingIn

resLogingIn to pUser

tm(1000)

reqRecord(supply_requested, room_requested) to pDatabase

reqDelivery/supply_requested=params->supply; room_requested=params->room;

System_Waiting

Reactions

deliveryWaiting()

resDeliveryMade to pUser

resDeliveryPosition

resDeliveryDelayed to pUser

resLowBattery

System_Threating_LogingOut

Reactions

Loging()

reqLogingOutreqLogingOut

resLogingOut to pUser

tm(1000)

Page 5 of 21

act [Activity View] To DeliverBlackBoxView [activity_0]

LogingUserUser

deliveryWaitingPatrolBotPatrolBot

deliveryDelayed

«MessageAction»UserUser

deliveryMade

«MessageAction»UserUser

LogingUserUser

deliveryRequest

«MessageAction»DatabaseUser DatabaseUser

[delivery_Made] [delivery_Delayed]

activity_0

Page 6 of 21

ibd [Package] ToDeliverPkg [IBD_To Deliver]

itsUc_ToDeliver:Uc_ToDeliver1

Operations

deliveryWaiting():void

Loging():void

reqDelivery(supply:char*,room:...

resDeliveryPosition()

resLowBattery()

reqLogingIn()

reqLogingOut()

Ports

«standardPort» pDatabase

«standardPort» pPatrolBot

«standardPort» pUserpPatrolBot

pDatabasepUser

pPatrolBot

pDatabasepUser

itsUser:User1

Operations

resDeliveryMade()

resDeliveryDelayed()

resLogingIn()

resLogingOut()Attributes

supply:char*="RedPen"

room:char*="S112"

DeliveryState:char*

Ports

«standardPort» pUc_ToDeliver

pUc_ToDeliverpUc_ToDeliver

itsDatabase:Database1

Operations

reqRecord(supply:char*,room:c...

Ports

«standardPort» pUc_ToDeliver

«standardPort» pUc_ToSupply

pUc_ToSupply

pUc_ToDeliver

pUc_ToSupply

pUc_ToDeliver

itsPatrolBot:(U)PatrolBot_bis1

Operations

Ports

(U)pUc_ToDeliver(U)pUc_ToDeliver

IBD_To Deliver

Page 7 of 21

sd [Package] ToDeliverBBScenariosPkg [SC1_DeliveryMade]

:User :Uc_ToDeliver

deliveryMade

Loging()

resLogingIn()

reqDelivery(supply, room)

deliveryWaiting()

resDeliveryMade()

reqLogingOut()

Loging()

resLogingOut()

reqLogingIn()

:Database

reqRecord(supply, room)

:PatrolBot

resDeliveryPosition()

SC1_DeliveryMade

Page 8 of 21

sd [Package] ToDeliverBBScenariosPkg [SC1_DeliveryDelayed]

:User :Uc_ToDeliver

deliveryDelayed

Loging()

resLogingIn()

reqDelivery(supply, room)

deliveryWaiting()

resDeliveryDelayed()

reqLogingOut()

Loging()

resLogingOut()

reqLogingIn()

:Database

reqRecord(supply, room)

:PatrolBot

resLowBattery()

SC1_DeliveryDelayed

Page 9 of 21

stm [Block] Uc_ToSupply [statechart_5]

Delivery_waiting

Reactions

Delivery_Waiting()

reqSupplyDemand to pDatabase

Supply_Waiting

Reactions

Supply_waiting()

System_Waiting

Reactions

System_waiting()

reqSupply to pPersonnel

resGoToGoal

reqFreePatrolbot() to pDatabase

resGoToGoal

ClosingSupply to pDatabase

tm(1000)

reqInform("RedPen") to pPersonnel

resSupplyDemand/supply_requested=params->supply; room_requested=params->room;

reqRequisition() to pDatabase

resInform

reqGoToGoal() to pPatrolBot

tm(1000)

reqGoToGoal("S110") to pPatrolBot

resSupply

statechart_5

Page 10 of 21

act [Activity View] To SupplyBlackBoxView [activity_0]

SupplyRequest

«MessageAction»DatabaseDatabase

SupplyMade

«MessageAction»

DatabaseDatabase

PatrolbotRequisition-Trac

e

«MessageAction» DatabaseDatabase

Inform-Validation

«MessageAction»

PersonnelPersonnel

GoToPersonnel

«MessageAction»

PatrolBotPatrolBot

Demandforsupply

«MessageAction»

PersonnelPersonnel

Supply_waiting

PersonnelPersonnel

Gotoroom

«MessageAction»

PatrolBotPatrolBot

Delivery_Waiting

PatrolBotPatrolBot

System_waiting

PatrolBotPatrolBot

FreePatrolbot

«MessageAction» DatabaseDatabase

Moving

Moving

activity_0

Page 11 of 21

ibd [Package] ToSupplyPkg [IBD_To Supply]

itsUc_ToSupply:Uc_ToSupply1

Operations

TreatmentSupply():void

resSupplyDemand(supply:char*...

System_waiting():void

Attributes

room_requested:char*="S110"

Ports

«standardPort» pDatabase

«standardPort» pPatrolBot

pPatrolBot

pPersonnel

pDatabasepPatrolBot

pPersonnel

pDatabase

itsPersonnel:Personnel1

Operations

reqInform(supply:char*)

reqSupply()

Attributes

Ports

«standardPort» pUc_ToSupply

pUc_ToSupplypUc_ToSupply

itsDatabase:Database1

Operations

reqRecord(supply:char*,room:c...

Attributes

supply_requested:char*="RedP...

room_requested:char*="S110"

Ports

«standardPort» pUc_ToDeliver

«standardPort» pUc_ToSupply

pUc_ToSupply

pUc_ToDeliver

pUc_ToSupply

pUc_ToDeliver

itsPatrolBot:PatrolBot1

Operations

reqStopped()

reqGoToGoal(room:char*="S11...

Attributes

LowBatt:bool

Battery:int=20

Ports

«standardPort» pUc_ToSupply

pUc_ToSupplypUc_ToSupply

IBD_To Supply

Page 12 of 21

sd [Package] ToSupplyBBScenariosPkg [SC2]

:Personnel :Uc_ToSupply

resInform()

reqInform(supply)

System_waiting()

reqSupply()

resSupply()

Supply_waiting()

Delivery_Waiting()

:Database

resSupplyDemand(supply, room)

reqSupplyDemand()

reqRequisition(RobotState)

reqFreePatrolbot(RobotState)

ClosingSupply()

:PatrolBot

reqGoToGoal(room)

resGoToGoal()

reqGoToGoal(room)

resGoToGoal()

SC2

Page 13 of 21

bdd [Package] ArchitecturalDesignPkg [block definition diagram]

ServiceSystem«Block»

Values

Operations

User

1

1 PatrolBot1

1

Database

1

1

UserHMI«Block»

Values

Operations

1

PersonnelHMI«Block»

Values

Operations

1

ServiceSystemContoller«Block»

Values

Operations

1

PatrolBotContoller«Block»

Values

Operations

1

DataBaseController«Block»

Values

Operations

1

Personnel

1 1

block definition diagram

Page 14 of 21

ibd [Package] ArchitecturalDesignPkg [internal block diagram]

itsUser:User1

pUc_ToDeliverpUc_ToDeliver

itsDatabase:Database1

pUc_ToSupply

pUc_ToDeliver

pUc_ToSupply

pUc_ToDeliver

itsPersonnel:Personnel1

pUc_ToSupplypUc_ToSupply

itsServiceSystem:ServiceSystem1

Parts

itsDataBaseController:DataBaseController

itsPatrolBotContoller:PatrolBotContoller

itsPersonnelHMI:PersonnelHMI

itsServiceSystemContoller:ServiceSystemC...

itsUserHMI:UserHMI

itsPatrolBot:PatrolBot1

pUc_ToSupplypUc_ToSupply

internal block diagram

Page 15 of 21

act [Activity View] To DeliverWhiteBoxView [activity_0]

«Part» itsPatrolBotContoller:PatrolBotContoller

deliveryWaitingPatrolBot

«Part» itsDataBaseController:DataBaseController

WriteInDatabase

«MessageAction» Database

«Part» itsServiceSystemContoller:ServiceSystemContoller

SystemTreatingRequest

«Part» itsUserHMI:UserHMI

LogingUser

deliveryDelayed

«MessageAction»

User

deliveryMade

«MessageAction»

User

Loging

User

[delivery_Made] [delivery_Delayed]

RequestForDelivery

«MessageAction»User

PatrolBot

Database

User

User

User

User

User

Page 16 of 21

act [Activity View] To SupplyWhiteBoxView [activity_0]

«Part» itsPatrolBotContoller:PatrolBotContoller

GoToPersonnel

«MessageAction»

Gotoroom

«MessageAction»

«Part» itsDataBaseController:DataBaseController

SupplyRequest

«MessageAction» Database

SupplyMade

«MessageAction»

Database

PatrolbotRequisition-Tra

«MessageAction» Database

FreePatrolbot

«MessageAction» Database

«Part» itsServiceSystemContoller:ServiceSystemContoller

Demandforsupply

«MessageAction»Personnel

Supply_waiting

Personnel

Delivery_WaitingPatrolBot

System_waitingPatrolBot

«Part» itsPersonnelHMI:PersonnelHMI

Inform-Validation

«MessageAction»

Personnel

Database

Database

Database

Database

Personnel

Personnel

PatrolBot

PatrolBot

Personnel

Page 17 of 21

req [Package] SystemRequirementsPkg [System_Requirements_Diagram]

SystemMission_Requirement«Business»

ID = Sys0

The requested consommables are delivered autonomously by PatrolBot to any AIPL user requesting the service

Supply_Requirement«Functional»

ID = SU0

The requested consommables are supplied by the assigned personnel

«trace»

Delivery_Requirement«Functional»

ID = DE0

The supplied consommables are delivered to the requesting user

«trace»

Availability_Requirement«Functional»

ID = SU1

The consommables availability is displayed to the requesting personnel from the AIPL database

«trace»

«satisfy»

Handling_Requirement«Functional»

ID = SU2

The available consommables are handled within no more than fifteen minutes

Operationality_Requirement

«Functional»

ID = DE1

The consommables 'on the fly' delivery is displayed from the AIPL database

«trace»

«satisfy»

Autonomy_Requirement«Constraint»

ID = P0

PatrolBot performs the requested handling service to the requesting User within the AIPL area

«refine»

«trace»

DockingControl_Requirement«Dysfunctionnal»

ID = SU21

The control software cannot bring the robot to the docking station for battery recharge at any time

«satisfy»

«derive»

System_Requirements_Diagram

Page 18 of 21

uc [Package] UseCaseDiagramsPkg [UCD_Project_G2I]

Service System

To Deliver

To Supply

User

1..*

0,1

Database

0,1

1

1

0,1

Personnel

1..*

0,1

Consommable

*

*

0,1

0,1

PatrolBot

1

0,1

1

11

0,1

UCD_Project_G2I

Page 19 of 21

req [Package] StakeholdersRequirementsPkg [SystemMission_Requirements_Diagram]

SystemMission_Requirement«Business»

ID = Sys0

The requested consommables are delivered autonomously by PatrolBot to any AIPL user requesting the service

SystemMission_Requirements_Diagram

Page 20 of 21

Panel Diagram [Project] Project_G2I_bis1 [paneldiagram_UC_ToDeliver]

supply_requested

room_requested

DataBase

<<NO BINDING>> <<NO BINDING>>

Push

(U)positionDelivery

PatrolBot

DeliveryState

Push

demandLogingIn

Push

demandLogingOut

supply

room

User System - UC To_Deliver

System_In_Use

System_Threating_LogingIn

System_Waiting

System_Threating_LogingOut

Page 21 of 21