Abstract
Auto-completion of textual inputs benefits software developers using IDEs. However, graphical modeling tools used to design software do not provide this functionality. The challenges of recommending auto-completions for graphical modeling activities are largely unexplored. Recommending such auto-completions requires detecting meaningful partly completed activities, tolerating variance in user actions, and determining most relevant activities that a user wants to perform. This paper proposes an approach that works in the background while a developer is creating or evolving models and handles all these challenges. Editing operations are analyzed and matched to a predefined but extensible catalog of common modeling activities for structural UML models. In this paper we solely focus on determining recommendations rather than automatically completing activities. We demonstrated the quality of recommendations generated by our approach in a controlled experiment with 16 students evolving models.We recommended 88% of a user’s activities within a short list of ten recommendations.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Arlow, J., Neustadt, I.: UML and the unified process: practical object-oriented analysis and design, 2nd edn. Addison-Wesley (2006) ISBN 0-321-32127-8
Fowler, M.: Refactoring: improving the design of existing code, 19th edn. Addison-Wesley (2006) ISBN 0-201-48567-2
University of Illinois at Chicago: Optimizing the object design model: Course notes for object-oriented software engineering, http://www.cs.uic.edu/~jbell/CourseNotes/OO_SoftwareEngineering/MappingModels.html (accessed March 15, 2013)
Sun, Y., White, J., Gray, J.: Model transformation by demonstration. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 712–726. Springer, Heidelberg (2009)
Sun, Y., Gray, J., Wienands, C., Golm, M., White, J.: A demonstration-based approach to support live transformations in a model editor. In: Cabot, J., Visser, E. (eds.) ICMT 2011. LNCS, vol. 6707, pp. 213–227. Springer, Heidelberg (2011)
Ráth, I., Bergmann, G., Ökrös, A., Varró, D.: Live model transformations driven by incremental pattern matching. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 107–121. Springer, Heidelberg (2008)
Forgy, C.L.: Rete: A fast algorithm for the many pattern/many object pattern match problem. Artificial Intelligence 19(1), 17–37 (1982)
Murphy-Hill, E., Jiresal, R., Murphy, G.C.: Improving software developers’ fluency by recommending development environment commands. In: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, FSE 2012, pp. 42:1–42:11. ACM, New York (2012)
Holmes, R., Walker, R., Murphy, G.: Approximate structural context matching: An approach to recommend relevant examples. IEEE Transactions on Software Engineering 32(12), 952–970 (2006)
Koschmider, A., Hornung, T., Oberweis, A.: Recommendation-based editor for business process modeling. Data & Knowledge Engineering 70(6), 483–503 (2011)
Hornung, T., Koschmider, A., Oberweis, A.: Rule-based autocompletion of business process models. In: CAiSE Forum, vol. 247 (2007)
Foster, S.R., Griswold, W.G., Lerner, S.: Witchdoctor: Ide support for real-time auto-completion of refactorings. In: 2012 34th International Conference on Software Engineering, ICSE 2012, pp. 222–232. IEEE Press, Piscataway (2012)
Mazanek, S., Maier, S., Minas, M.: Auto-completion for diagram editors based on graph grammars. In: IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2008, pp. 242–245 (2008)
Mazanek, S., Minas, M.: Business process models as a showcase for syntax-based assistance in diagram editors. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 322–336. Springer, Heidelberg (2009)
Sen, S., Baudry, B., Vangheluwe, H.: Towards domain-specific model editors with automatic model completion. Simulation 86(2), 109–126 (2010)
Reder, A., Egyed, A.: Computing repair trees for resolving inconsistencies in design models. In: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, ASE 2012, pp. 220–229. ACM, New York (2012)
Steimann, F., Ulke, B.: Generic model assist. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 18–34. Springer, Heidelberg (2013)
Sparx Systems: Enterprise architect: A model driven uml tool suite, http://www.sparxsystems.com (accessed March 15, 2013)
IBM: Rational software architect: Colaborative systems and software design, http://www-01.ibm.com/software/rational/products/swarchitect (accessed March 15, 2013)
Mäder, P.: Rule-based maintenance of post-requirements traceability. MV Verlag (2010)
Mäder, P., Gotel, O.: Towards automated traceability maintenance. Journal of Systems and Software 85(10), 2205–2227 (2012)
Paschke, A., Kozlenkov, A.: Rule-based event processing and reaction rules. In: Governatori, G., Hall, J., Paschke, A. (eds.) RuleML 2009. LNCS, vol. 5858, pp. 53–66. Springer, Heidelberg (2009)
Red Hat: Drools 5: An integrated platform for rules, workflows and event processing, http://www.jboss.org/drools (accessed March 15, 2013)
Reed, A.V.: List length and the time course of recognition in immediate memory. Memory & Cognition 4(1), 16–30 (1976)
Arlot, S., Celisse, A.: A survey of cross-validation procedures for model selection. Statistics Surveys 4, 40–79 (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kuschke, T., Mäder, P., Rempel, P. (2013). Recommending Auto-completions for Software Modeling Activities. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds) Model-Driven Engineering Languages and Systems. MODELS 2013. Lecture Notes in Computer Science, vol 8107. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-41533-3_11
Download citation
DOI: https://doi.org/10.1007/978-3-642-41533-3_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-41532-6
Online ISBN: 978-3-642-41533-3
eBook Packages: Computer ScienceComputer Science (R0)