Generic Model Assist

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8107)


Model assist is a feature of modelling environments aiding their users with entering well-formed models into an editor. Current implementations of model assist are mostly hard-coded in the editor and duplicate the logic captured in the environment’s validation methods used for post hoc checking of models for well-formedness. We propose a fully declarative approach which computes legal model assists from a modelling language’s well-formedness rules via constraint solving, covering a large array of assistance scenarios with only minor differences in the assistance specifications. We describe an implementation of our approach and evaluate it on 299 small to medium size open source models. Although more research will be needed to explore the boundaries of our approach, first results presented here suggest that it is feasible.


Class Diagram Sequence Diagram Constraint Solver Control Change Navigation Path 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    Cabot, J., Clarisó, R., Riera, D.: UMLtoCSP: A tool for the formal verification of UML/OCL models using constraint programming. In: Proc. of ASE, pp. 547–548 (2007)Google Scholar
  3. 3.
    CHOCO Team choco: an Open Source Java Constraint Programming Library (Research Report 10-02-INFO, Ecole des Mines de Nantes, 2010) Google Scholar
  4. 4.
  5. 5.
    EMF Metamodel Version 2.8.1,
  6. 6.
    Egyed, A.: Instant consistency checking for the UML. In: Proc. of ICSE, pp. 381–390 (2006)Google Scholar
  7. 7.
    Egyed, A., Letier, E., Finkelstein, A.: Generating and evaluating choices for fixing inconsis-tencies in UML design models. In: Proc. of ASE, pp. 99–108 (2008)Google Scholar
  8. 8.
    Hessellund, A., Czarnecki, K., Wąsowski, A.: Guided development with multiple domain-specific languages. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 46–60. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  9. 9.
    Hill, J.H.: Measuring and reducing modeling effort in domain-specific modeling languages with examples. In: Proc. of ECBS, pp. 120–129 (2011)Google Scholar
  10. 10.
  11. 11.
    Janota, M., Kuzina, V., Wąsowski, A.: Model construction with external constraints: An interactive journey from semantics to syntax. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 431–445. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  12. 12.
    Kuschke, T., Mäder, P., Rempel, P.: Recommending auto-completions for software modeling activities. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 170–186. Springer, Heidelberg (2013)Google Scholar
  13. 13.
    Mazanek, S., Maier, S., Minas, M.: Auto-completion for diagram editors based on graph grammars. In: Proc. of VL/HCC, pp. 242–245 (2008)Google Scholar
  14. 14.
    Nechypurenko, A., Wuchner, E., White, J., Schmidt, D.C.: Applying model intelligence frameworks for deployment problem in real-time and embedded systems. In: Kühne, T. (ed.) MoDELS 2006. LNCS, vol. 4364, pp. 143–151. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  15. 15.
    Object Management Group Unified Modeling Language Superstructure Version 2.3,
  16. 16.
    Object Management Group Object Constraint Language Version 2.2,
  17. 17.
  18. 18.
    Papyrus UML Editor,
  19. 19.
    Pati, T., Feiock, D.C., Hill, J.H.: Proactive modeling: auto-generating models from their semantics and constraints. In: Proc. of DSM, pp. 7–12 (2012)Google Scholar
  20. 20.
    Pinna Puissant, J., Van Der Straeten, R., Mens, T.: Badger: A regression planner to resolve design model inconsistencies. In: Vallecillo, A., Tolvanen, J.-P., Kindler, E., Störrle, H., Kolovos, D. (eds.) ECMFA 2012. LNCS, vol. 7349, pp. 146–161. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  21. 21.
  22. 22.
    Sen, S., Baudry, B., Vangheluwe, H.: Domain-specific model editors with model completion. In: Giese, H. (ed.) MODELS 2008. LNCS, vol. 5002, pp. 259–270. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  23. 23.
    Sen, S., Baudry, B., Vangheluwe, H.: Towards domain-specific model editors with automatic model completion. Simulation 86(2), 109–126 (2010)CrossRefGoogle Scholar
  24. 24.
    Steimann, F., Kollee, C., von Pilgrim, J.: A refactoring constraint language and its application to Eiffel. In: Mezini, M. (ed.) ECOOP 2011. LNCS, vol. 6813, pp. 255–280. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  25. 25.
    Steimann, F.: Constraint-based model refactoring. In: Whittle, J., Clark, T., Kühne, T. (eds.) MODELS 2011. LNCS, vol. 6981, pp. 440–454. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  26. 26.
    Steimann, F., von Pilgrim, J.: Constraint-based refactoring with foresight. In: Noble, J. (ed.) ECOOP 2012. LNCS, vol. 7313, pp. 535–559. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  27. 27.
    Steimann, F.: From well-formedness to meaning preservation: Model refactoring for almost free. SoSyM (in print)Google Scholar
  28. 28.
    Tip, F., Fuhrer, R.M., Kiezun, A., Ernst, M.D., Balaban, I., De Sutter, B.: Refactoring using type constraints. ACM Trans. Program. Lang. Syst. 33(3), 9 (2011)CrossRefGoogle Scholar
  29. 29.
  30. 30.
    Woolf, B.: Null Object. In: Pattern Languages of Program Design, vol. 3. Addison-Wesley (1998)Google Scholar
  31. 31.
    Xiong, Y., Hu, Z., Zhao, H., Song, H., Takeichi, M., Mei, H.: Supporting automatic model incon-sistency fixing. In: Proc. of ESEC/SIGSOFT FSE, pp. 315–324 (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  1. 1.Lehrgebiet Programmiersysteme, Fernuniversität in HagenHagenGermany

Personalised recommendations