An Incremental Algorithm for High-Performance Runtime Model Consistency

  • Christopher Wolfe
  • T. C. Nicholas Graham
  • W. Greg Phillips
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5795)


We present a novel technique for applying two-level runtime models to distributed systems. Our approach uses graph rewriting rules to transform a high-level source model into one of many possible target models. When either model is changed at runtime, the transformation is incrementally updated. We describe the theory underlying our approach, and show restrictions sufficient for a simple and efficient implementation.

We demonstrate this implementation in Fiia.Net, our model-based toolkit for developing adaptive groupware. Developers using Fiia.Net control components and connections through a high-level conceptual runtime model. Meanwhile, the toolkit transparently maintains the underlying distributed system, and propagates failures back into the conceptual model. This approach provides high stability, and performance that is sufficiently fast for interactive applications.


Adaptive groupware runtime models incremental model transformation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Graham, T.C.N., Kazman, R., Walmsley, C.: Agility and experimentation: Practical techniques for resolving architectural tradeoffs. In: ICSE, pp. 519–528. IEEE Computer Society, Los Alamitos (2007)Google Scholar
  2. 2.
    Pinelle, D., Dyck, J., Gutwin, C.: Aligning work practices and mobile technologies: Groupware design for loosely coupled mobile groups. In: Chittaro, L. (ed.) Mobile HCI 2003. LNCS, vol. 2795, pp. 177–192. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  3. 3.
    Achterbosch, L., Pierce, R., Simmons, G.: Massively multiplayer online role-playing games: the past, present, and future. Computers in Entertainment 5(4) (2007)Google Scholar
  4. 4.
    Graham, T., Urnes, T.: Linguistic support for the evolutionary design of software architectures. In: ICSE 18, pp. 418–427. IEEE Computer Society, Los Alamitos (1996)Google Scholar
  5. 5.
    Calvary, G., Coutaz, J., Nigay, L.: From single-user architectural design to PAC*: A generic software architecture model for CSCW. In: CHI 1997, pp. 242–249. ACM Press, New York (1997)Google Scholar
  6. 6.
    Hill, R., Brinck, T., Rohall, S., Patterson, J., Wilner, W.: The Rendezvous language and architecture for constructing multi-user applications. ACM TOCHI 1(2), 81–125 (1994)CrossRefGoogle Scholar
  7. 7.
    Laurillau, Y., Nigay, L.: Clover architecture for groupware. In: CSCW 2002, pp. 236–245. ACM Press, New York (2002)Google Scholar
  8. 8.
    Graham, T., Phillips, W., Wolfe, C.: Quality analysis of distribution architectures for synchronous groupware. In: CollaborateCom (2006)Google Scholar
  9. 9.
    Morin, B., Fleurey, F., Bencomo, N., Jézéquel, J.-M., Solberg, A., Dehlen, V., Blair, G.S.: An aspect-oriented and model-driven approach for managing dynamic variability. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MoDELS 2008. LNCS, vol. 5301, pp. 782–796. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  10. 10.
    Wolfe, C., Graham, T.N., Phillips, W.G., Roy, B.: Fiia: User-centered development of adaptive groupware systems. In: EICS, pp. 275–284. ACM Press, New York (2009)CrossRefGoogle Scholar
  11. 11.
    Wolfe, C., Smith, J.D., Phillips, W.G., Graham, T.C.N.: Fiia: A model-based approach to engineering collaborative augmented reality. In: Dubois, E., Nigay, L., Gray, P. (eds.) The Engineering of Mixed Reality Systems. Springer, Heidelberg (to appear, 2009)Google Scholar
  12. 12.
    OMG: MDA guide version 1.0.1. Technical Report omg/03-06-01, OMG (2003)Google Scholar
  13. 13.
    Kurtev, I.: State of the art of QVT: A model transformation language standard. In: Schürr, A., Nagl, M., Zündorf, A. (eds.) AGTIVE 2007. LNCS, vol. 5088, pp. 377–393. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Schürr, A.: Specification of graph translators with triple graph grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) WG 1994. LNCS, vol. 903, pp. 151–163. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  15. 15.
    Giese, H., Wagner, R.: Incremental model synchronization with triple graph grammars. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 543–557. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  16. 16.
    Kindler, E., Wagner, R.: Triple Graph Grammars: Concepts, extensions, implementations, and application scenarios. Technical Report tr-ri-07-284, Department of Computer Science, University of Paderborn (June 2007)Google Scholar
  17. 17.
    Stevens, P.: A landscape of bidirectional model transformations. In: Lämmel, R., Visser, J., Saraiva, J. (eds.) Generative and Transformational Techniques in Software Engineering II. LNCS, vol. 5235, pp. 408–424. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  18. 18.
    OMG: Meta object facility (MOF) 2.0 query/view/transformation specification. Technical Report formal/2008-04-03, OMG (2008)Google Scholar
  19. 19.
    Greenyer, J., Kindler, E.: Reconciling TGGs with QVT. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MoDELS 2007. LNCS, vol. 4735, pp. 16–30. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  20. 20.
    Xiong, Y., Liu, D., Hu, Z., Zhao, H., Takeichi, M., Mei, H.: Towards automatic model synchronization from model transformations. In: Stirewalt, R.E.K., Egyed, A., Fischer, B. (eds.) ASE, pp. 164–173. ACM, New York (2007)CrossRefGoogle Scholar
  21. 21.
    Hearnden, D., Lawley, M., Raymond, K.: Incremental model transformation for the evolution of model-driven systems. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MoDELS 2006. LNCS, vol. 4199, pp. 321–335. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  22. 22.
    Bencomo, N., Grace, P., Flores, C., Hughes, D., Blair, G.S.: Genie: supporting the model driven development of reflective, component-based adaptive systems. In: Robby (ed.) ICSE, pp. 811–814. ACM, New York (2008)CrossRefGoogle Scholar
  23. 23.
    Corradini, A., Montanari, U., Rossi, F., Ehrig, H., Heckel, R., Löwe, M.: Algebraic approaches to graph transformation - Part I: Basic concepts and double pushout approach. In: Rozenberg, G. (ed.) Handbook of Graph Grammars, pp. 163–246. World Scientific, Singapore (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Christopher Wolfe
    • 1
  • T. C. Nicholas Graham
    • 1
  • W. Greg Phillips
    • 2
  1. 1.School of ComputingQueen’s UniversityKingstonCanada
  2. 2.Department of Electrical and Computer EngineeringRoyal Military College of CanadaKingstonCanada

Personalised recommendations