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

Slides:



Advertisements
Similar presentations
Knowledge Engineering for Planning Domain Design Ron Simpson University of Huddersfield.
Advertisements

Design by Contract.
ESE Einführung in Software Engineering 7. Modeling Behaviour Prof. O. Nierstrasz.
© 2006 ITT Educational Services Inc. SE350 System Analysis for Software Engineers: Unit 9 Slide 1 Appendix 3 Object-Oriented Analysis and Design.
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
HAS. Patterns The use of patterns is essentially the reuse of well established good ideas. A pattern is a named well understood good solution to a common.
© Copyright Eliyahu Brutman Programming Techniques Course.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
Describing Syntax and Semantics
SE-565 Software System Requirements More UML Diagrams.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
© 2008 IBM Corporation Behavioral Models for Software Development Andrei Kirshin, Dolev Dotan, Alan Hartman January 2008.
חוזים – Contracts 1. Larman – Chapter 10 – SSDs 10.2 What are System Sequence Diagrams? (introduction) Use cases describe how external actors interact.
An Introduction to Rational Rose Real-Time
Object-Oriented Analysis and Design
UML Sequence Diagrams Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Object-Oriented Design. From Analysis to Design Analysis Artifacts –Essential use cases What are the problem domain processes? –Conceptual Model What.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
UML Collaboration Diagram. Recap System Sequence Diagrams (SSD) UML for SSD Examples.
BPMN By Hosein Bitaraf Software Engineering. Business Process Model and Notation (BPMN) is a graphical representation for specifying business processes.
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Object-Oriented Analysis and Design An Introduction.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Conceptual Modelling – Behaviour
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
UML diagrams What is UML UML diagrams –Static modeoing –Dynamic modeling 1.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
ניתוח מערכות מידע 1 Unified Modeling Language (UML) § § The Unified Modeling Language (UML) is the industry-standard language for: Specifying, Visualizing,
1 OCL The Role of OCL in UML. 2 רשימת הנושאים  מבוא  מרכיבי השפה  דוגמאות  מקורות.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
The Unified Modeling Language Part II Omar Meqdadi SE 2730 Lecture 9 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Course Instructor: Kashif Ihsan 1. Chapter # 3 2.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 9, Object Design: Specifying Interfaces.
Dr.Basem Alkazemi
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
What is Object-Oriented?  Organization of software as a collection of discreet objects that incorporate both data structure and behavior.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 UML Modeling of Spacecraft Onboard Instruments Takahiro Yamada, JAXA/ISAS April 2005.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
INFO 620Lecture #71 Information Systems Analysis and Design Design Class Diagrams and others INFO 620 Glenn Booker.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
Test Generation from UML Specifications Michael A. Gray American University Washington, DC.
© 2009 Artisan Software Tools. All rights reserved. Testing Solutions with UML/SysML Andrew Stuart, Matthew Hause.
Analysis Classes Unit 5.
UML Diagrams By Daniel Damaris Novarianto S..
Designing Agents’ Behaviors and Interactions within ADELFE
Object-Oriented Analysis and Design
Chapter 11: Collaboration Diagram - PART1
Unified Modeling Language
UML Diagrams Jung Woo.
TIM 58 Chapter 8: Class and Method Design
Object-Oriented Analysis
Interactions.
Behavioral Models for Software Development
Presentation transcript:

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 (bMASim)Behavior-Oriented Multi-Agent Simulation (bMASim) Using UML for bMAS Small Example Conclusion & Future Work

CEEMAS UML for bMAS Motivation 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 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 UML for bMAS UML Already established framework in software engineering. Diagram types for static and dynamic parts (e.g. activity graph and sequence diagram).activity graphsequence diagram Includes OCL a formal language for attaching additional information, like invariants, constraints, etc..OCL  Meets criteria for ‘ideal’ framework

CEEMAS UML for bMAS Behavior-Oriented Multi-Agent Simulation (bMASim) 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).

Using UML for bMASim

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

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

CEEMAS UML for bMAS Activity Graphs for bMAS 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 UML for bMAS Interaction Types Pheromone deposit trail follow trail... Ant behavior a)Interaction via Object Flow creating larva... transform interaction via creating larva interaction via creating adult Adult behavior Larva behavior b)Interaction via Agent Generation forage Ant behavior... interaction via variable food in nest c)Interaction via Variable Modification Nest + food: double

CEEMAS UML for bMAS ‘Predator – Prey’ Example Searching random movement Perishing always same position as predator  Energy > RC same position as prey - with prob succ always generate new predator instance energie = -RC Reproduce Predator_class Energy: number Reproduction_Cost (RC) Absorbable_Energy_from_prey (abE) Success_probability (prob succ ) Energy_boundary (E bound ) energy = energy + prey.energy*abE Capure Prey Searching random movement always same position as prey  Energy > RC generate new prey instance energie = -RC Reproduce Prey_Class Energy : number Reproduction_Cost (RC) Absorbable_Energy_from_food (abE) Energy_boundary (E bound ) always same position as food instance Feeding energy := energy + Food.Energy *abE Perishing always energy := 0 Succumb same position as successful predator Generate new predator instance withEnergy:= StartEnergy Generate new prey instance withEnergy:= StartEnergy Food_Class Energy :number Prey acquiresenergyof food instance, no change in food instance of prey Predator takes all energy instance Energy <abE Energy <abE

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

CEEMAS UML for bMAS Conclusion and Future Work Using various parts of UML for bMASim: Activity graphs prominent mean Describing interactions in activity graph Using OCL for adding precise and unambiguous information Classification of interaction types Future work: Structuring the information in documentation nodes Methodology from concept model to UML Application of this framework in real world models

CEEMAS UML for bMAS Object Constraint Language Specifying invariants for classes Describing pre- and post conditions Describing guards and event triggers Tracing associations in object graphs Constraints as definition for the operation

CEEMAS UML for bMAS Sequence Diagrams Message passing between objects X-axis: participants of interaction; y-axis: time- line Direct concurrently interaction: AgentUML In bMASim: no complex negotiation Indirect interactions Asynchrony and undirectedness Sequence diagrams are not well suited, since only one possible path is shown

CEEMAS UML for bMAS Activity Graphs in general Standard node types: Start- and end node Activity node (primitive or compound) Other node types: State, decision, signal receiving and sending, Object flow nodes and documentation nodes Standard edge types: Transitions between activities/states Other edge types: Signal flow, object flow and documentation links