開始行:
#menu(Menu)
RIGHT:[[Japanese>Synthesis(Jpn)]]
** Synthesis State-machines from a communication diagram ...
Its procedure is as follows:
+ [[draw class diagram>#qf791560]]
+ [[draw communication diagram>#wfffa6c5]]
+ [[synthesis state-machine>#r183bb5d]]
*** Example [#zd95a812]
#ref(Synthesis(Jpn)/purchaseordercol.png,right,around)
The example choreography is shown right.
The figure is a collaboration diagram of UML1.x.
((Collaboration diagrams are called communication diagram...
The example is a modified version of a collaboration by [...
This example is composed of five services: ''Customer'', ...
When ''Vendor'' receives an &color(blue){order}; from ''C...
The request to ''Shipping'' is &color(blue){shipReq};, an...
The requests to ''Invoicing'' are &color(blue){productInf...
''Vendor'' sends &color(blue){productInfo}; after receivi...
''Invoicing'' does internal process to make an &color(blu...
The request to ''Scheduling'' are &color(blue){productSch...
''Vendor'' sends &color(blue){productSchedule}; after rec...
''Vendor'' sends &color(blue){orderReply}; to ''Customer'...
*** Draw Class Diagram [#qf791560]
Create an UML project in RSA.
Add new class diagram; create classes for the services: '...
#ref(Synthesis(Jpn)/classDiagram.png,center)
*** Draw Communication Diagram [#wfffa6c5]
Add new communication diagram; place all classes as lifel...
Draw message pathways between lifelines that communicates.
#ref(Synthesis(Jpn)/communicationDiagram1.png,center)
Add messages.
RSA has three message types:
- Asynchronous Call
- Asynchronous Signal
- Synchronous Call
CSCB Tools supports two of them: Asynchronous and Synchro...
In this example, we assume that all messages are asynchro...
The communication diagram added messages is shown below.
#ref(Synthesis(Jpn)/communicationDiagram2.png,center)
Define ordering relation among messages.
- Communication diagrams does not have predecessors, whic...
- The ordering relation of the example cannot be represen...
In CSCB Tools, we specify the preceding messages in the "...
For example, because &color(blue){shipInfo};, &color(blue...
#ref(Synthesis(Jpn)/communicationDiagram3.png,center)
Now, it is ready to synthesize state machines.
*** synthesis state-machine [#r183bb5d]
Right click the package in Project Explorer and select "C...
By the way, if "create State Machine by CSCB" is selected...
If "... by projection" is selected, state machines are sy...
#ref(Synthesis(Jpn)/stateMachine1.png,center)
When there is no problem, state machines are synthesized ...
The Blank Package of PurchaseOrder; project in the above ...
#ref(Synthesis(Jpn)/stateMachine2.png,center)
*** Results [#c7d90e10]
- Customer state machine
''Customer'' executes the effect "send order to vendor", ...
#ref(Synthesis(Jpn)/stateMachine_customer.png,center)
- Vendor state machine
When ''vendor'' receives &color(blue){order};, three proc...
In the first region, ''vendor'' sends &color(blue){shipRe...
Then, the process forks into two processes.
In the first process, ''vendor'' sends &color(blue){shipS...
''Vendor'' sends &color(blue){orderReply} to ''customer''...
In the second region, ''vendor'' sends &color(blue){produ...
In the third region, ''vendor'' sends &color(blue){produc...
When all processes in the three regions terminate, ''vend...
#ref(Synthesis(Jpn)/stateMachine_vendor.png,center)
- Shipping state machine
''Shipping'' received &color(blue){shipReq};, and then se...
#ref(Synthesis(Jpn)/stateMachine_shipping.png,center)
- Invoicing state machine
''Invoicing'' receives &color(blue){shipType}; and &color...
((In this example, because &color(blue){invoice}; does no...
#ref(Synthesis(Jpn)/stateMachine_invoicing.png,center)
- Scheduling state machine
''Scheduling'' receives &color(blue){shipSchedule}; and &...
#ref(Synthesis(Jpn)/stateMachine_scheduling.png,center)
- Class diagram
The class diagram is updated as below, where references t...
#ref(Synthesis(Jpn)/classDiagram2.png,center)
RIGHT:[[CSCB Home>CSCB(Eng)]]
終了行:
#menu(Menu)
RIGHT:[[Japanese>Synthesis(Jpn)]]
** Synthesis State-machines from a communication diagram ...
Its procedure is as follows:
+ [[draw class diagram>#qf791560]]
+ [[draw communication diagram>#wfffa6c5]]
+ [[synthesis state-machine>#r183bb5d]]
*** Example [#zd95a812]
#ref(Synthesis(Jpn)/purchaseordercol.png,right,around)
The example choreography is shown right.
The figure is a collaboration diagram of UML1.x.
((Collaboration diagrams are called communication diagram...
The example is a modified version of a collaboration by [...
This example is composed of five services: ''Customer'', ...
When ''Vendor'' receives an &color(blue){order}; from ''C...
The request to ''Shipping'' is &color(blue){shipReq};, an...
The requests to ''Invoicing'' are &color(blue){productInf...
''Vendor'' sends &color(blue){productInfo}; after receivi...
''Invoicing'' does internal process to make an &color(blu...
The request to ''Scheduling'' are &color(blue){productSch...
''Vendor'' sends &color(blue){productSchedule}; after rec...
''Vendor'' sends &color(blue){orderReply}; to ''Customer'...
*** Draw Class Diagram [#qf791560]
Create an UML project in RSA.
Add new class diagram; create classes for the services: '...
#ref(Synthesis(Jpn)/classDiagram.png,center)
*** Draw Communication Diagram [#wfffa6c5]
Add new communication diagram; place all classes as lifel...
Draw message pathways between lifelines that communicates.
#ref(Synthesis(Jpn)/communicationDiagram1.png,center)
Add messages.
RSA has three message types:
- Asynchronous Call
- Asynchronous Signal
- Synchronous Call
CSCB Tools supports two of them: Asynchronous and Synchro...
In this example, we assume that all messages are asynchro...
The communication diagram added messages is shown below.
#ref(Synthesis(Jpn)/communicationDiagram2.png,center)
Define ordering relation among messages.
- Communication diagrams does not have predecessors, whic...
- The ordering relation of the example cannot be represen...
In CSCB Tools, we specify the preceding messages in the "...
For example, because &color(blue){shipInfo};, &color(blue...
#ref(Synthesis(Jpn)/communicationDiagram3.png,center)
Now, it is ready to synthesize state machines.
*** synthesis state-machine [#r183bb5d]
Right click the package in Project Explorer and select "C...
By the way, if "create State Machine by CSCB" is selected...
If "... by projection" is selected, state machines are sy...
#ref(Synthesis(Jpn)/stateMachine1.png,center)
When there is no problem, state machines are synthesized ...
The Blank Package of PurchaseOrder; project in the above ...
#ref(Synthesis(Jpn)/stateMachine2.png,center)
*** Results [#c7d90e10]
- Customer state machine
''Customer'' executes the effect "send order to vendor", ...
#ref(Synthesis(Jpn)/stateMachine_customer.png,center)
- Vendor state machine
When ''vendor'' receives &color(blue){order};, three proc...
In the first region, ''vendor'' sends &color(blue){shipRe...
Then, the process forks into two processes.
In the first process, ''vendor'' sends &color(blue){shipS...
''Vendor'' sends &color(blue){orderReply} to ''customer''...
In the second region, ''vendor'' sends &color(blue){produ...
In the third region, ''vendor'' sends &color(blue){produc...
When all processes in the three regions terminate, ''vend...
#ref(Synthesis(Jpn)/stateMachine_vendor.png,center)
- Shipping state machine
''Shipping'' received &color(blue){shipReq};, and then se...
#ref(Synthesis(Jpn)/stateMachine_shipping.png,center)
- Invoicing state machine
''Invoicing'' receives &color(blue){shipType}; and &color...
((In this example, because &color(blue){invoice}; does no...
#ref(Synthesis(Jpn)/stateMachine_invoicing.png,center)
- Scheduling state machine
''Scheduling'' receives &color(blue){shipSchedule}; and &...
#ref(Synthesis(Jpn)/stateMachine_scheduling.png,center)
- Class diagram
The class diagram is updated as below, where references t...
#ref(Synthesis(Jpn)/classDiagram2.png,center)
RIGHT:[[CSCB Home>CSCB(Eng)]]
ページ名: