A Generative Middleware for Heterogeneous and Distributed Services

Modern software-based services increasingly rely on a highly heterogeneous and dynamic interconnection of platforms and devices offering a wide diversity of capabilities ranging from cloud server with virtually unlimited resources down to microcontrollers with only a few KB of RAM. This paper motivates the fact that no single software framework or software engineering approach is suited to span across this range, and proposes an approach which leverages the latest advances in model-driven engineering, generative techniques and models@runtime in order to tame this tremendous heterogeneity. This paper presents a set of languages dedicated to the integration, deployment and continuous operation of existing libraries and components already available and implemented in various languages. The proposed approach is validated on an industrial case study in the eHealth domain, implemented by an industrial partner that provide an qualitative evaluation of the approach. This case study involves a large number of sensors, devices and gateways based on Rasperry Pi, Intel Edison and Arduino.

[1]  Damien Cassou,et al.  Leveraging software architectures to guide and verify the development of sense/compute/control applications , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[2]  Mira Mezini,et al.  MobCon: A Generative Middleware Framework for Java Mobile Applications , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[3]  Aniruddha S. Gokhale,et al.  A Generative Middleware Specialization Process for Distributed Real-Time and Embedded Systems , 2011, 2011 14th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing.

[4]  Stephane Bonnet,et al.  ARCADIA: Model-Based Collaboration for System, Software and Hardware Engineering , 2013 .

[5]  Brice Morin,et al.  MDE to manage communications with and between resource-constrained systems , 2011, MODELS'11.

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

[7]  Brice Morin,et al.  A dynamic component model for cyber physical systems , 2012, CBSE '12.

[8]  Aniruddha S. Gokhale,et al.  CoSMIC: An MDA Generative Tool for Distributed Real-time and Embedded Applications , 2003, Middleware Workshops.

[9]  Brice Morin,et al.  Taming Heterogeneity and Distribution in sCPS , 2015, 2015 IEEE/ACM 1st International Workshop on Software Engineering for Smart Cyber-Physical Systems.