Software & Systems Modeling

, Volume 16, Issue 2, pp 499–521 | Cite as

Proactive modeling: a new model intelligence technique

  • Tanumoy Pati
  • Sowmya Kolli
  • James H. Hill
Regular Paper


This article discusses a model intelligence technique called proactive modeling. The goal of proactive modeling is to reduce the amount of manual modeling required when using a graphical DSML and to assist in step-by-step creation of a model. Proactive modeling accomplishes this goal by examining the metamodels syntax and constraints, automatically executing model modifications, and prompting the modeler for assistance when more than one valid model modification exists, but none are necessary. We have integrated proactive modeling into the generic modeling environment (GME) as a generic add-on that can operate on any domain-specific modeling language implemented in GME. Lastly, results from applying proactive modeling to several DSMLs in GME show that it can reduce modeling effort.


Proactive modeling Model intelligence Domain-specific modeling language Model-driven engineering 


  1. 1.
    Abrahams, D., Gurtovoy, A.: C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Addison-Wesley, Reading (2004)Google Scholar
  2. 2.
    Balasubramanian, K.: Model-Driven Engineering of Component-Based Distributed, Real-Time and Embedded Systems. Ph.D. thesis, Department of Electrical Engineering and Computer Science, Vanderbilt University, Nashville (2007)Google Scholar
  3. 3.
    Balasubramanian, K., Balasubramanian, J., Parsons, J., Gokhale, A., Schmidt, D.C.: A platform-independent component modeling language for distributed real-time and embedded systems. In: Proceedings of the 11th IEEE Real Time on Embedded Technology and Applications Symposium (RTAS 05), San Francisco, CA (2005)Google Scholar
  4. 4.
    Bruch, M., Monperrus, M., Mezini, M.: Learning from examples to improve code completion systems. In: 7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering (ESEC/FSE ’09), pp. 213–222, ACM, New York, NY, USA (2009)Google Scholar
  5. 5.
    Chimia-Opoka, J., Felderer, M., Lenz, C., Lange, C.: Querying UML models Using OCL and prolog: a performance study. In: International Conference on Software Testing Verification and Validation Workshop, pp. 81–88 (2008)Google Scholar
  6. 6.
    Cook, S., Jones, G., Kent, S., Wills, A.: Domain-Specific Development With Visual Studio DSL Tools. Addison-Wesley, Reading (2007)Google Scholar
  7. 7.
    Deng, G., Balasubramanian, J., Otte, W., Schmidt, D.C., Gokhale, A.: DAnCE: a QoS-enabled component deployment and configuration engine. In: Proceedings of the 3rd Working Conference on Component Deployment (CD 2005), pp. 67–82, Grenoble, France (2005)Google Scholar
  8. 8.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)MATHGoogle Scholar
  9. 9.
    Harel, D., Rumpe, B.: Meaningful modeling: what’s the semantics of “semantics”? Computer 37(10), 64–72 (2004)CrossRefGoogle Scholar
  10. 10.
    Hessel, A., Larsen, K., Mikucionis, M., Nielsen, B., Pettersson, P., Skou, A.: Testing Real-Time systems using UPPAAL. In: Formal Methods and Testing, pp. 77–117. Springer, Berlin (2008).
  11. 11.
    Hessellund, A., Czarnecki, K., Wa̧sowski, A.: Guided development with multiple domain-specific languages. In: Model Driven Engineering Languages and Systems, pp. 46–60. MODELS, Nashville, TN, USA (2007)Google Scholar
  12. 12.
    Hill, J.H.: Measuring and reducing modeling effort in domain-specific modeling languages with examples. In: 18th IEEE International Conference and Workshops on Engineering of Computer-Based Systems (ECBS), Las Vegas, NV (2011)Google Scholar
  13. 13.
    Janota, M., Kuzina, V., Wa̧sowski, A.: Model construction with external constraints: An interactive journey from semantics to syntax. In: Model Driven Engineering Languages and Systems, pp. 431–445. MODELS, Denver, CO, USA (2008)Google Scholar
  14. 14.
    Lattner, C., Adve, V.: Llvm: A compilation framework for lifelong program analysis and transformation. In: Proceedings of the International Symposium on Code Generation and Optimization: Feedback-Directed and Runtime Optimization (CGO ’04), pp. 75–86. IEEE Computer Society, Washington, DC, USA (2004)Google Scholar
  15. 15.
    Lédeczi, Á., Bakay, Á., Maróti, M., Völgyesi, P., Nordstrom, G., Sprinkle, J., Karsai, G.: Composing domain-specific design environments. Computer 34(11), 44–51 (2001). doi: 10.1109/2.963443 CrossRefGoogle Scholar
  16. 16.
    Ledeczi, A., Maroti, M., Bakay, A., Karsai, G., Garrett, J., Thomason, C., Nordstrom, G., Sprinkle, J., Volgyesi, P.: The Generic Modeling Environment, vol. 17, Workshop on Intelligent Signal Processing, Budapest, Hungary (2001)Google Scholar
  17. 17.
    Menasce, D.A., Almeida, V.A., Dowdy, L.W.: Performance by Design: Computer Capacity Planning by Example. Prentice Hall, Upper Saddle River (2004)Google Scholar
  18. 18.
    Murphy, G.C., Kersten, M., Findlater, L.: How are java software developers using the elipse ide? IEEE Softw. 23(4), 76–83 (2006)CrossRefGoogle Scholar
  19. 19.
    Nguyen, A.T., Nguyen, T.T., Nguyen, H.A., Tamrawi, A., Nguyen, H.V., Al-Kofahi, J., Nguyen, T.N.: Graph-based pattern-oriented, context-sensitive source code completion. In: Proceedings of the 2012 International Conference on Software Engineering, pp. 69–79. IEEE Press, Piscataway (2012)Google Scholar
  20. 20.
    Object Management Group: CORBA Components v4.0. Object Management Group. OMG document formal/2006-04-01 edn. (2006)Google Scholar
  21. 21.
    Object Management Group: Object Constraint Language (2006)Google Scholar
  22. 22.
    Pati, T., Hill, J.H.: Proactive modeling: Auto-generating models from their semantics and constraints. In: 12th Workshop on Domain-Specific Modeling, pp. 7–12. Tucson, AZ (2012)Google Scholar
  23. 23.
    Robbes, R., Lanza, M.: How program history can improve code completion. In: 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), pp. 317–326. IEEE (2008)Google Scholar
  24. 24.
    Schmidt, D.C.: Model-driven engineering. Computer 39(2), 25–31 (2006)CrossRefGoogle Scholar
  25. 25.
    Sen, S., Baudry, B., Mottu, J.M.: On combining multi-formalism knowledge to select models for model transformation testing. In: 1st International Conference on Software Testing, Verification, and Validation (ICST 2008), pp. 328–337. IEEE (2008)Google Scholar
  26. 26.
    Sen, S., Baudry, B., Mottu, J.M.: Automatic model generation strategies for model transformation testing. In: Theory and Practice of Model Transformations, pp. 148–164. Springer, Berlin (2009)Google Scholar
  27. 27.
    Sen, S., Baudry, B., Vangheluwe, H.: Domain-specific model editors with model completion. In: Models in Software Engineering pp. 259–270. Springer, Berlin, Heidelberg (2008)Google Scholar
  28. 28.
    Slaby, J.M., Baker, S., Hill, J.H., Schmidt, D.C.: Applying system execution modeling tools to evaluate enterprise distributed real-time and embedded system QoS. In: 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA 2006), pp. 350–362. IEEE (2006)Google Scholar
  29. 29.
    Smith, C., Williams, L.: Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Addison-Wesley, Boston (2001)Google Scholar
  30. 30.
    Van Deursen, A., Klint, P., Visser, J.: Domain-specific languages: an annotated bibliography. Sigplan Not. 35(6), 26–36 (2000)CrossRefGoogle Scholar
  31. 31.
    Vangheluwe, H., Sun, X., Bodden, E.: Domain-specific modelling with AToM \(^{3}\). In: Proceedings of the OOPSLA Workshop on Domain-Specific Modeling (2004)Google Scholar
  32. 32.
    White, J., Schmidt, D.C., Mulligan, S.: The generic eclipse modeling system. In: Model-Driven Development Tool Implementers Forum (TOOLS), vol. 7 (2007)Google Scholar
  33. 33.
    White, J., Schmidt, D.C., Nechypurenko, A., Wuchner, E.: Domain-specific intelligence frameworks for assisting modelers in combinatorically challenging domains. In: GPCE4QoS (2006)Google Scholar
  34. 34.
    White, J., Schmidt, D.C., Nechypurenko, A., Wuchner, E.: Model intelligence: an approach to modeling guidance. UPGRADE 9(2), 22–28 (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  1. 1.Department of Computer and Information ScienceIndiana University-Purdue University IndianapolisIndianapolisUSA

Personalised recommendations