What's an Action?
What's an Action?
Atomic Action or Flow of Actions
What's an Atomic Action?
What's an Atomic Action?
A purposeful interaction between agents affecting a resource
What's an Atomic Action?
Vishita inserts her bank card into the ATM.
What's a Flow of Actions?
What's a Flow of Actions?
Composed of several Actions
What's a Flow of Actions?
Sequence,
Concurrency,
Alternative,
or
Repetition
What's Sequence?
Braulio gets a card,
then,
Braulio withdraws cash from the ATM.
What's Concurrency?
The ATM keeps the card,
meanwhile,
the ATM displays "invalid code" to the Vinesh.
What's a Flow Condition?
Carried by Alternative and Repetition
What's Alternative?
If the amount is valid,
then
the ATM ejects the card to Vinesh.
What's Repetition?
Repeat
A prompt for the amount is displayed.
Yuvaraj enters an amount.
The ATM checks if the amount is valid.
3 times until
the amount is valid.
What's a Story?
What's a Story?
a possible behavior limited to a set of purposeful interactions between several agents
Initial State : The ATM is ready. The user has a card. The user inserts his card in the ATM.The ATM checks if the card is valid. If the card is valid Then A prompt for code is given. The user inputs the code. If the code is valid Then A prompt for amount is displayed. The user enters an amount. If the amount is valid Then The ATM ejects the card. If asked Then A receipt is printed. The ATM delivers the cash. Final State : The ATM is ready. The user has cash. The user has a card. The user has a receipt.
Style and Content
Completion
complete all agent-to-agent interactions
Initial State : The ATM is ready. The user has a card. The user inserts his card in the ATM.The ATM checks if the card is valid. If the card is valid Then A prompt for code is given. The user inputs the code. If the code is valid Then A prompt for amount is displayed. The user enters an amount. If the amount is valid Then The ATM ejects the card. If asked Then A receipt is printed. The ATM delivers the cash. Final State : The ATM is ready. The user has cash. The user has a card. The user has a receipt.
Initial State : The ATM is ready. The user has a card The user inserts the user's card in the ATM.The ATM checks if the card is valid. If the card is valid Then A prompt for code is given by the ATM to the user. The user inputs the code in the ATM. If the code is valid Then A prompt for amount is displayed by the ATM to the user. The user enters an amount in the ATM. If the amount is valid Then The ATM ejects the card to the user. If the user asked the ATM to supply a receipt Then A receipt is printed to the user. The ATM delivers the cash to the user. Final State : The ATM is ready. The user has cash. The user has a card. The user has a receipt.
Discover Missing Action Pairs
service request / provision,
info request / provision,
and
flow condition / evaluation
Initial State : The ATM is ready. The user has a card The user inserts the user's card in the ATM.The ATM checks if the card is valid. If the card is valid Then A prompt for code is given by the ATM to the user. The user inputs the code in the ATM. If the code is valid Then A prompt for amount is displayed by the ATM to the user. The user enters an amount in the ATM. If the amount is valid Then The ATM ejects the card to the user. If the user asked the ATM to supply a receipt Then A receipt is printed to the user. The ATM delivers the cash to the user. Final State : The ATM is ready. The user has cash. The user has a card. The user has a receipt.
Initial State : The ATM is ready. The user has a card The user inserts the user's card in the ATM.The ATM checks if the card is valid.If the card is valid Then A prompt for code is given by the ATM to the user. The user inputs the code in the ATM. The ATM checks if the code is valid. If the code is valid Then A prompt for amount is displayed by the ATM to the user. The user enters an amount in the ATM. The ATM checks if the amount is valid. If the amount is valid Then The ATM ejects the card to the user. The ATM prompts the user : receipt? The users chooses "YES" or "NO." If the user asked the ATM to supply a receipt Then A receipt is printed to the user. The ATM delivers the cash to the user. Final State : The ATM is ready. The user has cash. The user has a card. The user has a receipt.
Discover Missing Paths
complete all paths of actions
Initial State : The ATM is ready. The user has a card The user inserts the user's card in the ATM.The ATM checks if the card is valid.If the card is valid Then A prompt for code is given by the ATM to the user. The user inputs the code in the ATM. The ATM checks if the code is valid. If the code is valid Then A prompt for amount is displayed by the ATM to the user. The user enters an amount in the ATM. The ATM checks if the amount is valid. If the amount is valid Then The ATM ejects the card to the user. The ATM prompts the user : receipt? The users chooses "YES" or "NO." If the user asked the ATM to supply a receipt Then A receipt is printed to the user. The ATM delivers the cash to the user. Final State : The ATM is ready. The user has cash. The user has a card. The user has a receipt.
card ~valid card valid & code ~valid card valid & code valid & amount ~valid card valid & code valid & amount valid & receipt ~requested
Initial State : The ATM is ready. The user has a card. The user inserts the user's card in the ATM.The ATM checks if the card is valid.If the card is not valid Then The ATM displays "invalid card" to the user. The ATM ejects the card to the user. Final State : The ATM is ready. The user has a card.
Initial State : The ATM is ready. The user has a card The user inserts the user's card in the ATM.The ATM checks if the card is valid.If the card is valid Then Repeat A prompt for code is given by the ATM to the user. The user inputs the code in the ATM. The ATM checks if the code is valid. 3 times until the code is valid If the code is not valid Then The ATM displays "invalid card" to the user. The ATM keeps the card. Final State : The ATM is ready. The ATM has the card.
Initial State : The ATM is ready. The user has a card. The user inserts the user's card in the ATM.The ATM checks if the card is valid.If the card is valid Then Repeat A prompt for code is given by the ATM to the user. The user inputs the code in the ATM. The ATM checks if the code is valid. 3 times until the code is valid If the code is valid Then A prompt for amount is displayed by the ATM to the user. The user enters an amount in the ATM. The ATM checks if the amount is valid. If the amount is valid Then The ATM ejects the card to the user. The ATM prompts the user : receipt? The users chooses "YES" or "NO." If the user chose "NO" Then The ATM delivers the cash to the user. Final State : The ATM is ready. The user has cash. The user has a card.
Discover Missing States
complete all initial / final states
Initial State : The ATM is ready. The user has a card. The user inserts the user's card in the ATM.The ATM checks if the card is valid.If the card is valid Then Repeat A prompt for code is given by the ATM to the user. The user inputs the code in the ATM. The ATM checks if the code is valid. 3 times until the code is valid If the code is not valid Then The ATM displays "invalid card" to the user. The ATM keeps the card. Final State : The ATM is ready. The ATM has the card.
Initial State : The ATM is ready. The ATM has a card. The user requests a replacement card from the bank officer.The bank officer provides the replacement card to the user. Final State : The ATM is ready. The user has the card.
Discover Missing Resources
find all incomplete producer / consumer interactions
Initial State : The ATM is ready. The user has a card. The user inserts the user's card in the ATM.The ATM checks if the card is valid.If the card is valid Then Repeat A prompt for code is given by the ATM to the user. The user inputs the code in the ATM. The ATM checks if the code is valid. 3 times until the code is valid If the code is valid Then A prompt for amount is displayed by the ATM to the user. The user enters an amount in the ATM. The ATM checks if the amount is valid. If the amount is valid Then The ATM ejects the card to the user. The ATM prompts the user : receipt? The users chooses "YES" or "NO." If the user chose "YES" Then The ATM prints the receipt to the user. The ATM delivers the cash to the user. Final State : The ATM is ready. The user has cash. The user has a card.
story : The Bank Fills the ATM with receipt paper. story : The Bank Fills the ATM with cash.
Refinement
any atomic action is a story candidate at a lower level of abstraction
Initial State : The ATM is ready. The user has a card. The user inserts the user's card in the ATM.The ATM checks if the card is valid.If the card is valid Then Repeat A prompt for code is given by the ATM to the user. The user inputs the code in the ATM. The ATM checks if the code is valid. 3 times until the code is valid If the code is valid Then A prompt for amount is displayed by the ATM to the user. The user enters an amount in the ATM. The ATM checks if the amount is valid. If the amount is valid Then The ATM ejects the card to the user. The ATM prompts the user : receipt? The users chooses "YES" or "NO." If the user chose "YES" Then The ATM prints the receipt to the user. The ATM delivers the cash to the user. Final State : The ATM is ready. The user has cash. The user has a card.
Thanks