Skip to main content
Log in

Proactive modeling: a new model intelligence technique

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

Notes

  1. This article focuses on graphical DSMLs, but we are aware that DSMLs can be non-graphical. Our work is also not limited to only graphical DSMLs. We refer to graphical DSMLs as just DSMLs so we do not have to continually write “graphical DSMLs”.

  2. See “Appendix” for the remaining constraints of the LMS

  3. It is assumed that such constraint violations are not automatically checked after each model modification, which is possible in GME. Instead, it is assumed that the modeler manually invokes the constraint solver to validate the model.

  4. A GME add-on is a domain-independent event handler that receives events dictating what model actions have occurred.

  5. The test cases, including the GME metamodel, used in each of the scenarios can be downloaded from the following location: https://github.com/SEDS/GAME/tree/Model_Intel_Perf_Tests/performance-tests/Model_Intelligence/scalability.

References

  1. Abrahams, D., Gurtovoy, A.: C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond. Addison-Wesley, Reading (2004)

    Google Scholar 

  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)

  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)

  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)

  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)

  6. Cook, S., Jones, G., Kent, S., Wills, A.: Domain-Specific Development With Visual Studio DSL Tools. Addison-Wesley, Reading (2007)

    Google Scholar 

  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)

  8. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    MATH  Google Scholar 

  9. Harel, D., Rumpe, B.: Meaningful modeling: what’s the semantics of “semantics”? Computer 37(10), 64–72 (2004)

    Article  Google Scholar 

  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). http://www.cs.aau.dk/marius/tron/FMT2008.pdf

  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)

  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)

  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)

  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)

  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

    Article  Google Scholar 

  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)

  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. Murphy, G.C., Kersten, M., Findlater, L.: How are java software developers using the elipse ide? IEEE Softw. 23(4), 76–83 (2006)

    Article  Google Scholar 

  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)

  20. Object Management Group: CORBA Components v4.0. Object Management Group. OMG document formal/2006-04-01 edn. (2006)

  21. Object Management Group: Object Constraint Language (2006)

  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)

  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)

  24. Schmidt, D.C.: Model-driven engineering. Computer 39(2), 25–31 (2006)

    Article  Google Scholar 

  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)

  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)

  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)

  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)

  29. Smith, C., Williams, L.: Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Addison-Wesley, Boston (2001)

    Google Scholar 

  30. Van Deursen, A., Klint, P., Visser, J.: Domain-specific languages: an annotated bibliography. Sigplan Not. 35(6), 26–36 (2000)

    Article  Google Scholar 

  31. Vangheluwe, H., Sun, X., Bodden, E.: Domain-specific modelling with AToM \(^{3}\). In: Proceedings of the OOPSLA Workshop on Domain-Specific Modeling (2004)

  32. White, J., Schmidt, D.C., Mulligan, S.: The generic eclipse modeling system. In: Model-Driven Development Tool Implementers Forum (TOOLS), vol. 7 (2007)

  33. White, J., Schmidt, D.C., Nechypurenko, A., Wuchner, E.: Domain-specific intelligence frameworks for assisting modelers in combinatorically challenging domains. In: GPCE4QoS (2006)

  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 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to James H. Hill.

Additional information

Communicated by Prof. Jon Whittle.

Appendix: Constraints for the library management system

Appendix: Constraints for the library management system

Section 2 introduced the LMS and presented a few of its constraints. The remaining constraints of the LMS are as follows:

  • Minimum number of patrons required This constraint enforces the minimum number of patrons that a library must contain. As shown in Listing 8, the constraint checks that a Library model element has at least three Patron model elements. Lastly, this is automatically generated by GME from the cardinality expressed on the containment connection between the Library and Patron model elements in Fig. 1.

    figure k
  • Minimum number of shelves required This constraint enforces the minimum number of shelves that a library must contain. As shown in Listing 9, the constraint checks that a Library model element has at least 2 Shelf model elements. Lastly, the constraint is automatically generated by GME from the cardinality expressed on the containment connection between the Library and Shelf model elements in Fig. 1.

    figure l
  • Number of librarians required This constraint checks the minimum and maximum number of librarians that work at the library. As shown in Listing 10, the constraint checks that a Library model element has at least two and at most ten Librarian model elements. The constraint shown in this listing is automatically generated by GME from the cardinality expressed on the containment connection between the Library and Librarian model elements in Fig. 1.

    figure m
  • Required age As shown in Listing 11, this constraint checks that the age of each patron who is a member of the library is at least 18 years of age. This is a domain-specific constraint is added manually by the metamodeler.

    figure n
  • Book borrowing condition This constraint validates that a patron can only borrow books that are relevant to his/her field. For example, a computer science student can only borrow books that are relevant to the field of Computer Science. As shown in Listing 12, this constraint checks the patron’s major against the book’s department. This is a domain-specific constraint that is added manually by the metamodeler.

    figure o
  • Patron referencing condition As shown in Listing 13, this constraint checks that the reference refers to a patron who belongs to another. This is a domain-specific constraint that is added manually by the metamodeler.

    figure p
  • Inter-library book borrowing limit This constraint checks that a patron belonging to other libraries can only borrow a certain number of books. As shown in Listing 14, a patron can borrow only two books from the library.

    figure q

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Pati, T., Kolli, S. & Hill, J.H. Proactive modeling: a new model intelligence technique. Softw Syst Model 16, 499–521 (2017). https://doi.org/10.1007/s10270-015-0465-1

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-015-0465-1

Keywords

Navigation