A Perspective on the Future of Middleware-based Software Engineering

Middleware is a software layer that stands between the networked operating system and the application and provides well known reusable solutions to frequently encountered problems like heterogeneity, interoperability, security, dependability. Further, with networks becoming increasingly pervasive, middleware appears as a major building block for the development of future software systems. Starting with the impact of pervasive networking on computing models, manifested by now common grid and ubiquitous computing, this paper surveys related challenges for the middleware and related impact on the software development. Indeed, future applications will need to cope with advanced non-functional properties such as context- awareness and mobility, for which adequate middleware support must be devised together with accompanying software development notations, methods and tools. This leads us to introduce our view on next generation middleware, considering both technological advances in the networking area but also the need for closer integration with software engineering best practices, to ultimately suggest middleware-based software processes.

[1]  Gruia-Catalin Roman,et al.  A UNITY-Style Programming Logic for Shared Dataspace Programs , 1990, IEEE Trans. Parallel Distributed Syst..

[2]  W. Keith Edwards,et al.  A Bridging Framework for Universal Interoperability in Pervasive Systems , 2006, 26th IEEE International Conference on Distributed Computing Systems (ICDCS'06).

[3]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[4]  Luciano Baresi,et al.  Towards Fine-Grained Automated Verification of Publish-Subscribe Architectures , 2006, FORTE.

[5]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

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

[7]  Ian Foster,et al.  The Grid 2 - Blueprint for a New Computing Infrastructure, Second Edition , 1998, The Grid 2, 2nd Edition.

[8]  Gordon S. Blair,et al.  A reflective framework for discovery and interaction in heterogeneous mobile environments , 2005, MOCO.

[9]  Henry Muccini,et al.  Using software architecture for code testing , 2004, IEEE Transactions on Software Engineering.

[10]  Valérie Issarny,et al.  Towards ad hoc contextual services for pervasive computing , 2006, MW4SOC '06.

[11]  Mike P. Papazoglou,et al.  Introduction: Service-oriented computing , 2003, CACM.

[12]  Douglas C. Schmidt,et al.  Pattern-Oriented Software Architecture, Patterns for Concurrent and Networked Objects , 2013 .

[13]  Ami Marowka,et al.  The GRID: Blueprint for a New Computing Infrastructure , 2000, Parallel Distributed Comput. Pract..

[14]  Amy L. Murphy,et al.  Software engineering for mobility: a roadmap , 2000, ICSE '00.

[15]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[16]  Gruia-Catalin Roman,et al.  A UNITY-Style Programming Logic for a Shared Dataspace Language , 1989 .

[17]  Antonia Bertolino,et al.  Software Testing Research: Achievements, Challenges, Dreams , 2007, Future of Software Engineering (FOSE '07).

[18]  Munindar P. Singh,et al.  Interaction protocols as design abstractions for business processes , 2005, IEEE Transactions on Software Engineering.

[19]  Douglas C. Schmidt,et al.  Research Advances in Middleware for Distributed Systems: State of the Art , 2002 .

[20]  Bill N. Schilit,et al.  Context-aware computing applications , 1994, Workshop on Mobile Computing Systems and Applications.

[21]  Cecilia Mascolo,et al.  CARISMA: Context-Aware Reflective mIddleware System for Mobile Applications , 2003, IEEE Trans. Software Eng..

[22]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[23]  Paola Inverardi,et al.  A declarative framework for adaptable applications in heterogeneous environments , 2004, SAC '04.

[24]  Seyed Masoud Sadjadi,et al.  A Survey of Adaptive Middleware , 2003 .

[25]  Mahadev Satyanarayanan Accessing information on demand at any location , 1996 .

[26]  Douglas C. Schmidt,et al.  Research Advances in Middleware for Distributed Systems , 2002, Communication Systems: The State of the Art.

[27]  Mark Weiser The computer for the 21st century , 1991 .

[28]  Alexander L. Wolf,et al.  Using event-based translation to support dynamic protocol evolution , 2004, Proceedings. 26th International Conference on Software Engineering.

[29]  Stathes Hadjiefthymiades,et al.  The role of semantic web and ontologies in pervasive computing environments , 2004 .

[30]  James A. Hendler,et al.  The Semantic Web" in Scientific American , 2001 .

[31]  Diomidis Spinellis,et al.  A survey of peer-to-peer content distribution technologies , 2004, CSUR.

[32]  Betty H. C. Cheng,et al.  Model-based development of dynamically adaptive software , 2006, ICSE.

[33]  Andy Hopper,et al.  The active badge location system , 1992, TOIS.

[34]  Wolfgang Emmerich,et al.  Precise service level agreements , 2004, Proceedings. 26th International Conference on Software Engineering.

[35]  Valérie Issarny,et al.  COCOA: COnversation-based service COmposition in pervAsive computing environments with QoS support , 2007, J. Syst. Softw..

[36]  S RosenblumDavid,et al.  An Architecture-Based Approach to Self-Adaptive Software , 1999 .

[37]  Pattie Maes,et al.  Concepts and experiments in computational reflection , 1987, OOPSLA '87.

[38]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

[39]  Alexander L. Wolf,et al.  Content-Based Networking: A New Communication Infrastructure , 2001, Infrastructure for Mobile and Wireless Systems.

[40]  Valérie Issarny,et al.  COCOA : ConversationBased Service Composition for Pervasive Computing Environments , 2006, 2006 ACS/IEEE International Conference on Pervasive Services.

[41]  Declan O'Sullivan,et al.  Semantically driven service interoperability for pervasive computing , 2003, MobiDe '03.

[42]  Yérom-David Bromberg,et al.  Interoperability of Service Discovery Protocols: Transparent versus Explicit Approaches , 2006 .

[43]  Gregory D. Abowd,et al.  Providing architectural support for building context-aware applications , 2000 .

[44]  Nigel Davies,et al.  Exploring the Grid's Potential for Ubiquitous Computing , 2004, IEEE Pervasive Comput..

[45]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[46]  Roger Y. M. Cheung From grapevine to trader: the evolution of distributed directory technology , 1992, CASCON.

[47]  Wolfgang Emmerich,et al.  Software engineering and middleware: a roadmap , 2000, ICSE '00.

[48]  S. B. Mokhtar,et al.  COCOA : Conversation-Based Service Composition for Pervasive Computing Environments , 2006 .

[49]  Jeannette M. Wing,et al.  Specification matching of software components , 1995, TSEM.

[50]  Mahadev Satyanarayanan,et al.  Mobile Information Access , 1996 .

[51]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[52]  Nader Mohamed,et al.  Middleware: middleware challenges and approaches for wireless sensor networks , 2006, IEEE Distributed Systems Online.

[53]  Wolfgang Emmerich,et al.  Engineering Distributed Objects , 2000, Lecture Notes in Computer Science.

[54]  Yérom-David Bromberg,et al.  INDISS: Interoperable Discovery System for Networked Services , 2005, Middleware.

[55]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[56]  Paola Inverardi,et al.  Compositional verification of middleware-based software architecture descriptions , 2004, Proceedings. 26th International Conference on Software Engineering.

[57]  Sheila A. McIlraith,et al.  Bringing semantics to Web services , 2003, IEEE Intelligent Systems.

[58]  David Garlan,et al.  Software architecture: a roadmap , 2000, ICSE '00.

[59]  Paola Inverardi,et al.  Model-based performance prediction in software development: a survey , 2004, IEEE Transactions on Software Engineering.

[60]  Tao Gu,et al.  A service-oriented middleware for building context-aware services , 2005, J. Netw. Comput. Appl..

[61]  Valérie Issarny,et al.  Systematic aid for developing middleware architectures , 2002, CACM.

[62]  Mahadev Satyanarayanan Accessing information on demand at any location. Mobile information access , 1996, IEEE Wirel. Commun..

[63]  Anneke Kleppe,et al.  MCC: A Model Transformation Environment , 2006, ECMDA-FA.

[64]  Valérie Issarny,et al.  A framework for systematic synthesis of transactional middleware , 2009 .

[65]  Mahadev Satyanarayanan,et al.  Pervasive computing: vision and challenges , 2001, IEEE Wirel. Commun..