Skip to main content

An Incremental Algorithm for High-Performance Runtime Model Consistency

  • Conference paper
Model Driven Engineering Languages and Systems (MODELS 2009)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5795))

Abstract

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.

We gratefully acknowledge the funding of the Natural Science and Engineering Research Council of Canada and the NECTAR CSCW research network.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. 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)

    Chapter  Google Scholar 

  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. 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. 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. 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)

    Article  Google Scholar 

  7. Laurillau, Y., Nigay, L.: Clover architecture for groupware. In: CSCW 2002, pp. 236–245. ACM Press, New York (2002)

    Google Scholar 

  8. Graham, T., Phillips, W., Wolfe, C.: Quality analysis of distribution architectures for synchronous groupware. In: CollaborateCom (2006)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. OMG: MDA guide version 1.0.1. Technical Report omg/03-06-01, OMG (2003)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  18. OMG: Meta object facility (MOF) 2.0 query/view/transformation specification. Technical Report formal/2008-04-03, OMG (2008)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wolfe, C., Graham, T.C.N., Phillips, W.G. (2009). An Incremental Algorithm for High-Performance Runtime Model Consistency . In: Schürr, A., Selic, B. (eds) Model Driven Engineering Languages and Systems. MODELS 2009. Lecture Notes in Computer Science, vol 5795. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04425-0_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-04425-0_27

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-04424-3

  • Online ISBN: 978-3-642-04425-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics