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 Process modelling language Co-ordination of agents Formal semantics Graphical representation
Process modelling language 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 Co-ordination of agents scheduling of tasks communication between agents
Little-JIL process model Composed of s teps Steps are executed by agents Steps have badges which labels are attached to
Example
Example agent:Jared Pass Csse3002
Example agent:Jared Step name Agent executing Pass Csse3002 the step
Example agent:Jared Pass Csse3002
Example agent:Jared Pass Csse3002 Do assignment 3 Do essay
Example Steps executed in parallel agent:Jared Pass Csse3002 Do assignment 3 Do essay
Example agent:Jared Pass Csse3002 Do assignment 3 Do essay
Example agent:Jared Pass Csse3002 Do essay Do assignment 3
Example agent:Jared Pass Csse3002 Do essay Do assignment 3 agent:Douglas agent:Lawrence Choose topic Write content
Example agent:Jared Pass Csse3002 Sequential execution (left to right) Do essay Do assignment 3 Steps assigned to different agents agent:Douglas agent:Lawrence Choose topic Write content
Example agent:Jared Pass Csse3002 Do essay Do assignment 3 agent:Douglas agent:Lawrence Choose topic Write content
Example agent:Jared Pass Csse3002 Do assignment 3 agent:Douglas agent:Lawrence Do essay Choose topic Write content
Example agent:Jared Pass Csse3002 Do assignment 3 agent:Douglas agent:Lawrence Do essay Choose topic Write content Cheat Do it properly
Example agent:Jared Pass Csse3002 Choose Do assignment 3 agent:Douglas agent:Lawrence Do essay Choose topic Write content Cheat Do it properly
Example agent:Jared Pass Csse3002 Do assignment 3 agent:Douglas agent:Lawrence Do essay Choose topic Write content Cheat Do it properly
Example agent:Jared Pass Csse3002 Do essay Do assignment 3 agent:Lawrence agent:Douglas Choose topic Write content Do it properly Cheat
Example agent:Jared Pass Csse3002 Do essay Do assignment 3 agent:Lawrence agent:Douglas Choose topic Write content Do it properly Cheat Copy from friend Bribe David Carrington
Example agent:Jared Pass Csse3002 Do essay Do assignment 3 agent:Lawrence agent:Douglas Choose topic Write content Do it properly Cheat T ry (execute sequentially until one succeeds) Copy from friend Bribe David Carrington
Example agent:Jared Pass Csse3002 Do assignment 3 Do essay agent:Douglas agent:Lawrence Choose topic Write content Cheat Do it properly Copy from friend Bribe David Carrington
Example agent:Jared Pass Csse3002 Do assignment 3 Do essay agent:Douglas agent:Lawrence chosenT opic Choose topic Write content Value passed between steps Cheat Do it properly Copy from friend Bribe David Carrington
Example agent:Jared Pass Csse3002 Do assignment 3 Do essay agent:Douglas agent:Lawrence chosenT opic Choose topic Write content Cheat Do it properly Copy from friend Bribe David Carrington
Example agent:Jared Pass Csse3002 Do assignment 3 Do essay agent:Douglas agent:Lawrence chosenT opic Exception declared Choose topic Write content x CantT akeItAnymore Cheat Do it properly Copy from friend Bribe David Carrington
Example agent:Jared Pass Csse3002 Exception rethrown Do assignment 3 Do essay agent:Douglas agent:Lawrence chosenT opic Choose topic Write content ↑CantT akeItAnymore x CantT akeItAnymore Cheat Do it properly Copy from friend Bribe David Carrington
Example agent:Jared Pass Csse3002 Exception handled StudyArtsAtGriffith Do assignment 3 Do essay agent:Douglas agent:Lawrence chosenT opic Choose topic Write content ↑CantT akeItAnymore x CantT akeItAnymore Cheat Do it properly Copy from friend Bribe David Carrington
Little-JIL features Co-ordination of agents scheduling of tasks communication between agents
Little-JIL features Co-ordination of agents Already covered Step sequencing parallel sequential choose try Parameter passing Exception handling
Little-JIL features 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
Little-JIL features Co-ordination of agents Is this useful?
Why? Why use Little-JIL? Why use a process modelling language?
Design goals Simplicity Expressiveness Precision Flexibility
Simplicity Graphical No data types, data definition, calculation...
Expressiveness ‘A picture is worth a thousand words’ - Ole Canadian Proverb* *Not actually Canadian
Expressiveness ‘A picture is worth a thousand words’ agent:ThirstyPerson Get drink NotCold IsCold Get coke Get milk
Precision Strict syntax & semantics
Flexibility Any process can be described
Little-JIL’s limitations Assumes agent knowledge Is this valid? Doesn’t get requirements Doesn’t run testing Doesn’t write code So what’s the use??
Possible uses Modelling The Software Process TM Specification for system-wide process flows
Modelling the software process Gantt chart & PERT chart & Little-JIL Concurrency Dependencies Time Little-JIL Better sequencing (choice & try) Exceptions Communication
Software specification Combines good aspects of UML activity/collaboration/sequence diagrams Multi-agent Communication Flowcharts Sequencing of steps Decisions
Software specification (cont)
Software specification (cont) agent:User Add action item ✓ MaxItemsExceeded ↲ InvalidName x MaxItemsExceeded x InvalidName Clear form Enter information
Software specification (cont) Problems No data No calculation
Conclusion Can Little JIL help? Yes Good replacement for UML sequence, activity and collaboration diagrams Good for explaining processes within software engineering But Relies on human interpretation No data types Relies on agent ability
References Sutton, Lerner, & Osterweil “Experience using the JIL process programming language to specify design processes” (1997) Sutton & Osterweil “The design of a next- generation process language” (1997) Cass, Lerner, et al “Little-JIL/Juliette: a process definition language and interpreter” (2000) LASER process working group “Little-JIL 1.5 language report” (2006)
End of presentation
Recommend
More recommend