ABSTRACT
The development of an adaptive middleware is still a challenge due to the complexity of dealing with traditional adaptation issues, such as Why to adapt? When to adapt? Where do we have to implement change? What kind of change is needed? How is the adaptation performed? This paper presents a solution that integrates software architecture concepts, lightweight formalisation and process mining to face the mentioned challenges. The solution reduces the effort to implement the middleware and reinforces safety properties at development time and when the middleware is already in execution. To evaluate the proposed solution, we carried out an initial experimental evaluation to measure the time to decide for an adaptation using process mining.
- 2005. An Architectural Blueprint for Autonomic Computing. Technical Report. IBM.Google Scholar
- G. Blair, N. Bencomo, and R. B. France. 2009. [email protected]. Computer 42, 10 (Oct 2009), 22--27. Google ScholarDigital Library
- Gordon S. Blair, Geoff Coulson, Anders Andersen, Lynne Blair, Michael Clarke, Fabio Costa, Hector Duran-Limon, Tom Fitzpatrick, Lee Johnston, Rui Moreira, Nikos Parlavantzas, and KatiaSaikoski. 2001. The Design and Implementation of Open ORB 2. IEEE Distributed Systems Online 2 (June 2001), -. Google ScholarDigital Library
- Michael Clarke, Gordon Blair, Geoff Coulson, and Nikos Parlavantzas. 2001. An Efficient Component Model for the Construction of Adaptive Middleware. In Middleware 2001. Vol. 2218. Springer Berlin / Heidelberg, 160--178. Google ScholarDigital Library
- F. M. Costa, K. A. Morris, F. Kon, and P. J. Clarke. 2017. Model-Driven Domain-Specific Middleware. In 2017 IEEE 37th International Conference on Distributed Computing Systems (ICDCS). 1961--1971.Google Scholar
- M. B. Dwyer, G. S. Avrunin, and J. C. Corbett. 1999. Patterns in property specifications for finite-state verification. In Proceedings of the 21st International Conference on Software Engineering. 411--420. Google ScholarDigital Library
- David Garlan, Bradley Schmerl, and Shang-Wen Cheng. 2009. Software Architecture-Based Self-Adaptation. Springer US, Boston, MA, 31--55.Google Scholar
- Jane Hesketh, David Robertson, Norbert Fuchs, and Alan Bundy. 1998. Lightweight Formalisation in Support of Requirements Engineering. Automated Software Engg. 5, 2 (April 1998), 183--210. Google ScholarDigital Library
- C. A. R. Hoare. 1985. Communicating Sequential Processes. Prentice-Hall, Inc., Upper Saddle River, NJ, USA. Google ScholarDigital Library
- Valerie Issarny, Mauro Caporuscio, and Nikolaos Georgantas. 2007. A Perspective on the Future of Middleware-based Software Engineering. In Proc. Future of Software Engineering FOSE '07. 244--258. Google ScholarDigital Library
- A. Kliem, A. Boelke, A. Grohnert, and N. Traeder. 2014. Self-adaptive middleware for ubiquitous medical device integration. In e-Health Networking, Applications and Services (Healthcom), 2014 IEEE 16th International Conference on. 298--304.Google Scholar
- Fabio Kon, Manuel Roman, Ping Liu, Jina Mao, Tomonori Yamane, Luiz Magalhaes, and Roy Campbell. 2000. Monitoring, Security, and Dynamic Configuration with the dynamicTAO Reflective ORB. In Middleware 2000. Vol. 1795. Springer Berlin / Heidelberg, 121--143. Google ScholarDigital Library
- M. Leemans and W.M.P. van der Aalst. 2015. Process mining in software systems: Discovering real-life business transactions and process models from distributed systems. In MODELS 2015. 44--53.Google Scholar
- P.K. McKinley, S.M. Sadjadi, E.P. Kasten, and B.H.C. Cheng. 2004. Composing adaptive software. Computer 37, 7 (2004), 56--64. Google ScholarDigital Library
- Nenad Medvidovic and Richard N. Taylor. 2000. A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Trans. Softw. Eng. 26, 1 (Jan. 2000), 70--93. Google ScholarDigital Library
- S. Park and J. Song. 2015. Self-adaptive middleware framework for Internet of Things. In 2015 IEEE 4th Global Conference on Consumer Electronics (GCCE). 81--82.Google Scholar
- F. M. Q. Pereira, M. T. O. Valente, R. S. Bigonha, and M. A. S. Bigonha. 2006. Arcademis: A Framework for Object-oriented Communication Middleware Development. Software - Practice and Experience 36, 5 (2006), 495--512. Google ScholarDigital Library
- Jesús M. T. Portocarrero, Flávia C. Delicato, Paulo F. Pires, Taniro C. Rodrigues, and Thais V. Batista. 2016. SAMSON: Self-adaptive Middleware for Wireless Sensor Networks. In Proceedings of the 31st Annual ACM Symposium on Applied Computing (SAC '16). ACM, New York, NY, USA, 1315--1322. Google ScholarDigital Library
- Ansar Rafique, Dimitri Van Landuyt, Vincent Reniers, and Wouter Joosen. 2017. Towards an Adaptive Middleware for Efficient Multi-Cloud Data Storage. In Proceedings of the 4th Workshop on CrossCloud Infrastructures & Platforms (Crosscloud'17). ACM, New York, NY, USA, Article 4, 6 pages. Google ScholarDigital Library
- N. Rosa. 2015. Middleware Reconfiguration Relying on Formal Methods. In 2015 IEEE International Conference on Computer and Information Technology. 648--655.Google Scholar
- N. Rosa. 2017. Middleware Adaptation through Process Mining. In 2017 IEEE 31st International Conference on Advanced Information Networking and Applications (AINA). 244--251.Google ScholarCross Ref
- Mazeiar Salehie and Ladan Tahvildari. 2009. Self-adaptive Software: Landscape and Research Challenges. ACM Trans. Auton. Adapt. Syst. 4, 2, Article 14 (May 2009), 42 pages. Google ScholarDigital Library
- Ines Sarray, Annie Ressouche, Daniel Gaffé, Jean-Yves Tigli, and Stéphane Lavirotte. 2015. Safe Composition in Middleware for the Internet of Things. In Proceedings of the 2Nd Workshop on Middleware for Context-Aware Applications in the IoT (M4IoT 2015). ACM, New York, NY, USA, 7--12. Google ScholarDigital Library
- M. Shaw and D. Garlan. 1996. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall. Google ScholarDigital Library
- A. Singhai, A. Singhai, A. Sane, and R.H. Campbell. 1998. Quarterware for Middleware. In Proc. 18th International Conference on Distributed Computing Systems, A. Sane (Ed.). 192--201. Google ScholarDigital Library
- J. Sun and S. Duan. 2015. A Self-Adaptive Middleware for Efficient Routing in Distributed Sensor Networks. In Systems, Man, and Cybernetics (SMC), 2015 IEEE International Conference on. 322--327.Google Scholar
- W. van der Aalst. 2016. Process Mining - Data Science in Action. Springer. Google ScholarDigital Library
- Thomas Vergnaud, Jérôme Hugues, Laurent Pautet, and Fabrice Kordon. 2004. PolyORB: A Schizophrenic Middleware to Build Versatile Reliable Distributed Applications. Springer Berlin Heidelberg, Berlin, Heidelberg, 106--119.Google Scholar
- Danny Weyns, M. Usman Iftikhar, Didac Gil de la Iglesia, and Tanvir Ahmad. 2012. A Survey of Formal Methods in Self-adaptive Systems. In Proceedings of the Fifth International C* Conference on Computer Science and Software Engineering (C3S2E '12). ACM, New York, NY, USA, 67--79. Google ScholarDigital Library
- K. Yaghoobirafi and E. Nazemi. 2016. A Self-Adaptive Middleware for Attaining Semantic Self-Interoperation Property. In 2016 IEEE 1st International Workshops on Foundations and Applications of Self* Systems (FAS*W). 293--298.Google Scholar
- U. Zdun, M. Kircher, and M. Volter. 2004. Remoting patterns: design reuse of distributed object middleware solutions. IEEE Internet Computing 8, 6 (Nov.-Dec. 2004), 60--68. Google ScholarDigital Library
Index Terms
- Using software architecture principles and lightweight formalisation to build adaptive middleware
Recommendations
An adaptive middleware in Go
ARM '18: Proceedings of the 19th Workshop on Adaptive and Reflexive MiddlewareModern languages like Go has a set of innovative characteristics that create new possibilities for implementing adaptive middleware systems, such as runtime reflection, dynamic plugins, lightweight threads, and process algebra inspired channels. This ...
Lightweight formalisation of adaptive middleware
AbstractThe development of adaptive middleware systems is still a challenge due to the complexity of dealing with traditional adaptation issues, such as Why to adapt? When to adapt? Where is the need for change? What kind of change is needed? ...
Eventizing Applications in an Adaptive Middleware Platform
Adaptive middleware is increasingly used to give applications the ability to adapt to changes such as software evolution, fault tolerance, autonomic behavior, or mobility. Event-based systems offer a platform for developing adaptive middleware through ...
Comments