UML for BehaviorOriented MultiAgent Simulations Christoph Oechslein Franziska

UML for Behavior-Oriented Multi-Agent Simulations Christoph Oechslein, Franziska Klügl, Rainer Herrler, and Frank Puppe University Würzburg, Germany

UML for Behavior-Oriented Multi-Agent Simulations Christoph Oechslein, Franziska Klügl, Rainer Herrler, and Frank Puppe University Würzburg, Germany

UML for Behavior-Oriented Multi-Agent Simulations Christoph Oechslein, Franziska Klügl, Rainer Herrler, and Frank Puppe University Würzburg, Germany • Motivation • UML • Behavior-Oriented Multi-Agent Simulation (b. MASim) • Using UML for b. MAS • Small Example • Conclusion & Future Work

Motivation l Model concept to running experiment non trivial: • Top-down analysis bottom-up implementation • Concurrent (inter)actions • Complex agent behavior leads to large models • Huge amount of parameters l Own non standard specification language Ø Need for tools and frameworks which • Are easy to learn, clear and understandable and • Solve the above problems, e. g. scale for concrete domains. CEEMAS 2001 - UML for b. MAS

UML l Already established framework in software engineering. l l Diagram types for static and dynamic parts (e. g. activity graph and sequence diagram). Includes OCL a formal language for attaching additional information, like invariants, constraints, etc. . Ø Meets criteria for ‘ideal’ framework CEEMAS 2001 - UML for b. MAS

Behavior-Oriented Multi-Agent Simulation (b. MASim) l l l Focus not on the internal reasoning process, but on the agent behavior and its interactions. Associate task fulfillment with activities. Incorporating organizational concepts like roles. Includes a simulated environment. Agent entails state variables and a rule-based behavior representation (based on activities). CEEMAS 2001 - UML for b. MAS

Using UML for b. MASim

Class Diagrams l Shows state variables: • • • l Type Visibility attribute (private or public) Constant Interaction methods: • • Ant – energy_level: double + const size: double + deposit_trail (Pheromone) + following_trail (Pheromone) + forage (Environment) – feed (Ant) Visibility attribute (private or public) Interaction partner CEEMAS 2001 - UML for b. MAS

OCL in Class Diagrams l Class invariants: local and global Ant – energy_level: double + const size: double Nest + ants: List of Ants + preys: List of Prey + deposit_trail (Pheromone) + following_trail (Pheromone) + forage (Environment) energy_level > 0 Ant. all. Instances->sum(energy_level) < MAX_VALUE local invariants. count > 0 ants. sum(size) + preys. sum(size) < MAX_SIZE global invariants CEEMAS 2001 - UML for b. MAS

Activity Graphs for b. MAS l l Describing the behavior of an agent as an activity graph State-like activities also well suited Transitions are conditions on external and internal state variables Example Missing: Describing the interactions CEEMAS 2001 - UML for b. MAS

Interaction Types a) Interaction via Object Flow Ant behavior . . . Pheromone follow trail deposit trail . . . b) Interaction via Agent Generation . . . Adult behavior Larva behavior interaction via creating larva . . . c) Interaction via Variable Modification Ant behavior interaction via creating adult transform . . . interaction via variable food in nest forage Nest + food: double . . . CEEMAS 2001 - UML for b. MAS

‘Predator – Prey’ Example Predator_class Perishing Prey_Class Perishing Succumb Energy: number Energy : number always energy : = 0 Energy < ab. E E < ab Searching random movement rgy sa suc me ces pos sfu itio lp na red s ato r Predator takes all energy of prey instance Reproduction_Cost (RC) Absorbable_Energy_from_food (ab. E) Energy_boundary (E bound ) Ene Reproduction_Cost ( RC) Absorbable_Energy_from_prey (ab. E) Success_probability ( prob succ ) Energy_boundary ( Ebound ) Searching wa ys Ù al m ep En osit er ion gy a > sp RC re y Generate new prey instance with Energy : = Start. Energy alw ay s sam e foo posi d i tion nst an as ce sa s ay ep alw sam s ay generate new predator instance energie = energie - RC alw Reproduce rey sp n a ucc s tio osi rob e p ith p sam - w Generate new predator instance with Energy : = Start. Energy osi t En ion a erg s p y > red RC ato r Ù random movement Capure Prey energy = energy + prey. energy*ab. E Reproduce Feeding generate new prey instance energie = energie - RC energy : = energy + Food. Energy *ab. E Food_Class Energy : number Prey acquires energy of food instance, no change in food instance CEEMAS 2001 - UML for b. MAS

OCL in activities or states l l Pre- and post conditions: • • in activities or states describing interactions Pick up Prey precondition: jaw full != true post condition jaw full = = true OCL for adding precise and unambiguous information • • basis for validation and verification lower the gap between implementation and design CEEMAS 2001 - UML for b. MAS

Conclusion and Future Work l Using various parts of UML for b. MASim: • • • Activity graphs prominent mean Describing interactions in activity graph Using OCL for adding precise and unambiguous information l Classification of interaction types l Future work: • • • Structuring the information in documentation nodes Methodology from concept model to UML Application of this framework in real world models CEEMAS 2001 - UML for b. MAS
- Slides: 14