A Methodology for Engineering Collaborative and Ad-hoc Mobile Applications Using SyD Middleware

·         Cover letter (doc)

·         Manuscript to be submitted to JNCA (doc)

Abstract

Today’s web applications are more collaborative and utilize standard and ubiquitous Internet protocols. We have earlier developed System on Mobile Devices (SyD) middleware to rapidly develop and deploy collaborative applications over heterogeneous and possibly mobile devices hosting web objects. In this paper, we present the software engineering methodology for developing SyD-enabled web applications and illustrate it through a case study on two representative applications: (i) A calendar of meeting application, which is a collaborative application and (ii) a travel application which is an ad-hoc collaborative application.  SyD-enabled web objects allow us to create a collaborative application rapidly with limited coding effort. In this case study, the modular software architecture allowed us to hide the inherent heterogeneity among devices, data stores, and networks by presenting a uniform and persistent object view of mobile objects interacting through XML/SOAP requests and responses. The performance results we obtained show that the application scales well as we increase the group size and adapts well within the constraints of mobile devices.

Keywords : Collaborative Applications, Ad-hoc Applications, Middleware for Mobile Devices, SyD Coordination Bonds, Mobile Web Objects, Object and Web Service Coordination

 

Team Members

·           Janaka Balasooriya

·           Anu Bourgeois

·           Arthi Hariharan

·           Praveen Madiraju

·           Srilaxmi Malladi

·           Sushil K. Prasad

 

References

 

Balasooriya, J. and Prasad, S.K. (2005). Toward Fundamental Primitives and Infrastructure Enhancements for Distributed Web Object Coordination and Workflows. Proceedings of IEEE International Conference on Web Services , Orlando, July, 2005.

 

Chakraborty, D., Joshi, A., Finin, T., and Yesha, Y.(2004). Service Composition for Mobile Environments.  Journal on Mobile Networking and Applications, Special Issue on Mobile Services, Feb. 2004.

 

Cugola, G. and  & Picco, G. P. (2002). Peer-to-Peer for Collaborative Applications. Proceedings of International Conference on Distributed Computing Systems Workshops (ICDCSW), July 2002.

 

Chef (2004). Chef Project Website, URL: http://www.chefproject.org/index.htm

 

Edwards, W. K., Newman, M.W., Sedivy, J., Smith, T., and Izadi, S. (2002). Recombinant computing and Speakeasy Approach. Proceedings of MobiCom, Atlanta, Sept., 279-286.

 

Fok, C., Roman, G. and Hackmann, G. (2004). A Lightweight Coordination Middleware for Mobile Computing. Proceedings of the 6th International Conference on Coordination Models and Languages, Italy, Feb., 135-151.

 

Fowler, M. and Scott, K (2002). UML Distilled: A Brief Guide to the Standard Object Modeling Language, Addison - Wesley publication , 2nd Edition.

 

Garbinato, B. and Rupp, P. (2003). From Ad Hoc Networks to Ad Hoc Applications. ERCIM News Journal, July.

 

Hariharan, A., Prasad, S.K., Bourgeois, A.G., Dogdu, E., Navathe, S., Sunderraman, R., and Pan, Y. (2004). A Framework for Constraint-based Collaborative Web Service Applications and a Travel Application Case Study. Proceedings of  International Symposium on Web Services and Applications, 866-872.

 

Joshi, J. (2005). A System for Rapid Configuration of Distributed Workflows over Web Services and their Handheld-based Coordination. Masters thesis, Georgia State University, 2005.

 

Kirda, E., Fenkam, P., Reif, G., and Gall, H. (2002). A service architecture for mobile teamwork. In Proceedings of the 14th international conference on Software engineering and knowledge engineering.

 

Kortuem, G. (2002). Proem: A Middleware Platform for Mobile Peer-to-Peer Computing. ACM SIGMOBILE Mobile Computing and Communications Review (MC2R),  6(4), Oct.

 

Krebs, A.M., Ionescu, M. F., Dorohonceanu, B., and Marsic, I.(2003). The DISCIPLE System for Collaboration over the Heterogeneous Web. Hawaii International Conference on Computer System Sciences.

 

Krone, O., Chantemargue, F., Dagaeff, T., Schumacher, M., and Hirsbrunner, B. (1998). Coordinating autonomous entities. The Applied Computing Review, Special issue on Coordination Models Languages and Applications.

 

Lotus. (1999). Moving from Novell Groupwise to Lotus Domino R5. IBM  Redbooks publication.

 

Lukasz Juszczyk, Schahram Dustdar (2008). A middleware for service-oriented communication in mobile disaster response environments, Proceedings of the 6th international workshop on Middleware for pervasive and ad-hoc computing, Leuven, Belgium, pp. 37-42.

 

Mascolo, C., Capra, L., and Emmerich, W. (2001). An XML-based Middleware for Peer-to-Peer Computing. Proceedings of the International Conference on Peer-to-Peer Computing , Linkoping, Sweden.

 

Morimoto, R., Gardinier, K., Noel, M., and Coca, J. (2003). Microsoft Exchange Server Unleashed.  Sams publication , 1st edition.

 

Neable, C. (2002). The .NET Compact Framework. IEEE Pervasive Computing Magazine, Oct.- Dec.

 

Novell. (2003). The GroupWise Advantage , White papers from Novell, Jan.

 

Oellermann, W.L. (2001) Architecting Web Services, Apress publication.

 

Outlook. (2001). Building Applications with Microsoft Outlook Version 2002.  Microsoft Press publication.

 

Phan,T., Huang, L., and Dulan, C. (2002). Integrating Mobile Wireless Devices Into the Computational Grid.  Proceedings of MobiCom,  Atlanta, Sep. 271-278.

 

Prasad, S.K. et al. (2003a). System on Mobile Devices (SyD): Kernel Design and Implementation. Proceedings of International Conference on Mobile Systems, Applications, and Services, Poster and Demo Presentation, San Francisco, May 5-8, 2003,

 

Prasad, S.K. et al. (2003b). Enforcing Interdependencies and Executing Transactions Atomically Over Autonomous Mobile Data Stores Using SyD Link Technology. Proceedings of Mobile Wireless Network Workshop held in conjunction with The 23rd International Conference on Distributed Computing Systems (ICDCS) , Providence, Rhode Island, May 19-22, 2003,  803-811.

 

Prasad, S.K. et al. (2003c).  Implementation of a Calendar Application Based on SyD Coordination Links.  Proceedings of 3rd  International Workshop on Internet Computing and E-Commerce in conjunction with the 17th Annual International  Parallel & Distributed Processing Symposium (IPDPS), Nice, France, Apr. 22-26.

 

Prasad, S.K. and Balasooriya, J. (2004). Web Coordination Bonds: A Simple Enhancement to Web Services Infrastructure for Effective Collaboration. Proceedings of 37th Hawaii International Conference on System Sciences (HICSS-37), Hawaii, Jan.

 

Prasad, S.K. et al.( 2004 ). System on Mobile Devices (SyD): A Middleware Testbed for Collaborative Applications over  Small Heterogeneous Devices and Data Stores. Proceedings of ACM/IFIP/USENIX 5th International Middleware Conference, Canada, Oct.

 

Prasad, S.K., and Balasooriya, J. (2005). Fundamental Capabilities of Web Coordination Bonds: Modeling Petri Nets and Expressing Workflow and Communication Patterns over Web Services. Proceedings of Hawaii International Conference on System Sciences (HICSS-38), Hawaii, Jan

 

Prasad, S.K., Bourgeois, A.G., Madiraju, P., Malladi, S., and Balasooriya, J. (2005). A Methodology for Engineering Collaborative Applications over Mobile Web Objects using SyD Middleware. Proceedings of 2005 IEEE International Conference on Web Services (ICWS 2005), Orlando, July.

 

Pressman, R.S. (1997). Software engineering: a practitioner's approach, McGraw-Hill, 4th edition, New York

 

Wu, W., Uyar, A., Bulut, H. and Fox, G. (2003). Integration of SIP VoIP and Messaging Systems with AccessGrid and H.323 Systems. Proceedings of 1st International Conference on Web Services, Las Vegas, June.  At URL:  http://www.globalmmcs.org/

 

Yamin, A., Augustin, I., Barbosa, J., Silva, J., Geyer, C., and Cavalheiro, G. (2002). Collaborative Multilevel Adaptation in Distributed Mobile Applications. Proceedings of International Conference of the Chilean Computer Science Society (SCCC), Nov.