Software & Systems Modeling

, Volume 13, Issue 1, pp 191–208 | Cite as

A transformation-based approach to context-aware modelling

  • Sylvain Degrandsart
  • Serge Demeyer
  • Jan Van den Bergh
  • Tom Mens
Theme Section Paper

Abstract

Context-aware computing is a paradigm for governing the numerous mobile devices surrounding us. In this computing paradigm, software applications continuously and dynamically adapt to different “contexts” implying different software configurations of such devices. Unfortunately, modelling a context-aware application (CAA) for all possible contexts is only feasible in the simplest of cases. Hence, tool support verifying certain properties is required. In this article, we introduce the CAA model, in which context adaptations are specified explicitly as model transformations. By mapping this model to graphs and graph transformations, we can exploit graph transformation techniques such as critical pair analysis to find contexts for which the resulting application model is ambiguous. We validate our approach by means of an example of a mobile city guide, demonstrating that we can identify subtle context interactions that might go unnoticed otherwise.

Keywords

Context-aware model Model transformation Critical pair analysis Context adaptation Context coverage 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Heckel, R., Küster, J., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Corradini, A., Ehrig, H., Kreowski, H., Rozenberg, G. (eds.) Graph Transformation. Lecture Notes in Computer Science, vol. 2505, pp. 161–176. Springer, Berlin (2002)Google Scholar
  2. 2.
    Bolchini C., Curino C.A., Quintarelli E., Schreiber F.A., Tanca L.: A data-oriented survey of context models. SIGMOD Rec. 36, 19–26 (2007)CrossRefGoogle Scholar
  3. 3.
    Feather M.S., Fickas S., Finkelstein A., Van Lamsweerde A.: Requirements and specification exemplars. Autom. Softw. Eng. 4, 419–438 (1997)CrossRefGoogle Scholar
  4. 4.
    Paternò, F., Santoro, C.: One model, many interfaces. In: Kolski, C., Vanderdonckt, J. (eds.) Proceedings of CADUI 2002, the 4th International Conference on Computer-Aided Design of User Interfaces, pp. 143–154. Kluwer, Dordrecht (2002)Google Scholar
  5. 5.
    Schmidt D.C.: Guest editor’s introduction: model-driven engineering. Computer 39, 25–31 (2006)CrossRefGoogle Scholar
  6. 6.
    Van den Bergh, J., Luyten, K., Coninx, K.: Cap3: context-sensitive abstract user interface specification. In: Proceedings of 3rd ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS 2011), pp. 31–40. ACM Press, June 2011Google Scholar
  7. 7.
    Schilit B., Theimer M.: Disseminating active map information to mobile hosts. IEEE Network 8(5), 22–32 (1994)CrossRefGoogle Scholar
  8. 8.
    Preuveneers, D., Van~den Bergh, J., Wagelaar, D., Georges, A., Rigole, P., Clerckx, T., Berbers, Y., Coninx, K., Jonckers, V., De~Bosschere, K.: Towards an extensible context ontology for ambient intelligence. In: Markopoulos, P., Eggen, B., Aarts, E., Crowley, J.L. (eds.) Ambient Intelligence. Lecture Notes in Computer Science, vol. 3295, pp. 148–159. Springer, Berlin (2004)Google Scholar
  9. 9.
    Dey, A.K., Abowd, G.D.: Towards a better understanding of context and context-awareness. In: CHI 2000 Workshop on the What, Who, Where, When, and How of Context-Awareness (2000)Google Scholar
  10. 10.
    Schmidt, A., Aidoo, K.A., Takaluoma, A., Tuomela, U., Van Laerhoven, K., Van de~Velde, W.: Advanced interaction in context. In: Gellersen, H.-W. (ed.) HUC. Lecture Notes in Computer Science, vol. 1707, pp. 89–101. Springer, Berlin (1999)Google Scholar
  11. 11.
    Coutaz, J., Rey, G.: Foundations for a theory of contextors. In: Kolski, C., Vanderdonckt, J. (eds.) Proceedings of 4th International Conference on Computer-Aided Design of User Interfaces (CADUI 2002), pp. 13–34. Kluwer, Dordrecht (2002)Google Scholar
  12. 12.
    Brown, P.J., Bovey, J.D., Chen, X.: Context-aware applications: from the laboratory to the marketplace. Personal Communications, IEEE [see also IEEE Wireless Commun.] 4(5), 58–64 (1997)Google Scholar
  13. 13.
    Taentzer, G.: AGG: a graph transformation environment for modeling and validation of software. In: Proc. AGTIVE 2003. Lecture Notes in Computer Science, vol. 3062, pp. 446–453. Springer, Berlin (2004)Google Scholar
  14. 14.
    Habel A., Heckel R., Taentzer G.: Graph grammars with negative application conditions. Fundam. Inform. 26(3/4), 287–313 (1996)MATHMathSciNetGoogle Scholar
  15. 15.
    Runge, O., Ermel, C., Taentzer, G.: AGG 2.0: new features for specifying and analyzing algebraic graph transformations. In: Schürr, A., Várro, D. (eds.) Fourth International Symposium of Application of Graph Transformation with Industrial Relevance (AGTIVE’11), LNCS. Springer, Berlin (2011, to appear)Google Scholar
  16. 16.
    Heckel, R., Küster, J.M., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) Proceedings of 1st Int’l Conf. Graph Transformation (ICGT 2002). Lecture Notes in Computer Science, vol. 2505, pp. 161–176. Springer, Berlin (2002)Google Scholar
  17. 17.
    Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) Proceedings of 1st Int’l Conf. Graph Transformation (ICGT 2002). Lecture Notes in Computer Science, vol. 2505. Springer, Berlin (2002)Google Scholar
  18. 18.
    Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I., Valduriez, P.: ATL: a QVT-like transformation language. In: Companion to the 21st ACM SIGPLAN Symposium on Object-oriented Programming Systems, Languages, and Applications, OOPSLA ’06, pp. 719–720, New York, NY, USA. ACM (2006)Google Scholar
  19. 19.
    Jouault, F., Kurtev, I.: Transforming models with ATL. In: Bruel, J.-M. (ed.) Satellite Events at the MoDELS 2005 Conference. Lecture Notes in Computer Science, vol. 3844, pp. 128–138. Springer Berlin-Heidelberg (2006)Google Scholar
  20. 20.
    Kurtev, I.: State of the art of QVT: a model transformation language standard. In: Schürr, I., Nagl, M., Zündorf, A. (eds.) Applications of Graph Transformations with Industrial Relevance. Lecture Notes in Computer Science, vol. 5088, pp. 377–393. Springer, Berlin, October 2008Google Scholar
  21. 21.
    Henricksen K., Indulska J.: Developing context-aware pervasive computing applications: models and approach. Pervasive Mobile Comput. 2(1), 37–64 (2006)CrossRefGoogle Scholar
  22. 22.
    Gonzalez, S., Cardozo, N., Mens, K., Cadiz, A., Libbrecht, J.-C., Goffaux, J.: Subjective-C. In: Malloy, B., Staab, S., van~den Brand,~M. (eds.) Software Language Engineering. Lecture Notes in Computer Science, vol. 6563, pp. 246–265. Springer, Berlin, Heidelberg (2011)Google Scholar
  23. 23.
    Calvary G., Coutaz J., Thevenin D., Limbourg Q., Bouillon L., Vanderdonckt J.: A unifying reference framework for multi-target user interfaces. Interact. Comput. 15(3), 289–308 (2003)CrossRefGoogle Scholar
  24. 24.
    Pribeanu, C., Limbourg, Q., Vanderdonckt, J.: Task modelling for context-sensitive user interfaces. In: Johnson, C. (ed.) DSV-IS. Lecture Notes in Computer Science, vol. 2220, pp. 49–68. Springer, Berlin (2001)Google Scholar
  25. 25.
    Limbourg, Q.: Multi-path development of user interfaces. Ph.D. thesis, Université catholique de Louvain (2004)Google Scholar
  26. 26.
    Clerckx T., Luyten K., Coninx K.: Generating context-sensitive multiple device interfaces from design. In: Jacob, R.J.K., Limbourg, Q., Vanderdonckt, J. (eds) CADUI, pp. 281–294. Kluwer, Dordrecht (2004)Google Scholar
  27. 27.
    Van den Bergh, J., Coninx, K.: Contextual concurtasktrees: integrating dynamic contexts in task based design. In: PerCom Workshops, pp. 13–17. IEEE Computer Society (2004)Google Scholar
  28. 28.
    Dey A.K., Mankoff J.: Designing mediation for context-aware applications. ACM Trans. Comput.-Hum. Interact. 12(1), 53–80 (2005)CrossRefGoogle Scholar
  29. 29.
    Van den Bergh, J., Coninx, K.: Cup 2.0: high-level modeling of context-sensitive interactive applications. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS. Lecture Notes in Computer Science, vol. 4199, pp. 140–154. Springer, Berlin (2006)Google Scholar
  30. 30.
    Lohmann, S., Kaltz, J.W., Ziegler, J.: Model-driven dynamic generation of context-adaptive web user interfaces. In: Kühne, T. (ed.) MoDELS Workshops. Lecture Notes in Computer Science, vol. 4364, pp. 116–125. Springer, Berlin (2006)Google Scholar
  31. 31.
    Fleurey, F., Solberg, A.: A domain specific modeling language supporting specification, simulation and execution of dynamic adaptive systems. In: Schrr, A., Selic, B. (eds.) Model Driven Engineering Languages and Systems. Lecture Notes in Computer Science, vol. 5795, pp. 606–621. Springer, Berlin-Heidelberg (2009)Google Scholar
  32. 32.
    Sama M., Elbaum S., Raimondi F., Rosenblum D.S., Wang Z.: Context-aware adaptive applications: Fault patterns and their automated identification. IEEE Trans. Softw. Eng. 36, 644–661 (2010)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2012

Authors and Affiliations

  • Sylvain Degrandsart
    • 1
    • 2
  • Serge Demeyer
    • 1
  • Jan Van den Bergh
    • 3
  • Tom Mens
    • 2
  1. 1.Department of Mathematics and Computer ScienceUniversiteit AntwerpenAntwerpenBelgium
  2. 2.Institut d’InformatiqueUniversité de MonsMonsBelgium
  3. 3.Expertise Centre for Digital MediaHasselt University, tUL, IBBTDiepenbeekBelgium

Personalised recommendations