Software architecture and mobility: A roadmap

Modern software-intensive systems are characterized not only by the movement of data, as has been the case in traditional distributed systems, but also by the movement of users, devices, and code. Developing effective, efficient, and dependable systems in the mobile setting is challenging. Existing architectural principles need to be adapted and novel architectural paradigms devised. In this paper, we give an overview of the intersection of the areas of software architecture and mobility. We consider mobility from two related perspectives: (1) mobile software, which represents the computing functionality designed to migrate across hardware devices at runtime and execute on mobile hardware platforms, and (2) mobile systems, which are computing applications that include mobile software and hardware elements. We study the advances in both these areas, highlight representative existing solutions, and identify several remaining research challenges.

[1]  Mahadev Satyanarayanan,et al.  Coda: A Highly Available File System for a Distributed Workstation Environment , 1990, IEEE Trans. Computers.

[2]  Tobin J. Lehman,et al.  T Spaces , 1998, IBM Syst. J..

[3]  Rogério de Lemos,et al.  Architecting dependable systems , 2003, J. Syst. Softw..

[4]  Richard N. Taylor,et al.  Policy-based self-adaptive architectures: a feasibility study in the robotics domain , 2008, SEAMS '08.

[5]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..

[6]  Gian Pietro Picco,et al.  Understanding code mobility , 1998, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

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

[8]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[9]  Dieter Fritsch,et al.  POSITIONING AND DATA MANAGEMENT CONCEPTS FOR LOCATION AWARE APPLICATIONS , 2001 .

[10]  Gregory D. Abowd,et al.  A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications , 2001, Hum. Comput. Interact..

[11]  Amy L. Murphy,et al.  LIME: a middleware for physical and logical mobility , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[12]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[13]  David Garlan,et al.  Aura: an Architectural Framework for User Mobility in Ubiquitous Computing Environments , 2002, WICSA.

[14]  Mads Haahr,et al.  Supporting CORBA applications in a mobile environment , 1999, MobiCom.

[15]  Cecilia Mascolo,et al.  Mobile Computing Middleware , 2002, NETWORKING Tutorials.

[16]  Sam Malek,et al.  Reconceptualizing a Family of Heterogeneous Embedded Systems via Explicit Architectural Support , 2007, 29th International Conference on Software Engineering (ICSE'07).

[17]  Nenad Medvidovic,et al.  Towards a taxonomy of software connectors , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[18]  Giovanni Vigna,et al.  Designing Distributed Applications with Mobile Code Paradigms , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[19]  Gordon S. Blair,et al.  L2imbo: A distributed systems platform for mobile computing , 1998, Mob. Networks Appl..

[20]  Sam Malek,et al.  Scenario-Driven Dynamic Analysis of Distributed Architectures , 2007, FASE.

[21]  Roy H. Campbell,et al.  Gaia: A Development Infrastructure for Active Spaces , 2001 .

[22]  Israel Ben-Shaul,et al.  Dynamic layout of distributed applications in FarGo , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[23]  Marija Mikic-Rakic,et al.  A style-aware architectural middleware for resource-constrained, distributed systems , 2005, IEEE Transactions on Software Engineering.

[24]  Marija Mikic-Rakic,et al.  A Family of Software Architecture Implementation Frameworks , 2002, WICSA.

[25]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[26]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[27]  Dennis G. Shea,et al.  BlueStar: Managed Services for Enterprise Mobility , 2008, 2008 IEEE International Conference on e-Business Engineering.

[28]  Giovanni Vigna,et al.  Is Code Still Moving Around? Looking Back at a Decade of Code Mobility , 2007, 29th International Conference on Software Engineering (ICSE'07 Companion).

[29]  S. Kummel,et al.  System support for mobile distributed applications , 1995, Second International Workshop on Services in Distributed and Networked Environments.

[30]  Dimitra Giannakopoulou,et al.  Behaviour Analysis of Software Architectures , 1999, WICSA.

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

[32]  Alexander L. Wolf,et al.  Acm Sigsoft Software Engineering Notes Vol 17 No 4 Foundations for the Study of Software Architecture , 2022 .

[33]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

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

[35]  José Luiz Fiadeiro,et al.  CommUnity on the Move: Architectures for Distribution and Mobility , 2003, FMCO.

[36]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).

[37]  Marija Mikic-Rakic,et al.  GLIDE: A Grid-Based Light-Weight Infrastructure for Data-Intensive Environments , 2005, EGC.

[38]  Marija Mikic-Rakic,et al.  Software Architectural Support for Handheld Computing , 2003, Computer.

[39]  Roy T. Fielding,et al.  Principled design of the modern Web architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[40]  Cecilia Mascolo,et al.  XMIDDLE: A Data-Sharing Middleware for Mobile Computing , 2002, Wirel. Pers. Commun..

[41]  W. Marsden I and J , 2012 .

[42]  P. Ciancarini,et al.  A Catalog of Architectural Styles for Mobility , 1998 .

[43]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

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

[45]  Yuriy Brun,et al.  An architecture-driven software mobility framework , 2010, J. Syst. Softw..

[46]  Paola Inverardi,et al.  Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model , 1995, IEEE Trans. Software Eng..

[47]  Marija Mikic-Rakic,et al.  A Framework for Ensuring and Improving Dependability in Highly Distributed Systems , 2004, WADS.

[48]  Eric M. Dashofy,et al.  An infrastructure for the rapid development of XML-based architecture description languages , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[49]  Richard N. Taylor,et al.  An infrastructure for the rapid development of XML-based architecture description languages , 2002, ICSE '02.

[50]  Richard S. Hall,et al.  A Characterization Framework for Software Deployment Technologies , 1998 .