ABSTRACT
The recent increase in the ubiquity and connectivity of computing devices allows forming large-scale distributed systems that respond to and influence activities in their environment. Engineering of such systems is very complex because of their inherent dynamicity, open-endedness, and autonomicity. In this paper we propose a new class of component systems (Ensemble-Based Component Systems - EBCS) which bind autonomic components with cyclic execution via dynamic component ensembles controlling data exchange. EBCS combine the key ideas of agents, ensemble-oriented systems, and control systems into software engineering concepts based on autonomic components. In particular, we present an instantiation of EBCS - the DEECo component model. In addition to DEECo main concepts, we also describe its computation model and mapping to Java. Lastly, we outline the basic principles of the EBCS/DEECo development process.
- D. B. Abeywickrama, N. Bicocchi, and F. Zambonelli. SOTA: Towards a General Model for Self-Adaptive Systems. In Proc. of WETICE'12, 2012. Google ScholarDigital Library
- R. Al Ali, T. Bures, I. Gerostathopoulos, P. Hnetynka, J. Keznikl, M. Kit, and F. Plasil. DEECo computational model -- I. Technical Report no. D3S-TR-2013-01. D3S, Charles University in Prague. Available at: http://d3s.mff.cuni.cz-/publications, 2013.Google Scholar
- L. Baresi, S. Guinea, and G. Tamburrelli. Towards decentralized self-adaptive component-based systems. In Proc. of SEAMS'08, 2008. Google ScholarDigital Library
- F. Bellifemine, G. Caire, and D. Greenwood. Developing Multi-Agent Systems with JADE. John Wiley, 2007. Google ScholarDigital Library
- P. Bresciani, P. Giorgini, F. Giunchiglia, J. Mylopoulos, and A. Perini. Tropos: An Agent-Oriented Software Development Methodology. Autonomous Agents and Multi-Agent Systems. 8, 3, 2004. Google ScholarDigital Library
- E. Bruneton, T. Coupaye, M. Leclercq, V. Quema, and J. Stefani. The Fractal component model and its support in Java. Software: Practice & Experience. 36, 2006. Google ScholarDigital Library
- T. Bures, P. Hnetynka, and F. Plasil. SOFA 2.0: Balancing Advanced Features in a Hierarchical Component Model. In Proc. of SERA'06, 2006. Google ScholarDigital Library
- T. Bures, I. Gerostathopoulos, P. Hnetynka, J. Keznikl, M. Kit, and F. Plasil. Autonomous components in dynamic environments. Awareness Magazine. Online: http://www.awareness-mag.eu, 2012Google Scholar
- T. Bures, I. Gerostathopoulos, V. Horky, J. Keznikl, J. Kofron, M. Loreti, and F. Plasil. Language Extensions for Implementation-Level Conformance Checking. ASCENS Deliverable 1.5. Available at: http://www.ascens-ist.eu/deliverables, 2012.Google Scholar
- B. Cheng et al. Software Engineering for Self-Adaptive Systems: A Research Roadmap. Software Engineering for Self-Adaptive Systems. Springer-Verlag, 2009. Google ScholarDigital Library
- I. Crnkovic. Building Reliable Component-Based Software Systems. Artech House, Inc., Norwood, MA, USA, 2002. Google ScholarDigital Library
- I. Crnkovic, M. Chaudron, and S. Larsson. Component-based development process and component lifecycle. Software Engineering Advances, 44, 2006. Google ScholarDigital Library
- D3S, Charles University in Prague. jDEECo website. Accessed April 17, 2013. https://github.com/d3scomp/JDEECo, 2013.Google Scholar
- R. De Nicola, G. Ferrari, M. Loreti, and R. Pugliese. A Language-based Approach to Autonomic Computing. In Proc. of FMCO '11, 2012.Google Scholar
- D. Gelernter. Generative communication in Linda. Toplas. 7, 1, 1985. Google ScholarDigital Library
- I. Gerostathopoulos, T. Bures, and P. Hnetynka. Position Paper: Towards a Requirements-Driven Design of Ensemble-Based Component Systems. In Proc. of HotTopiCS Workshop, ICPE'13, 2013. Google ScholarDigital Library
- R. Hall, K. Pauls, S. McCulloch, and D. Savage. OSGi in Action: Creating Modular Applications in Java. Manning Pubs Co Series. Manning Publications, 2011. Google ScholarDigital Library
- K. Havelund, and T. Pressburger. Model Checking Java Programs Using Java PathFinder. Software Tools for Technology Trasfer. 2, 4, 2000.Google ScholarCross Ref
- M. Holz, and M. Wirsing. Towards a System Model for Ensembles. Formal modeling. 2012.Google Scholar
- M. Holzl, A. Rauschmayer, and M. Wirsing. Engineering of software-intensive systems: State of the art and research challenges. In Software-Intensive Systems and New Computing Paradigms. Ser. LNCS, Springer Berlin, Heidelberg, vol. 5380, 2008. Google ScholarDigital Library
- M. Jain, M. Taylor, M. Tambe, and M. Yokoo. DCOPs meet the real world: Exploring unknown reward matrices with applications to mobile sensor networks. In Proc. of IJCAI'09, 2009. Google ScholarDigital Library
- C. Julien, and G.-C. Roman. EgoSpaces: Facilitating Rapid Development of Context-Aware Mobile Applications. IEEE Transactions on Software Engineering, 32, 5, 2006. Google ScholarDigital Library
- J. Kephart, and D. Chess. The Vision of Autonomic Computing. Computer. 36, 1, 2003. Google ScholarDigital Library
- J. Keznikl, T. Bures, F. Plasil, I. Gerostathopoulos, P. Hnetynka, and N. Hoch. Design of Ensemble-Based Component Systems by Invariant Refinement. In Proc. of CBSE 2013, ACM, 2013. Google ScholarDigital Library
- J. Keznikl, T. Bures, F. Plasil, and M. Kit. Towards Dependable Emergent Ensembles of Components: The DEECo Component Model. In Proc. of WICSA/ECSA 2012, IEEE CS, 2012. Google ScholarDigital Library
- J. Kramer, and J. Magee. Self-managed systems: an architectural challenge. In Proc. of FOSE'07, 2007. Google ScholarDigital Library
- A. Lamsweerde. Requirements engineering: from craft to discipline. In Proc. of SIGSOFT'08/FSE-16, 2008. Google ScholarDigital Library
- M. Mauve, A. Widmer and H. Hartenstein. A Survey on Position-Based Routing in Mobile Ad Hoc Networks. IEEE Network, 15, 6, 2001. Google ScholarDigital Library
- B. Morin, O. Barais, J.-M. Jezequel, F. Fleurey, and A. Solberg. Models at Runtime to Support Dynamic Adaptation. IEEE Computer. 42, 10, 2009. Google ScholarDigital Library
- OMG. Unified Modeling Language 2.0: Superstructure. Available online: http://www.omg.org/spec/UML/2.0/, 2005.Google Scholar
- OMG. CORBA Component Model Specification v4.0. Available online: http://www.omg.org/spec/CCM/4.0/, 2006.Google Scholar
- OSGi Alliance. OSGi service platform core specification, release 4. Available online: http://www.osgi.org/Spec-ifications/HomePage, 2012.Google Scholar
- T. Patikirikorala, A. Coman, H. Jun, and W. Liuping . A systematic survey on the design of self-adaptive software systems using control engineering approaches. In Proc. of SEAMS'12, 2012.Google ScholarCross Ref
- C. Peper, and D. Schneider. Component engineering for adaptive ad-hoc systems. In Proc. of SEAMS'08, 2008. Google ScholarDigital Library
- A. Rao, and M.P. Georgeff. BDI agents: From theory to practice. In Proc. of ICMAS'95, 1995.Google Scholar
- N. Serbedzija et al. Ensemble Model Syntheses with Robot, Cloud Computing and e-Mobility. ASCENS Deliverable 7.2. Available at: http://www.ascens-ist.eu/deliverables, 2012.Google Scholar
- N. Serbedzija, S. Reiter, M. Ahrens, J. Velasco, C. Pinciroli, N. Hoch, and B.Werther. Requirement Specification and Scenario Description of the ASCENS Case Studies. ASCENS Deliverable 7.1. Available at: http://www.ascens-ist.eu/deliverables, 2011.Google Scholar
- M. Shaw, and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline, Prentice-Hall, Englewood Cliffs, NJ, 1996. Google ScholarDigital Library
- Y. Shoham, and K. Leyton-Brown. Multiagent Systems: Algorithmic, GameTheoretic, and Logical Foundations, Cambridge University Press, 2008. Google ScholarDigital Library
- J. A. Stankovic, T. He, T. Abdelzaher, M. Marley, G. Tao, S. Son, and C. Lu. Feedback control scheduling in distributed real-time systems. In Proc. of RTSS'01, 2002. Google ScholarDigital Library
- R. Wang, and N. Kandasamy. A distributed control framework for performance management of virtualized computing environments. In Proc. of ICAC'10, 2009. Google ScholarDigital Library
Index Terms
- DEECO: an ensemble-based component system
Recommendations
DEECo: an ecosystem for cyber-physical systems
ICSE Companion 2014: Companion Proceedings of the 36th International Conference on Software EngineeringIn this work we tackle the problem of designing and developing software-intensive cyber-physical systems (CPS), which are large distributed systems of collaborating elements that closely interact with the physical world, such as intelligent ...
Development of smart cyber-physical systems
CBSE '14: Proceedings of the 17th international ACM Sigsoft symposium on Component-based software engineeringThe recent increase in the ubiquity and connectivity of computing devices allows forming large-scale distributed systems that respond to and influence activities in the real world (typically called smart Cyber-Physical Systems -- sCPS). Examples of such ...
Towards Intelligent Ensembles
ECSAW '15: Proceedings of the 2015 European Conference on Software Architecture WorkshopsRecently, several ensemble-based component models have been created to address the dynamicity and complexity of designing cyber-physical systems. Experience in applying these models to actual case studies has shown that there are still scenarios in ...
Comments