This Article 
 Bibliographic References 
 Add to: 
MobiGATE: A Mobile Computing Middleware for the Active Deployment of Transport Services
January 2006 (vol. 32 no. 1)
pp. 35-50
The use of gateway proxies is one important approach to facilitating adaptation across wireless and mobile environments. Importantly, augmented service entities deployed within the gateway proxy residing on the wired network can be composed and deployed to shield mobile clients from the effects of poor network characteristics. The usual approach to the static composition of service entities on the gateway proxy is to have these service entities interact with each other by explicitly invoking procedures on the named interface, but such a tight coupling of interfaces inhibits the flexible composition and adaptation of the service entities to the dynamic operating characteristics of wireless networks. In this paper, we present a Mobile GATEway for the Active deployment of Transport Entities or, for short, MobiGATE (pronounced Mobi-Gate). MobiGATE is a mobile middleware framework that supports the robust and flexible composition of transport entities, known as streamlets. The flow of data traffic is subjected to processing by a chain of streamlets. Each streamlet encapsulates a service entity that adapts the flow of traffic across the wireless network. To facilitate the dynamic reconfiguration of the streamlets, we advocate applying the concept of coordination as the unifying approach to composing these transport service entities. Importantly, MobiGATE delineates a clear separation of interdependent parts from the service-specific computational codes of those service entities. It does this by using a separate coordination language, called MobiGATE Coordination Language (MCL), to describe the coordination among streamlet service entities. The complete design, implementation, and evaluation of the MobiGATE system are presented in this paper. Initial experimental results validate the flexibility of the coordination approach in promoting separation-of-concern in the reconfiguration of services, while achieving low computation and delay overheads.

[1] J. Aldrich, C. Chambers, and D. Notkin, “ArchJava: Connecting Software Architecture to Implementation,” Proc. Int'l Conf. Software Eng. 2002, May 2002.
[2] R.J. Allen, “A Formal Approach to Software Architecture,” PhD thesis, CMU Technical Report CMU-CS-97-144, Carnegie Mellon Univ., May 1997.
[3] G. Anastasi, M. Conti, and W. Lapenna, “A Power-Saving Network Architecture for Accessing the Internet from Mobile Computers: Design, Implementation and Measurements,” The Computer J., vol. 46, no. 1, 2003.
[4] F. Arbab, “The IWIM Model for Coordination of Concurrent Activities,” Proc. First Int'l Conf. Coordination Models, Languages, and Applications (Coordination '96), pp. 34-56, Apr. 1996.
[5] M.R. Barbacci, C.B. Weinstock, D.L. Doubleday, M.J. Gardner, and R.W. Lichota, “Durra: A Structure Description Language for Developing Distributed Applications,” Software Eng. J., Mar. 1993.
[6] A.T.S. Chan and S.N. Chuang, “MobiPADS: A Reflective Middleware for Context-Aware Computing,” IEEE Trans. Software Eng., vol. 29, no. 12, pp. 1072-1085, Dec. 2003.
[7] A. Fox, S. Gribble, Y. Chawathe, and E. Brewer, “Adapting to Network and Client Variation Using Infrastructural Proxies: Lessons and Perspectives,” IEEE Personal Comm., vol. 5, no. 4, pp. 10-19, Aug. 1998.
[8] N. Freed, “Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types,” RFC 2046, Nov. 1996.
[9] D. Garlan, R.T. Monroe, and D. Wile, “Acme: Architectural Description of Component-Based Systems,” Foundations of Component-Based Systems, G.T. Leavens and M. Sitaraman, eds., pp. 47-68, Cambridge Univ. Press, 2000.
[10] D.C Luckham, L.M. Augustin, J.J. Kenney, J. Vera, D. Bryan, and W. Mann, “Specification and Analysis of System Architecture Using Rapide,” IEEE Trans. Software Eng., vol. 21, no. 4, pp. 336-355, Apr. 1995.
[11] J. Magee, J. Kramer, and M. Sloman, “Constructing Distributed Systems in Conic,” IEEE Trans. Software Eng., vol. 15, no. 6, June 1989.
[12] J. Magee and J. Kramer, “Dynamic Structure in Software Architectures,” Proc. Fourth ACM SIGSOFT Symp. Foundations of Software Eng., pp. 3-14, Oct. 1996.
[13] T.W. Malone and K. Crowston, “The Interdisciplinary Study of Coordination,” ACM Computing Surveys, vol. 26, pp. 87-119, 1994.
[14] C. Mascolo et al., “XMIDDLE: A Data-Sharing Middleware for Mobile Computing,” Personal and Wireless Comm. J., vol. 21, no. 1, Apr. 2002.
[15] N. Medvidovic, D.S. Rosenblum, and R.N. Taylor, “A Language and Environment for Architecture-Based Software Development and Evolution,” Proc. 21st Int'l Conf. Software Eng. (ICSE '99), pp. 44-53, May 1999.
[16] P.K. McKinley, U.I. Padmanabhan, N. Ancha, and S.M. Sadjadi, “Composable Proxy Services to Support Collaboration on the Mobile Internet,” IEEE Trans. Computers, vol. 52, no. 6, June 2003.
[17] P.K. McKinley, S.M. Sadjadi, E.P. Kasten, and B.H.C. Cheng, “Composing Adaptive Software,” Computer, vol. 37, no. 7, pp. 56-64, July 2004.
[18] A.L. Murphy, G.P. Picco, and G.-C. Roman, “LIME: A Middleware for Physical and Logical Mobility,” Proc. 21st Int'l Conf. Distributed Computing Systems, pp. 524-533, Apr. 2001.
[19] Nat'l Inst. Standards and Tech nology, “NIST Net,” http://snad.ncsl.nist.govnistnet/, 2006.
[20] B. Noble, M. Satyanarayanan, D. Narayanan, J. Tilton, J. Flinn, and K. Walker, “Agile Application-Aware Adaptation for Mobility,” Proc. Symp. Operating System Principles, Nov. 1997.
[21] G.A. Papadopoulos and F. Arbab, “Coordination Models and Languages,” Advances in Computers, M.V. Zelkowitz, ed., vol. 46, pp. 329-400, Aug. 1998.
[22] M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, 1996.
[23] I. Sommerville and G. Dean, “PCL: A Language for Modeling Evolving System Architectures,” Software Eng. J., Mar. 1996.
[24] J.P. Sousa and D. Garlan, “Aura: An Architectural Framework for User Mobility in Ubiquitous Computing Environments,” Proc. Working IEEE/IFIP Conf. Software Architecture, Aug. 2002.

Index Terms:
Mobile computing, coordination languages, adaptive middleware, dynamic reconfiguration, infrastructural proxies.
Yongjie Zheng, Alvin T.S. Chan, "MobiGATE: A Mobile Computing Middleware for the Active Deployment of Transport Services," IEEE Transactions on Software Engineering, vol. 32, no. 1, pp. 35-50, Jan. 2006, doi:10.1109/TSE.2006.11
Usage of this product signifies your acceptance of the Terms of Use.