ABSTRACT
Developing pervasive computing applications is a difficult task because it requires to deal with a wide range of issues: heterogeneous devices, entity distribution, entity coordination, low-level hardware knowledge. . . Besides requiring various areas of expertise, programming such applications involves writing a lot of administrative code to glue technologies together and to interface with both hardware and software components.
This paper proposes a generative programming approach to providing programming, execution and simulation support dedicated to the pervasive computing domain. This approach relies on a domain-specific language, named DiaSpec, dedicated to the description of pervasive computing systems. Our generative approach factors out features of distributed systems technologies, making DiaSpec-specified software systems portable.
The DiaSpec compiler is implemented and has been used to generate dedicated programming frameworks for a variety of pervasive computing applications, including detailed ones to manage the building of an engineering school.
- Jonathan Aldrich, Craig Chambers, and David Notkin. ArchJava: connecting software architecture to implementation. In ICSE '02: Proceedings of the 24th International Conference on Software Engineering, pages 187--197, New York, NY, USA, 2002. ACM. ISBN 1-58113-472-X. doi: 10.1145/581339.581365. Google Scholar
Digital Library
- Jonathan Aldrich, Vibha Sazawal, Craig Chambers, and David Notkin. Language support for connector abstractions. In Luca Cardelli, editor, Proceedings ECOOP 2003, volume 2743 of Lecture Notes in Computer Science, pages 74--102, Darmstadt, Germany, 2003. Springer. doi: 10.1007/b11832. URL http://dblp.uni-trier.de/rec/bibtex/conf/ecoop/AldrichSCN03.Google Scholar
- Robert J. Allen. A Formal Approach to Software Architecture. Ph.D. thesis, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA, USA, May 1997. URL http://www.cs.cmu.edu/afs/cs/project/able/www/paper_abstracts/rallen_thesis.htm. Google Scholar
Digital Library
- Pam Binns, Matt Engelhart, Mike Jackson, and Steve Vestal. Domainspecific software architectures for guidance, navigation, and control. International Journal of Software Engineering and Knowledge Engineering, 6(2):201--227, 1996. doi: 10.1142/S0218194096000107.Google Scholar
Cross Ref
- Julien Bruneau, Wilfried Jouve, and Charles Consel. Diasim, a parameterized simulator for pervasive computing applications. In Proceedings of the 6th International Conference on Mobile and Ubiquitous Systems: Computing, Networking and Services (Mobiquitous'09), Toronto, CAN, jul 2009. ICST/IEEE.Google Scholar
- World Wide Web Consortium. Web services architecture, 2004. http://www.w3.org/TR/ws-arch/.Google Scholar
- Anind K. Dey, Gregory D. Abowd, and Daniel Salber. A conceptual framework and a toolkit for supporting the rapid prototyping of contextaware applications. Human-Computer Interaction, 16(2):97--166, 2001. ISSN 0737-0024. Google Scholar
Digital Library
- Troy Bryan Downing. Java RMI: Remote Method Invocation. IDG Books Worldwide, Inc., Foster City, CA, USA, 1998. ISBN 0764580434. Google Scholar
Digital Library
- Torbjörn Ekman and Görel Hedin. The JastAdd system - modular extensible compiler construction. Science of Computer Programming, 69(1-3): 14--26, 2007. ISSN 0167-6423. doi: 10.1016/j.scico.2007.02.003. Google Scholar
Digital Library
- Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Reading, Mass., 1995. ISBN 0-201-63361-2-(3). Google Scholar
Digital Library
- David Garlan, Robert T. Monroe, and David Wile. Acme: Architectural description of component-based systems. In Gary T. Leavens and Murali Sitaraman, editors, Foundations of Component-Based Systems, chapter 3, pages 47--67. Cambridge University Press, New York, NY, USA, 2000. Google Scholar
Digital Library
- Jevgeni Kabanov and Rein Raudjärv. Embedded typesafe domain specific languages for Java. In PPPJ '08: Proceedings of the 6th international symposium on Principles and Practice of Programming in Java, pages 189--197, New York, NY, USA, 2008. ACM. ISBN 978-1-60558-223-8. doi: 10.1145/1411732.1411758. Google Scholar
Digital Library
- David C. Luckham, John L. Kenney, Larry M. Augustin, James Vera, Doug Bryan, and Walter Mann. Specification and Analysis of System Architecture Using Rapide. IEEE Transactions on Software Engineering, 21(4):336--355, April 1995. URL ftp://pavg.stanford.edu/pub/Rapide-1.0/tse94.ps.Z. Google Scholar
Digital Library
- Jeff Magee and Jeff Kramer. Dynamic structure in software architectures. In SIGSOFT '96: Proceedings of the 4th ACM SIGSOFT symposium on Foundations of software engineering, pages 3--14, San Francisco, CA, USA, 1996. ACM. ISBN 0-89791-797-9. doi: 10.1145/239098.239104. Google Scholar
Digital Library
- Miquel Martin and Petteri Nurmi. A generic large scale simulator for ubiquitous computing. In Third Annual International Conference on Mobile and Ubiquitous Systems: Networking&Services, 2006 (MobiQuitous 2006), San Jose, CA, USA, July 2006. IEEE Computer Society. doi: 10.1109/MOBIQ.2006.340388. Poster.Google Scholar
Cross Ref
- Nenad Medvidovic and Richard N. Taylor. A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering, 26(1):70--93, 2000. ISSN 0098-5589. doi: 10.1109/32.825767. Google Scholar
Digital Library
- Julien Mercadal, Nicolas Palix, Charles Consel, and Julia Lawall. Pantaxou: a domain-specific language for developing safe coordination services. In Proceedings of the Seventh International Conference on Generative Programming and Component Engineering (GPCE), pages 149--160, Nashville, TN, USA, October 2008. Acm Press. doi: 10.1145/1449913.1449936. Google Scholar
Digital Library
- Mark Moriconi and Robert A. Riemenschneider. Introduction to SADL 1.0: A language for specifying software architecture hierarchies. Sri-csl-97-01, SRI International, mar 1997.Google Scholar
- OMG. The common object request broker: Architecture and specification. Technical Report 2.0, Object Management Group, 1995.Google Scholar
- Anand Ranganathan, Shiva Chetan, Jalal Al-Muhtadi, Roy H. Campbell, and M. Dennis Mickunas. Olympus: A high-level programming model for pervasive computing environments. In PERCOM '05: Proceedings of the Third IEEE International Conference on Pervasive Computing and Communications, pages 7--16, Washington, DC, USA, 2005. IEEE Computer Society. ISBN 0-7695-2299-8. doi: 10.1109/PERCOM.2005.26. Google Scholar
Digital Library
- Manuel Román, Christopher Hess, Renato Cerqueira, Anand Ranganathan, Roy H. Campbell, and Klara Nahrstedt. A middleware infrastructure for active spaces. IEEE Pervasive Computing, 1(4):74--83, 2002. ISSN 1536-1268. doi: 10.1109/MPRV.2002.1158281. Google Scholar
Digital Library
- Jonathan Rosenberg, Henning Schulzrinne, Gonzalo Camarillo, Alan Johnston, Jon Peterson, Robert Sparks, Mark Handley, and Eve Schooler. SIP: Session Initiation Protocol. Technical report, RFC 3261, August 2002. http://www.ietf.org/rfc/rfc3261.txt.Google Scholar
- João Costa Seco and Luís Caires. A basic model of typed components. In ECOOP '00: Proceedings of the 14th European Conference on Object-Oriented Programming, pages 108--128, London, United Kingdom, 2000. Springer-Verlag. ISBN 3-540-67660-0. doi: 10.1007/3-540-45102-1_6. Google Scholar
Digital Library
- Roger Sessions. COM and DCOM: Microsoft's vision for distributed objects. John Wiley&Sons, Inc., New York, NY, USA, 1998. ISBN 0-471-19381-X. Google Scholar
Digital Library
- Mary Shaw, Robert DeLine, Daniel V. Klein, Theodore L. Ross, David M. Young, and Gregory Zelesnik. Abstractions for software architecture and tools to support them. IEEE Transactions on Software Engineering, 21(4):314--335, April 1995. ISSN 0098--5589. doi: 10.1109/32.385970. Google Scholar
Digital Library
- Vugranam C. Sreedhar. Mixin'up components. In ICSE '02: Proceedings of the 24th International Conference on Software Engineering, pages 198--207, New York, NY, USA, 2002. ACM. ISBN 1-58113-472-X. doi: 10.1145/581339.581366. Google Scholar
Digital Library
- Sun Microsystem. RPC: Remote procedure call protocol specification, version 2. Technical report, Sun Microsystem, 1988.Google Scholar
- Eric. Van Wyk, Lijesh Krishnan, Derek Bodin, and August Schwerdfeger. Attribute Grammar-Based Language Extensions for Java. Lecture Notes in Computer Science, 4609:575, 2007. Google Scholar
Digital Library
- X10. Standard and extended x10 code protocol, 1993. URL http://software.x10.com/pub/manuals/xtdcode.pdf.Google Scholar
Index Terms
A generative programming approach to developing pervasive computing systems
Recommendations
A generative programming approach to developing pervasive computing systems
GPCE '09Developing pervasive computing applications is a difficult task because it requires to deal with a wide range of issues: heterogeneous devices, entity distribution, entity coordination, low-level hardware knowledge. . . Besides requiring various areas ...
Toward autonomic pervasive computing
iiWAS '08: Proceedings of the 10th International Conference on Information Integration and Web-based Applications & ServicesThe Autonomic Pervasive Computing can simplify the complexity of the configuration, maintenance and management of pervasive environments such as smart spaces. The Pervasive Computing is a paradigm where the information processes are distributed in the ...
Provably Correct Pervasive Computing Environments
PERCOM '08: Proceedings of the 2008 Sixth Annual IEEE International Conference on Pervasive Computing and CommunicationsThe field of pervasive computing has seen a lot of exciting innovations in the past few years. However, there are currently no mechanisms for describing the properties and capabilities of pervasive computing environments in a formal manner. This makes ...







Comments