VII Agent-Oriented Software Engineering Technical Forum Design of embedded multiagent systems: discussion about some specificities Jean-Paul JAMONT, Michel OCCELLO University of Grenoble II LCIS Labs {jean-paul.jamont,michel.occello}@iut-valence.fr PLAN INTRODUCTION I. Lifecycle II. Specific activities III. An original eMAS simulation tools CONCLUSION 2 Introduction : Embedded Systems Dedicated systems built to handle one or a few preestablished tasks in interaction with the physical world As consumer systems their architectures often supply inexpensive microprocessors and limited storage 2007: 4 440 000 000 8bit c 2010: 6 500 000 000 8bit c Strong constraints for embedded systems: application size interaction with the physical world response time power autonomy 3 Introduction : Cooperative Embedded Systems More constraints for cooperative embedded systems : Complexity Concurrency Integration or composition of heterogeneous systems and services Dynamic Reconfiguration Mobility Data and function integrity Embedded software are thus not just software on small computers. They are conceived using software built into or 'embedded' within a device. The software can be partly 'built in' to the electronics. Specialized hardware architectures as FPGA or SOC can be used in this context. 4 Introduction : Embedded Multiagent Systems Building an embedded MAS doen’t consist simply in translating agent code to another plateform Agents of an eMAS : Own low memory ressources Own low CPU MHz Must manages their autonomous energy 16K-32K, stack of 256 bytes 1MHz-4MHz Sleep/wake up mode… Embedded features impact design processes, models, architectures and implementations of the agents The transposition to a local agent model/architecture can insert some deviations in the global behavior. 5 Introduction : Embedded Multiagent Systems Previous works on embedded multiagent systems The DIAMOND method [AIAI05] The MWAC model [IAT07] Applications: Wireless measurement systems [Measurement10], Geolocation [CSTST08] Cooperative robotics [MARS06] Decentralized automation systems [CICA11] 6 PLAN INTRODUCTION I. Lifecycle II. Specific activities III. An original eMAS simulation tools CONCLUSION 7 Lifecycle Traditionnal approaches vs hw/sw codesign approach 71.5% of all embedded system designs were not within 30% of pre-design performance expectations. [Embedded Computing Design, Skazinski03] • • • • • Reduced time to market Best design space exploration Rapid prototyping Simplified hw/sw integration 8 … Lifecycle Traditional life cycle are waterfall like MAS : few works on the deployment phase Gaia [Woolridge 2000], Mase [Deloach 2001] PASSI [Chella 2004], MASSIVE [Lind 2001] Necessity of an iterative and incremental approach [Cernuzzi 2005], Agile-PASSI [Chella 2006] 9 The DIAMOND Life Cycle partitioning the system in a hardware part and a software part to produce the code and the hardware synthesis defines what the user needs and characterizes the global functionalities decomposing a problem in a multiagent solution to build the multiagent system without distinguisting hardware/software parts 10 PLAN INTRODUCTION I. Lifecycle II. Specific activities III. An original eMAS simulation tools CONCLUSION 11 Specific activities In early requirements Designing embedded multi-agent systems implies to treat of extra-functional requirements related to deployment. Most multiagent methodologies focus only on functional requirements whereas designing embedded multi-agent systems imposes to treat of extra-functional requirements. Some of the multiagent leader methodologies attempts to integrate some techniques to catch extra-funtional requirements in their last extensions O-Mase [Harmon09], RE-Gaia [Blanes09] . 12 Specific activities In early requirements Another aspect to study, related to the physical context, are the requirements in terms of safety (physical risk assessment): the guarantee that the system will not be dangerous for the human user even in degraded running mode. Requirements expression from manufacturing systems : FMEA : Failure modes and effects analysis a qualitative hazard identification that helps to identify potential failure modes based on past experience with other systems. The objective is to study the effects of those failures and how they can affect the user. HAZOP : Hazard an Operability Studies The HAZOP approach is a systematic procedure for determining the causes of process deviations from normal behavior and consequences of those deviations. [Ebrahimipour10] proposed an agent structure and used it in a multiagent system to ensure safety engineering by the means of faulty diagnosis diagram trying to solve limitation of FMEA in complex systems or with a process with numerous components. [Sterling09] presents safety as a quality attribute for a multiagent system. A few industrial applications using multiagent have involved some HAZOP rules. DIAMOND introduces GEMMA 13 Specific activities Study of running/stop modes STOP MODE & RESTART MODE PROCEDURE TO RETURN IN INTIAL STATE RUNNING MODE STOP IN INITIAL STATE NORMAL STOP STATE PROCEDURES NORMAL STOP IN A SPECIFIED STATE PROCEDURE EMERGENCY MODE MAS STILL AUTONOMOUS RUNNING STOP PROCEDURE TO ENSURE SECURITY MAS IN NORMAL RUNNING EMERGENCY TEST PROCEDURE DIAGNOSIS OR FAILURE TREATMENT VERIFICATION PROCEDURE MAS IN AUTONOMOUS RUNNING TERMINATION PROCEDURES STOP OBTAINED START PROCEDURES GOING IN A SPECIFIED STATE PREPARATION FOR RESTART AFTER DYSFUNCTIONNING MAS COMPONENT VERIFICATION IN ORDER 14 Specific activities In the multiagent analysis Specific properties must be taken into account in multiagent models : Integration Safety Real-Time Capabilities Power Management Connexion maintaining Timeliness Trust and Reputation Mobility Risk Modelling Framework Integrity Real world physical interaction Decision Interaction Heterogeneity Data Interaction 15 Specific activities In the multiagent analysis AIM: decomposing a problem into a multiagent solution 16 Specific activities Individual step A model for real world physical interaction integration 17 Specific activities Socialization of the agents Identifying and analyzing the possible influences upon the two previous steps. Those influences are integrated within the agents by means of their communication and perception assessment capabilities. 18 orders Values observed received parameters of actions (or of priority of the decides of the for world messages and decision decision action pertinence, of representation contents… (immediately plans (actions) functions sequences) (a given state of with able to be to trigger and of the world) triggered after preemption, the emergency the validation ofafter the current of activation task, etc...) function of the evaluation conditions state of the world 19 Specific activities Generic design Reducing the gap between analysis and implementation Building flexible reconfigurable hw/sw framework [Naji04] Mixing software agents and hardware agents [Meng05] Building agents using different embedded techniques : System-on-Chip [Naji06] Control Theory (PID) [Breemen00] Labview [Polakow09] Building agent using generic hw/sw components 20 Specific activities Generic design AIM: Building the multiagent system, once one knows what agents have to do without making any difference between hardware/software parts • Choosing technological solutions, • Building agents using components. INFORMATION SPECIFICATION Message to deliver Bit field (sender id 8b, receiver id 8b, data length 8b, data 0-2048b) Received message Bit field (sender id 1b, receiver id 1b, data length 1b, data 0-2048b) Location request Falling edge Flight time Number of quantum – unsigned integer, 24b Battery level Percentage of available energy - IEEE 754, 32b <location,confidence> Union – 64bits X,Y : uint 16b, uint 16b - Shared orthonormal basis Confidence : IEEE 754, 32b High level = 5V Low level = 0V 21 Specific activities Generic design 22 Specific activities Implementation AIM: partitioning the system into a hardware part and a software part to produce the code and the hardware synthesis Criteria: cost, performance, flexibility, fault-tolerance, ergonomic Criteria: cost, performance, flexibility, non-functional constraints constraints and thefault-tolerance, algorithmic complexity. (thermal dissipation, dimension, energy consumption …) and the algorithmic complexity.23 Specific activities Implementation 24 25 PLAN INTRODUCTION I. Lifecycle II. Specific activities III. An eMAS simulation tools CONCLUSION 26 Our Hw/Sw simulator AIMS 1: enables hw/sw agents society simulation 2: involves realistic models of : - the physical environment - the battery consumption - the wave propagation 27 Traditional ways to design eMAS Related works Work of Danny Weyns, Kurt Schelfthout, Tom Holvoet, Tom Lefever [AAMAS2005] => Make a virtual environment from the physical observations to plan actions • Work of Fawzi Hassaïne, Russ Moulton, Chris Fink [SAC2009] => Have more realistic simulations 28 Our Hw/Sw simulator Overview of MASH Demonstrated in IEEE/WIC/ACM IAT 2009 & JFSMA 2009 29 Our Hw/Sw simulation based approach The possibles simulations Advantages of MASH Pure software simulation + enables to measure easily a lot of criteria + allows to simplify complex decisional tasks design - The quality of the simulation depends on the quality of the different models - We have a lot amount of memory and CPU with high performance 30 Our Hw/Sw simulation based approach The possibles simulations Advantages of MASH Hybrid software/hardware simulation + Allows to test embedded agents in a very large system (with a low cost) + Provides a support during the debugging phase - Supplies Time management Advantages of MASH Pure hardware simulation + The code is running on the real platform but these agents interact together through the simulated world + It is possible to debug the embedded agent with a serial debugging backchannel. + The simulator can be used as a visualization and analysis tools + Like in pure or hybrid software simulation, it is possible to play some scenarios - To have realistic simulations, one needs many devices and the associated financial cost is very important. 31 Conclusion •The DIAMOND method : • based on a spiral lifecycle, • unifies the design of each agent as an hw/sw entity, • introduces embedded dependent specific activities. •Using the different simulations, MASH allows to : •Design a virtual multiagent system •Prepare for the code embedding of this system, •Test the embedded multiagent system and debugger, •Evaluate the performances of this system. A complete embedded multiagent systems design approach 32