Developing Multi-Agent Systems in Support of Ambient Intelligence
Total Page:16
File Type:pdf, Size:1020Kb
IDK and ICARO: developing Multi-agent Systems in support of Ambient Intelligence José M. Gascueña a, Elena Navarro a,b, Antonio Fernández-Caballero a,b, Patricia Fernández-Sotos c and Juan Pavón d a Instituto de Investigación en Informática de Albacete (I3A), 02071-Albacete, Spain b Universidad de Castilla-La Mancha, Departamento de Sistemas Informáticos, 02071-Albacete, Spain E-mail: {Elena.Navarro, Antonio.Fdez}@uclm.es c Universidad de Castilla-La Mancha, Facultad de Medicina, 02071-Albacete, Spain d Universidad Complutense de Madrid, Facultad de Informática, Departamento de Ingeniería del Software e Inteligencia Artificial, c/ Profesor José García Santesmases, s/n, 28040-Madrid, Spain AbstractAn important component of Ambient Intelligence (AmI) is the massive deployment of a new generation of intelligent agents, embedded in the environment and adaptive to the users’ profiles, preferences and needs. That is why, the use of agent- oriented methodologies and frameworks is almost mandatory to easily develop software for AmI scenarios. ICARO is a software framework that promotes the use of different organizational and behavioral patterns to implement multi-agent systems (MAS). Its extensive use in several projects demonstrates a substantial increase in software productivity. Also, in order to reduce the coding effort it is usual to design MAS at a higher level. In this sense, code generation from MAS specifications into ICARO framework has been performed. INGENIAS Development Kit (IDK) supports both the specification of MAS models, including any feature required to implement MAS with ICARO, and a set of facilities for code generation. This paper describes the development of AmI applications thanks to the integration of ICARO and IDK. Two IDK modules have been developed, namely a “code generator” and “code update” module. Keywords: Multi-agent systems, Agent-oriented software engineering, Code generation, Ambient Intelligence, Assisted living systems, Ambient assisted systems, Smart homes. 1. Introduction has opened the door to its exploitation in a wide variety of previously unforeseen systems. For instance, it is Ambient Intelligence (AmI) is being a very active being widely exploited in the context of smart homes, topic of research in the last decade. Ducatel et al. [14] also called ambient assisted systems and assisted living envisioned some of the ideal scenarios that AmI should systems. They are home-like environments that exploit be able to offer to the society, community as well as AmI to respond to the behavior of their residents and individuals. As stated by the authors, AmI promotes to provide them with novel services and facilities [13]. the development of innovative and intelligent user in- Home care is one major category of smart home ap- terfaces “embedded in an environment that is capable plication. Some systems have been developed for de- of recognizing and responding to the presence of dif- ferent individuals in a seamless, unobtrusive and often tecting falls of elders by processing the information of invisible way”. AmI user interfaces become transpar- sensor infrastructures [37]. Other interesting systems ent (people do not perceive complexity neither pres- are being applied in the context of health-care to de- ence) and they are “intelligent” to react in a proac- tect problems such as heart breaks by processing con- tive and sensitive way [1] at the same time. The idea text information [11]. These systems target at elders to of making technology transparent but usable to people provide them with independence and quality of life. 2 J.M. Gascueña et al. / ICARO in support of AmI sign phases. With this aim in mind, ICARO provides engineers with concepts and models, together with a customizable MAS design, Java code fully compati- ble with software engineering standardsas Also, it can be integrated into the most popular integrated devel- opment environments (IDE). Moreover, it is indepen- dent of the agent architecture, this way enabling de- velopers to create new architectures and integrate them into the framework. This is a clear difference with re- gard to other agent frameworks, such as JACK [40] Figure 1. AmI system interacting with its environment. or JADE [4], as they provide a middleware instead of an extensible architecture to establish the communica- AmI systems take advantage of Artificial Intelli- tions among agents. This advantage provides develop- gence (AI) techniques as the means to resemble hu- ers with the necessary flexibility to deal with the di- mans when interacting with their environment. For this versity of AmI devices and communication technolo- reason, an AmI system perceives the state of the users gies. An additional advantage is that the framework al- and/or the environment, reasons about the collected ready implements functionality for automatic compo- data by using AI techniques such as intelligent agents, nent management, application initialization and shut- and acts accordingly to achieve the expected goals down. This reduces the developers’ workload and en- (see Fig. 1). Moreover, agents are a good in model- sures that all components are under control. This last ing, simulating, and representing meaningful entities functionality is not usually provided by other frame- such as rooms and persons in AmI systems [34]. The works. AmI systems properties turn their development into a The rest of the article is organized as follows. Sec- challenging work demanding adequate tools that assist tion 2 describes the related work. Then, section 3 intro- throughout a well established software development duces IDK modules developed for ICARO. After that, process. Both tools and process should be able to adapt a case study illustrates our approach in section 4. Fi- to the diversity of AmI devices and communication nally, some conclusions are provided in section 5. technologies from an implementation point of view. The major contribution of this paper is to introduce our experience after developing couple of software mod- 2. Related work ules facing the mentioned issues. The software con- sists in a code generator module and module to support As stated by Cook et al. [10] AmI technologies are code update. The modules have not been developed expected to be sensitive, responsive, adaptive, trans- from scratch but INGENIAS Development Kit (IDK) parent, ubiquitous, and intelligent. The three first fea- [20], the tool supporting the agent-oriented software tures greatly rely on the context-aware computing engineering methodology named INGENIAS [31], has field, but transparency and ubiquity depend on the area been used. IDK provides a template-based proprietary of ubiquitous computing, also called pervasive com- mechanism for developing new modules which auto- puting. But it is intelligence which becomes a criti- matically generate code for any target language. As far cal feature as it makes AmI systems more sensitive, as we know this functionality is not provided by any responsive, adaptive, transparent and ubiquitous. The other tool dedicated to designing multi-agent systems main reason is that the intelligence feature helps in un- (MAS) (e.g. Prometheus Design Tool (PDT) [30], Tool derstanding user environments and, consequently, in for Agent Oriented visual Modeling for the Eclipse providing them adaptive assistance [9]. This explains platform (Taom4E) [26] or DSML4MAS development why AmI entails contributions from different AI areas, environment (DDE) [38]). such as machine learning [3], ontologies [24], neu- The two aforementioned modules generate code for ral networks [9] and, specially, multi-agents systems ICARO framework that provides high-level software (MAS). components to facilitate the development agent-based Indeed, MAS are especially good at modeling real- applications. Moreover, it promotes the use of differ- world and social systems, where problems are solved ent organizational and behavioral patterns that enable in a concurrent and cooperative way without the the specification of MAS at a higher level during de- need of reaching optimal solutions [34]. Indeed, AmI J.M. Gascueña et al. / ICARO in support of AmI 3 proposes the development of context aware systems A clear alternative is ICARO which provides pat- equipped with devices that recognize context and act terns to build reactive [18] and cognitive [22] agents. accordingly. Agents provide an effective way to de- The use of component patterns for modeling MAS velop such systems since agents are reactive, proac- is a differentiating factor from other agent-oriented tive and exhibit an intelligent and autonomous behav- programming frameworks and languages [5]. More- ior [2]. Agents react to humans based on information over, while other agent-based platforms that are FIPA- obtained by sensors and their knowledge about human compliant (e.g. JADE) focus mainly on communica- behaviors within AmI applications [6]. tion standards, ICARO targets on providing high-level As aforementioned, the development of AmI sys- software components for easy development of com- tems is not a trivial issue, being necessary the use of plex agent behavior, agent coordination, and MAS or- tools and well-defined processes that guide the stake- ganization. Regrettably, to date there are no tools for holders. Taken into account the relevance that MAS modeling MAS applications and generating code for has to AmI, several alternatives providing the neces- this framework. So, there is a need for code generation sary support have recently been developed. One of from design specifications to ICARO framework. them is the methodology defined by Serrano et al. [36], Code generators are useful tools for software de- based on the use of MAS-oriented simulations for the velopment due to the evident benefits provided by validation of AmI-based ubiquitous computing sys- their exploitation [29], [15]. One of these benefits is tems. This proposal is very interesting as it helps to an improved productivity since the time necessary validate AmI applications whose real tests would be to perform coding tasks is reduced. Another impor- impractical because of the unavailability of resources, tant benefit is that the quality of the developed sys- high cost, and so on.