LittleJIL - PowerPoint PPT Presentation

1 / 43
About This Presentation
Title:

LittleJIL

Description:

Build in quality in, don't 'test in' quality (manufacturing) ... The hotel reservations may either at Days Inn or, if budget is not tight, a Hyatt. ... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 44
Provided by: abu
Category:
Tags: littlejil | days | inn

less

Transcript and Presenter's Notes

Title: LittleJIL


1
Little-JIL
  • Karthik Chandran
  • Ghaffari Abu

2
Background
  • Improve quality by improving processes
  • Build in quality in, dont test in quality
    (manufacturing)
  • Use processes to manage complex activities
  • Many observed process errors
  • Proposed approach
  • Use computers to help perform processes
  • Analyze processes to determine and eliminate
    defects
  • Use demonstrably superior processes to identify
    risks, mitigate their consequences, demonstrate
    quality

3
Software Processes
  • Is it a Device ?
  • Indirect nature
  • Software processes are devices for creating,
    modifying, analyzing, understanding software
    artifacts and products
  • The set of activities, methods, and practices
    that are used in the production and evolution of
    software
  • Hypothesis Processes are software

4
Process as Software
  • Consist of Requirements, Specification, Design,
    Code, Evaluations
  • Process Requirements
  • Process Specification/Modeling/Design
  • Process Code
  • Process Measurements and Evaluation
  • Process Maintenance / Process Improvement)
  • Process development process

5
Software Process Code
  • Provides details and elaborations upon process
    design
  • Tries to include details omitted from
    model/design
  • Supports more detailed, precise, definitive
    reasoning
  • Vehicle for meshing process control with product
    data at arbitrarily low levels of detail
  • Provides superior visibility enabling better
    control
  • Basis for better predictability
  • Basis for process enaction/execution
  • Blueprint for tool integration

6
Software Process Definition Formalism
  • Key considerations
  • concurrency
  • exception handling
  • resource specification
  • self-modification/long lifetime
  • constraint management
  • artifact specification/management
  • real-time
  • visualizability
  • Approaches tried
  • Languages
  • procedural
  • rule-based
  • object-oriented
  • Modeling formalisms
  • Petri Nets
  • Flow graphs
  • Data flow diagrams

7
Little-JIL
  • Hypothesis
  • Co-ordination structure is separable from other
    process language issues.
  • Processes are executed by agents that know how to
    perform their tasks but benefit from
    co-ordination support.
  • Design Principles
  • Simplicity
  • Expressiveness
  • Precision

8
Little-JIL
  • Little-JIL is an agent coordination language.
    Programs in Little-JIL describe the co-ordination
    and communication among agents that enables them
    to perform the process.
  • Little-JIL a language for programming
    co-ordination in process is an executable,
    high-level language with formal yet graphical
    syntax and rigorously defined operational
    semantics.
  • Focal point of coordination step

9
Features of Little JIL
  • Explicit agent specifications
  • Explicit resource specification
  • Agent communication via agendas
  • Visualization
  • Proactive and reactive control constructs
  • Explicit data flow
  • Precondition and postcondition guards

10
Coordination Paradigm
  • Coordination is the process of building of
    program by gluing together active pieces and is a
    vehicle for building programs that can include
    human and software processes.
  • Collection of agents, communication mechanism,
    distribution mechanism, assignment of tasks to
    agents.

11
A step of Little-JIL
  • Step provides scoping mechanism for control,
    data exception flow, and for agent and resource
    assignment.
  • Steps are organized into static hierarchy, but
    can have a highly dynamic execution structure
    including the possibility of recursion and
    concurrency.
  • Step is a specification of a unit of work that
    is assigned to an agent. unit of encapsulation

12
Watch the Step
Interface Badge (includes resources)
Prerequisite Badge
Postrequisite Badge
TheStepName
X
X
Sequencing
Handlers
Reactions
13
Little-JIL steps Badge
  • Control flow 4 non-leaf steps
  • sequential, parallel, try, choice
  • Requisites Mechanism to add checks before and
    after a step is executed
  • pre-requisite, post-requisite
  • Exception handlers augment the control flow
    construct of the step
  • Messages Reactions reactive power and
    expressive power

14
Little-JIL steps Badge (cont.)
  • Parameters passed between steps allow
    communication of information necessary for the
    execution of a step and for the return of step
    execution results.
  • Resources are representations of entities that
    are required during steps execution e.g.. Steps
    execution agents, permission to use tools,
    physical artifacts

15
Step in action/execution
Completed
Started
Terminated
Posted
Retracted
16
States of step
  • Posted step eligible to start
  • Reactive element, resource and agent with
    specific agenda
  • Started agent wish to begin the step
  • Resource acquired and pre-requisite checked
  • Completed work specified is finished
  • Post-requisite checked, sub-steps ended parent
    informed
  • Terminated failed step
  • Exception, propagated up from a sub-step,
    resources less
  • Retracted removed from agents agenda
  • Un-chosen alternatives or exception

17
Step Interface
  • Interface to step specifies the resources used by
    the step and messages that may be propagated from
    the step
  • Resource declarations
  • Parameter declarations
  • Exception Declarations
  • Message Declarations
  • Specified interface badge should be colored

18
Resources
  • Any entity that is required to execute a step
  • Product of one step may be resource to another
  • Agent Special resource, named as agent
  • Declared in the step interface with a dot
  • Passed to agents via agenda manager as parameters
  • Resource Unknown, Resource Unavailable

19
Parameters
  • Transmit objects between parents and children in
    the sub-step hierarchy using PP
  • Parameter name, type( agen. att.) , mode
  • Modes In, Out, In/Out, Locals
  • Passed via parameter bindings
  • Sub-step-parameter arrow parent-step-par.
  • Appears in center section of the interface
  • Parameter Unavailable
  • Parameter compatible

20
Requisites
  • Requisites provide a mechanism to define guards
    on the entry to exit from the steps
  • Failed requisites throws exception
  • Multiple requisites are grouped ordered
  • Colored badge if requisites specified
  • No out or in/out parameters (side effects)
  • Exception considered as failure terminate

21
Exceptions
  • unavailable resource or parameter (interp.)
  • Incomplete a step (agent)
  • Implicit not needed to be specified in step
  • Handlers
  • Continue, restart, complete, rethrow
  • name value
  • exception match same/super type
  • attrib. value exception attrib. value for
    specific.

22
Messages
  • Allow processes to react to their own execution
    (sent by interpreter, in appendix)
  • Indicate event of interest (sent by agent)
  • Exceptions by step (specified at interface)

23
Reactions
  • Specify event to listen to and step to handle
    event
  • Performed in parallel with other sub-steps
  • Pre-defined events for step execution and
    completion
  • Agents can send events
  • Specified as type, and set of attributes with
    name/value pair
  • Matching rules are same as exceptions

24
Little-JIL
  • Little jil is a tree of steps whose leaves
    represent the smallest specified unit of works
    and whose structure represents the way in which
    this work will be coordinated.

25
Example
  • Lets consider a trip planning process coded in
    Little JIL.
  • The process involves 4 people
  • Traveler
  • Travel agent
  • Two secretaries
  • We try united first then USAir.

26
If the traveler has gone over budget, and a
Saturday stay over was not included, the dates
should be changed to include a Saturday stay over
and other attempts should be made. After the
airline reservations are made and the travel date
and times are set, car and hotel reservations
should be made. The hotel reservations may
either at Days Inn or, if budget is not tight, a
Hyatt. The car reservations may be made with
either Avis or Hertz.
27
(No Transcript)
28
  • Step Kinds
  • Figure 2 depicts the overall structure of the
    Little JIL trip planning process program.
  • The following four step kinds are used,
  • A sequential step is used to make plane
    reservations before hotel and car reservations.
  • A try step is used to try united first then
    USAir.

29
  • A parallel step is used to allow two secretaries
    to make car and hotel reservations
    simultaneously.
  • Choice steps are used to allow a secretary to
    choose which hotel chain or car company to try
    first.
  • The process program can handle any changes to the
    system, for example , we can make preference
    while choosing a hotel or a car rental company,
    we can attempt all reservations in parallel, just
    by changing step kinds.

30
Requisites A post requisite is used in the Plane
Reservation step to check if the airfare has not
exceeded the budget. A prerequisite is used for
the HyattReservation step. If the secretary
reserves a room at Hyatt and the budget is tight
that step aborts immediately.
31
(No Transcript)
32
Exception and Handlers In Figure 3, if the
PlaneReservation agent finds that the budget has
exceeded it throws the NotInBudget exception to
the parent. The parent steps handler
IncludeSaturdayStayover would check to see if a
Saturday stayover was already included. If not,
it would change the travel dates and restart the
PlanTrip step with the new travel dates.
33
If there was already a Saturday stayover, the
handler could throw another exception that would
go higher up the tree or terminate the
process. Different continuation badges would
create different executions. For example, if
Include SaturdayStayover were to rewritten to
make alternate plans, then the continuation badge
would be changed to complete indicating that
the exception step had provided an alternate
implementation of PlanTrip.
34
(No Transcript)
35
Messages and Reactions In Figure 3 the handler
for a message is shown. When the meeting
cancelled message is generated, the CancelAnd
Stop substep of PlanTrip is assigned to the
traveler. Its assumed that the agent will take
appropriate action by calling up the travel agent
and secretaries and asking them to abort.
36
Parameters Information is passed between steps
via parameters. Parameter passing is indicated by
annotations made on the step connections. There
are 3 parameter passing modes defined in little
JIL. Arrows attached to the parameters indicate
whether a parameter is copied into the sub steps
scope from the parent, copied out or both.
37
Little JIL focuses on coordination of a process.
It specifies at what points during execution
parameter values should be copied to and from
steps. It does not specify the computations to
be performed on the parameter values.
38
Resources Resource requirements for a step are
indicated by annotations on the steps interface
specification. Identifying and acquiring
resources at run time enables Little JIL program
to adapt to different environments. This allows
dynamism during process execution.
39
In figure the execution agent resources are
specified as annotations on the interface badge.
The steps for HotelReservation and
CarReservation specify a secretary as agent
responsible for the task. Resources can be
agents or any artifact.
40
Merits of Little-JIL
  • Semantically rich and yet easy to use
  • Formal yet graphical syntax
  • Independent agent can benefit from the
    coordination with other agents
  • Flexibility to operate/level of details
  • Resource bounded recursion and parallelism

41
Demerits of Little-JIL
  • No data type model for parameters and resources
  • Omits expressions and commands
  • Relies of the agents to know how the tasks
    represents by leaf steps are performed
  • Specifies coordination and not execution
  • computation
  • Juliette
  • resource manager, agenda management systems, java
    type system model

42
Conclusions
  • Tools (java based on windows/linux)
  • Graphical editor, interpreter, distributed object
    substrate, agenda management system, resource
    manager
  • Applied to data mining, robot team coordination,
    E-commerce, multiple designer doing booch/ood,
    bug tracking system

43
References
  • http//laser.cs.umass.edu/
  • A. Wise. Little JIL 1.0 Language Report.
  • A. Wise ,A.G. Cass, B.S. Lerner, E.K. McCall,
    L.J. Osterweil, S.M. Sutton Jr. Using Little-JIL
    to Coordinate Agents in Software Engineering.
  • Content of this presentation directly or
    indirectly refers to the work of Leaon J.
    Osterweil.
Write a Comment
User Comments (0)
About PowerShow.com