Csse3002 Tuesday 2
For process modelling, Jeff the ninja recommends...
Csse3002 Tuesday 2 For process modelling, Jeff the ninja - - PowerPoint PPT Presentation
Csse3002 Tuesday 2 For process modelling, Jeff the ninja recommends... Little-JIL Overview What is Little-JIL? Jared Why use Little-JIL? Douglas Interrupt if you have a question What is Little-JIL? Research at UMass
For process modelling, Jeff the ninja recommends...
What is Little-JIL?
Jared
Why use Little-JIL?
Douglas
Interrupt if you have a question
Research at UMass Process modelling language Co-ordination of agents Formal semantics Graphical representation
Some formal languages are object-based
UML, B create abstract data types & methods “what is an X, and what can you do with it?”
Little-JIL is process-based
break complex algorithms into pieces “how do you do X, and who is involved?”
Co-ordination of agents
scheduling of tasks communication between agents
Composed of steps Steps are executed by agents Steps have badges which labels are attached to
Pass Csse3002 agent:Jared
Pass Csse3002 agent:Jared Agent executing the step Step name
Pass Csse3002 agent:Jared
Pass Csse3002 Do assignment 3 Do essay agent:Jared
Pass Csse3002 Do assignment 3 Do essay Steps executed in parallel agent:Jared
Pass Csse3002 Do assignment 3 Do essay agent:Jared
Do assignment 3
Pass Csse3002 Do essay agent:Jared
Do assignment 3 Choose topic Write content agent:Douglas agent:Lawrence
Pass Csse3002 Do essay agent:Jared
Do assignment 3 Choose topic Write content agent:Douglas agent:Lawrence Sequential execution (left to right) Steps assigned to different agents
Pass Csse3002 Do essay agent:Jared
Do assignment 3 Choose topic Write content agent:Douglas agent:Lawrence
Pass Csse3002 Do essay agent:Jared
Do essay
Pass Csse3002 agent:Jared Do assignment 3 Choose topic Write content agent:Douglas agent:Lawrence
Do essay
Pass Csse3002 agent:Jared Do assignment 3 Choose topic Write content agent:Douglas agent:Lawrence
Cheat Do it properly
Do essay
Pass Csse3002 agent:Jared Do assignment 3 Choose topic Write content agent:Douglas agent:Lawrence
Cheat Do it properly Choose
Do essay
Pass Csse3002 agent:Jared Do assignment 3 Choose topic Write content agent:Douglas agent:Lawrence
Cheat Do it properly
Do essay Pass Csse3002 agent:Jared Do assignment 3 Choose topic Write content agent:Douglas agent:Lawrence
Cheat
Do it properly
Do essay Pass Csse3002 agent:Jared Do assignment 3 Choose topic Write content agent:Douglas agent:Lawrence
Cheat
Do it properly
Copy from friend Bribe David Carrington
Do essay Pass Csse3002 agent:Jared Do assignment 3 Choose topic Write content agent:Douglas agent:Lawrence
Cheat
Do it properly
Copy from friend Bribe David Carrington T ry (execute sequentially until one succeeds)
Do essay Pass Csse3002 Choose topic Write content Do assignment 3 Copy from friend Bribe David Carrington Cheat Do it properly agent:Jared agent:Douglas agent:Lawrence
Do essay Pass Csse3002 Choose topic Write content Do assignment 3 Copy from friend Bribe David Carrington Cheat Do it properly
Value passed between steps
chosenT
agent:Jared agent:Douglas agent:Lawrence
Do essay Pass Csse3002 Choose topic Write content Do assignment 3 Copy from friend Bribe David Carrington Cheat Do it properly chosenT
agent:Jared agent:Douglas agent:Lawrence
Do essay Pass Csse3002 Choose topic Write content Do assignment 3 Copy from friend Bribe David Carrington Cheat x CantT akeItAnymore Do it properly
Exception declared
chosenT
agent:Jared agent:Douglas agent:Lawrence
Do essay Pass Csse3002 Choose topic Write content Do assignment 3 Copy from friend Bribe David Carrington Cheat x CantT akeItAnymore Do it properly
Exception rethrown
↑CantT akeItAnymore chosenT
agent:Jared agent:Douglas agent:Lawrence
Do essay Pass Csse3002 Choose topic Write content Do assignment 3 Copy from friend Bribe David Carrington Cheat x CantT akeItAnymore Do it properly
Exception handled
↑CantT akeItAnymore StudyArtsAtGriffith chosenT
agent:Jared agent:Douglas agent:Lawrence
Co-ordination of agents
scheduling of tasks communication between agents
Co-ordination of agents Already covered
Step sequencing
parallel sequential choose try
Parameter passing Exception handling
Co-ordination of agents Not yet covered
step repetition conditional execution deadlines pre-conditions & post-conditions resource acquisition communication between groups of agents
multi-way synchronous & asynchronous
Co-ordination of agents Is this useful?
Why use Little-JIL? Why use a process modelling language?
Simplicity Expressiveness Precision Flexibility
Graphical No data types, data definition, calculation...
‘A picture is worth a thousand words’
*Not actually Canadian
‘A picture is worth a thousand words’
Get drink agent:ThirstyPerson Get coke Get milk IsCold NotCold
Strict syntax & semantics
Any process can be described
Assumes agent knowledge
Is this valid?
Doesn’t get requirements Doesn’t run testing Doesn’t write code So what’s the use??
Modelling The Software ProcessTM Specification for system-wide process flows
Gantt chart & PERT chart & Little-JIL
Concurrency Dependencies Time
Little-JIL
Better sequencing (choice & try) Exceptions Communication
Combines good aspects of
UML activity/collaboration/sequence diagrams
Multi-agent Communication
Flowcharts
Sequencing of steps Decisions
Add action item agent:User Clear form Enter information x MaxItemsExceeded x InvalidName ✓ MaxItemsExceeded ↲ InvalidName
Problems
No data No calculation
Can Little JIL help?
Yes
Good replacement for UML sequence, activity and
Good for explaining processes within software engineering
But
Relies on human interpretation No data types Relies on agent ability
Sutton, Lerner, & Osterweil “Experience using
Sutton & Osterweil “The design of a next-
Cass, Lerner, et al “Little-JIL/Juliette: a process
LASER process working group “Little-JIL 1.5