The active components approach for distributed systems development

The development of distributed systems is an intricate task due to inherent characteristics of such systems. In this paper these characteristics are categorised into software engineering, concurrency, distribution and non-functional criteria. Popular classes of distributed systems are classified with respect to these challenges, and it is deduced that modern technological trends lead to the inception of new application classes with increased demands regarding challenges from more than one area. One recent example is the class of ubiquitous computing, which assumes dynamic scenarios in which devices come and go at any time. Furthermore, it is analysed to which extent today's prevailing software development paradigms – object, component, service and agent orientation – are conceptually capable of supporting the challenges. This comparison reveals that each of the paradigms has its own strengths and weaknesses and none addresses all of the challenges. The new active component approach is proposed aiming at a conceptual integration of the existing paradigms in order to tackle all challenges in an intuitive and unified way. The structure, behaviour and composition of active components are explained, and an infrastructure for active components is introduced. To underline the usefulness of the approach real-world applications is presented and an evaluation according to the challenges is given.

[1]  Reid G. Smith,et al.  The Contract Net Protocol: High-Level Communication and Control in a Distributed Problem Solver , 1980, IEEE Transactions on Computers.

[2]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[3]  Luiz Fernando Capretz,et al.  Object-Oriented Software: Design and Maintenance , 1996, Series on Software Engineering and Knowledge Engineering.

[4]  Lars Braubach,et al.  Addressing Challenges of Distributed Systems Using Active Components , 2011, IDC.

[5]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java: Experiences with Auto-adaptive and Reconfigurable Systems , 2006 .

[6]  L. Perlemuter [From theory to practice]. , 1997, Soins. Psychiatrie.

[7]  Kai Jander,et al.  JadexCloud - An Infrastructure for Enterprise Cloud Applications , 2011, MATES.

[8]  Sven A. Brueckner,et al.  RETURN FROM THE ANT SYNTHETIC ECOSYSTEMS FOR MANUFACTURING CONTROL , 2000 .

[9]  C. Stott,et al.  Getting it wrong. , 2008, Archives of disease in childhood.

[10]  Rodney A. Brooks,et al.  A Robust Layered Control Syste For A Mobile Robot , 2022 .

[11]  Rafael H. Bordini,et al.  Multi-Agent Programming: Languages, Platforms and Applications , 2005, Multi-Agent Programming.

[12]  Anand S. Rao,et al.  BDI Agents: From Theory to Practice , 1995, ICMAS.

[13]  Winfried Lamersdorf,et al.  Compact and Efficient Agent Messaging , 2012, ProMAS.

[14]  Winfried Lamersdorf,et al.  A Goal Deliberation Strategy for BDI Agent Systems , 2005, MATES.

[15]  Jörg Denzinger,et al.  IDESS - A Multi Agent Based Simulation System for Rapid Development of Infectious Disease Models , 2006, Int. Trans. Syst. Sci. Appl..

[16]  Winfried Lamersdorf,et al.  A flexible BDI architecture supporting extensibility , 2005, IEEE/WIC/ACM International Conference on Intelligent Agent Technology.

[17]  Rudolf Schmid,et al.  Organization for the advancement of structured information standards , 2002 .

[18]  Winfried Lamersdorf,et al.  Goal-Oriented Processes with Gpmn , 2011, Int. J. Artif. Intell. Tools.

[19]  Ingo J. Timm,et al.  From Agents to Multiagent Systems , 2006, Multiagent Engineering.

[20]  Lars Braubach,et al.  Representing Long-Term and Interest BDI Goals , 2009, PROMAS.

[21]  James R. Larus,et al.  Software and the Concurrency Revolution , 2005, ACM Queue.

[22]  Jill Fain Lehman,et al.  A Gentle Introduction to Soar, an Architecture for Human Cognition. , 1996 .

[23]  Kai Jander,et al.  Unifying Agent and Component Concepts: Jadex Active Components , 2010, MATES.

[24]  A. Pokahr,et al.  Coordination in Multi-Agent Systems : A Declarative Approach using Coordination Spaces , 2009 .

[25]  Michael Wooldridge,et al.  Reasoning about rational agents , 2000, Intelligent robots and autonomous agents.

[26]  Andrea Omicini,et al.  From tuple spaces to tuple centres , 2001, Sci. Comput. Program..

[27]  Petr Hnetynka,et al.  Supporting Real-Life Applications in Hierarchical Component Systems , 2009, SERA.

[28]  Winfried Lamersdorf,et al.  Jadex: A BDI Reasoning Engine , 2005, Multi-Agent Programming.

[29]  Michael Rowley,et al.  Understanding SCA (Service Component Architecture) , 2009 .

[30]  Jessie Dedecker,et al.  AmbientTalk: Object-oriented Event-driven Programming in Mobile Ad hoc Networks , 2007, XXVI International Conference of the Chilean Society of Computer Science (SCCC'07).

[31]  Michael Winikoff,et al.  Prometheus: a methodology for developing intelligent agents , 2002, AAMAS '02.

[32]  Julie A. Adams,et al.  Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence , 2001, AI Mag..

[33]  Agostino Poggi,et al.  Developing Multi-agent Systems with JADE , 2007, ATAL.

[34]  Winfried Lamersdorf,et al.  Jadex: A BDI-Agent System Combining Middleware and Reasoning , 2005 .

[35]  Gregory M. P. O'Hare,et al.  SoSAA: a framework for integrating components & agents , 2009, SAC '09.

[36]  A. Pokahr,et al.  Method Calls Not Considered Harmful for Agent Interactions , 2011 .

[37]  Bastin Tony Roy Savarimuthu,et al.  Agent - Based Workflow Management Systems(Wfmss): JBees - A Distributed and Adaptive WFMS with Moni , 2006 .

[38]  Giovanni Rimassa,et al.  BDI-agents for agile goal-oriented business processes , 2008, AAMAS.

[39]  Munindar P. Singh,et al.  Service-Oriented Computing: Semantics, Processes, Agents , 2010 .

[40]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[41]  Denis Caromel,et al.  GCM: a grid extension to Fractal for autonomous distributed components , 2009, Ann. des Télécommunications.

[42]  Daniel Moldt,et al.  Goal Representation for BDI Agent Systems , 2004, PROMAS.

[43]  Stuart Kent,et al.  Model Driven , 2002 .

[44]  Bertrand Meyer,et al.  Systematic concurrent object-oriented programming , 1993, CACM.

[45]  Douglas C. Schmidt,et al.  Active object: an object behavioral pattern for concurrent programming , 1996 .

[46]  Oded Maimon,et al.  Cooperation among flexible manufacturing systems , 1985, 1985 24th IEEE Conference on Decision and Control.

[47]  Xavier Franch,et al.  Perspectives about Paradigms in Software Engineering , 2006, PhiSE.

[48]  Martin Wirsing,et al.  The Agent Component Approach, Combining Agents, and Components , 2003, MATES.

[49]  Guilherme Horta Travassos,et al.  ISPIS: From Conception towards Industry Readiness , 2007, XXVI International Conference of the Chilean Society of Computer Science (SCCC'07).

[50]  Winfried Lamersdorf,et al.  GPMN-Edit: High-level and Goal-oriented Workflow Modeling , 2011, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[51]  Kung-Kiu Lau,et al.  Software Component Models , 2006, IEEE Transactions on Software Engineering.

[52]  Bastin Tony Roy Savarimuthu,et al.  Agent-based workflow management systems (WfMSs) , 2006, Inf. Syst. E Bus. Manag..

[53]  Lars Braubach,et al.  Active Components: A Software Paradigm for Distributed Systems , 2011, 2011 IEEE/WIC/ACM International Conferences on Web Intelligence and Intelligent Agent Technology.

[54]  Nicholas R. Jennings,et al.  Intelligent agents: theory and practice , 1995, The Knowledge Engineering Review.

[55]  Jacques Ferber,et al.  From Agents to Organizations: An Organizational View of Multi-agent Systems , 2003, AOSE.

[56]  Mike P. Papazoglou,et al.  Web Services - Principles and Technology , 2007 .

[57]  Michael Wooldridge,et al.  Agent technology: foundations, applications, and markets , 1998 .

[58]  Lars Braubach,et al.  Conceptual Integration of Agents with WSDL and RESTful Web Services , 2012, ProMAS.

[59]  Jürgen Dix,et al.  Multi-Agent Programming: Languages, Tools and Applications , 2009 .

[60]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java , 2006, Softw. Pract. Exp..

[61]  Nick Collier,et al.  Repast: An extensible framework for agent simulation , 2001 .

[62]  Klaus Fischer,et al.  A model-driven, agent-based approach for the integration of services into a collaborative business process , 2008, AAMAS.

[63]  Leonid Sheremetov,et al.  Weiss, Gerhard. Multiagent Systems a Modern Approach to Distributed Artificial Intelligence , 2009 .