This Article 
 Bibliographic References 
 Add to: 
Derivation of Markov Models for Effectiveness Analysis of Adaptable Software Architectures for Mobile Computing
April-June 2003 (vol. 2 no. 2)
pp. 114-131

Abstract—Adaptable Software Architectures (SAs) have been suggested as a viable solution for the design of distributed applications that operate in a mobile computing environment to cope with the high heterogeneity and variability of this environment. Mobile code techniques can be used to implement this kind of SAs since they allow us to dynamically modify the load of the hosting nodes and the internode traffic to adapt to the resources available in the nodes and to the condition of the (often wireless) network link. However, moving code among nodes has a cost (e.g., in terms of network traffic and consumed energy for mobile nodes), so designing an adaptable SA based on mobile code techniques requires a careful analysis to determine its effectiveness since early design stages. In this respect, our main contribution consists of a methodology, called ASAP (Adaptable Software Architectures Performance), to automatically derive, starting from a design model of a mobility-based SA, a Markov model whose solution provides insights about the most effective adaptation strategy based on code mobility in a given execution environment. We assume that the SA model is expressed using the Unified Modeling Language (UML) because of its widespread use in software design, also suggesting some extension to this formalism to better express the "mobility structure" of the application, i.e., which are the mobile components, and the possible targets of their movement.

[1] M. Baldi and G.P. Picco, “Evaluating the Tradeoffs of Mobile Code Design Paradigms in Network Management Applications,” Proc. Conf. Software Eng., pp. 146-155, Apr. 1998.
[2] L. Bass et al., Software Architecture in Practice, Addison Wesley Longman, 1997.
[3] I. Ben-Shaul, H. Gazit, Y. Gidron, O. Holder, and B. Lavva, “FarGo: A System for Mobile Component-Based Application Development,” Proc. ACM Int'l Conf. Software Eng. (ICSE '99), 1999.
[4] J. Bolliger and T. Gross, “A Framework-Based Approach to the Development of Network-Aware Applications,” IEEE Trans. Software Eng., vol. 24, no. 5, pp. 376-389, May 1998.
[5] G. Booch, J. Rumbaugh, and I. Jacobson, The Unified Modeling Language User Guide. Addison Wesley, 1999.
[6] V. Cortellessa and V. Grassi, “A Peformance Based Methodology to Early Evaulate the Effectiveness of Mobile Software Architectures,” J. Logic and Applied Programming, no. 51, pp. 77-100, 2002.
[7] V. Cortellessa, G. Iazeolla, and R. Mirandola, “Early Performance Verification for Object-Oriented Software Systems,” IEE Proc. Software, July 2000.
[8] A. Fuggetta, G. Picco, and G. Vigna, "Understanding Code Mobility," IEEE Trans. Software Eng., May 1998, pp. 352-361.
[9] V. Grassi and R. Mirandola, “Modelling and Performance Analysis of Mobile Software Architectures in a UML Framework,” Proc. Fourth Int'l Conf. Unified Modeling Language (<<UML>>2001), 2001.
[10] V. Grassi and R. Mirandola, “PRIMAmob-UML: A Methodology for Performance Analysis of Mobile Ssoftware Architectures,” WOSP 2002: Proc. Third ACM Int'l Workshop Software and Performance, July 2002.
[11] A.D. Joseph, J.A. Tauber, and M.F. Kaashoek, “Mobile Computing with the Rover Toolkit,” IEEE Trans. Computers, vol. 46, no. 2, Feb. 1997.
[12] P. Kahkipuro, “UML Based Performance Modeling Framework for Object-Oriented Distributed Systems,” Proc. Second Int'l Conf. Unified Modeling Language, 1999.
[13] D. Kotz, G. Jiang, R. Gray, G. Cybenko, and R.A. Peterson, “Performance Analysis of Mobile Agents for Filtering Data Streams on Wireless Networks,” Proc. Third Int'l Workshop Modeling, Analysis, and Simulation of Wireless and Mobile Systems (MSWiM 2000), Aug. 2000.
[14] T. Lewis, “The Ubiquitous Internet Will Be Wireless,” Computer, vol. 32, no. 10, Oct. 1999.
[15] M. Margaritidis and G.C. Polyzos, “Adaptation Techniques for Ubiquitous Internet Multimedia,” Wireless Comm. and Mobile Computing, vol. 1, no. 2, pp. 141-163, Apr.-June 2001.
[16] R. Mirandola and V. Cortellessa, “UML Based Performance Modeling of Distributed Systems,” Proc. Third Int'l Conf. Unified Modeling Language, 2000.
[17] MONET, Mobile Networks and Applications (special issue on Energy Conserving Protocols), vol. 6, no. 3, June 2001.
[18] B.D. Noble, M. Satyanarayanan, D. Narayanan, J.E. Tilton, J. Flinn, and K.R. Walker, "Agile Application-Aware Adaptation for Mobility," Proc. 16th ACM Symp. Operating System Principles, pp. 276-287, Oct. 1997.
[19] M. Othman and S. Hailes, “Power Conservation Strategy for Mobile Computers Using Load Sharing,” Mobile Computing and Comm. Rev., vol. 2, no. 1, pp. 44-50, Jan. 1998.
[20] D. Petriu, “Deriving Performance Models from UML Models by Graph Transformation,” Tutorials Second Int'l Workshop Software and Performance (WOSP 2000), Sept. 2000.
[21] D. Petriu, C. Shousha, and A. Jalnapurkar, “Architecture Based Performance Analysis Applied to a Telecommunication System,” IEEE Trans. Software Eng., vol. 26, no. 11, Nov. 2000.
[22] E. Pitoura and G. Samaras, Data Management for Mobile Computing. Kluwer Academic, 1997.
[23] R. Pooley and P. King, The Unified Modeling Language and Performance Engineering Proc. IEE Software, pp. 2-10, 1999.
[24] A. Puliafito, S. Riccobene, and M. Scarpa, “An Analytical Comparison of the Client-Server, Remote Evaluation and Mobile Agent Paradigms,” Proc. First Int'l Symp. Agent Systems and Applications and Third Int'l Symp. Mobile Agents (ASA/MA '99), Oct. 1999.
[25] M.L. Puterman, Markov Decision Processes. J. Wiley&Sons, 1994.
[26] A. Rudenko, P. Reiher, G.J. Popek, and G.H. Kuenning, “Saving Portable Computer Battery Power through Remote Process Execution,” Mobile Computing and Comm. Rev., vol. 2, no. 1, pp. 19-26, Jan. 1998.
[27] G. Samaras, M. Dikaiakos, C. Spyrou, and A. Liberdos, “Mobile Agent Platforms for Web-Databases: A Qualitative and Quantitative Assessment,” Proc. the Joint Symp. (ASA/MA '99), Proc. First Int'l Symp. Agent Systems and Applications (ASA '99), Proc. Third Int'l Symp. Mobile Agents (MA '99), pp. 50-64, 1999.
[28] “UML Profile for Schedulability, Performance, and Time Specification,” , 2002.
[29] C.U. Smith and L. Williams, Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Addison-Wesley, 2001.
[30] T. Spalink, J.H. Hartman, and G. Gibson, “The Effects of a Mobile Agent on File Service,” Proc. First Int'l Symp. Agent Systems and Applications and Third Int'l Symp. Mobile Agents (ASA/MA '99), Oct. 1999.
[31] B. Spitznagel and D. Garlan, “Architecture-Based Performance Analysis,” Proc. 1998 Conf. Software Eng. and Knowledge Eng., June 1998.
[32] M. Stemm and R.H. Katz, “Measuring and Reducing Energy Consumption of Network Interfaces in Hand-Held Devices,” IEICE Trans. Comm. (special issue on Mobile Computing), 1997.
[33] M. Strasser and M. Schwehm, “A Performance Model for Mobile Agent System,” Proc. Int'l Conf. Parallel and Distributed Processing Techniques and Applications (PDPTA '97), H.R. Arabnia, ed., vol. II, pp. 1132-1140, 1997.
[34] U. Varshney and R. Vetter, “Emerging Mobile and Wireless Networks,” Comm. ACM, vol. 43, no. 6, pp. 73-81, June 2000.
[35] G. Welling and B.R. Badrinath, “An Architecture for Exporting Environment Awareness to Mobile Computing Applications,” IEEE Trans. Software Eng., vol. 24, no. 5, pp. 391-400, May 1998.
[36] WOSP 2000, Proc. and Tutorials of the Second Int'l Workshop Software and Performance, Sept. 2000.
[37] S.M. Yacoub, B. Cukic, and H.H. Ammar, “Scenario-Based Reliability Analysis of Component-Based Software,” Proc. Int'l Symp. Software Reliability Eng. (ISSRE '99), Nov. 1999.

Index Terms:
Software architecture, mobile code, mobile host, adaptation, UML, performance analysis, Markov decision process.
Vincenzo Grassi, Raffaela Mirandola, "Derivation of Markov Models for Effectiveness Analysis of Adaptable Software Architectures for Mobile Computing," IEEE Transactions on Mobile Computing, vol. 2, no. 2, pp. 114-131, April-June 2003, doi:10.1109/TMC.2003.1217232
Usage of this product signifies your acceptance of the Terms of Use.