Recommending Auto-completions for Software Modeling Activities

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.

[1]  Robert J. Walker,et al.  Approximate Structural Context Matching: An Approach to Recommend Relevant Examples , 2006, IEEE Transactions on Software Engineering.

[2]  Emerson Murphy-Hill,et al.  Improving software developers' fluency by recommending development environment commands , 2012, SIGSOFT FSE.

[3]  Andreas Oberweis,et al.  Recommendation-based editor for business process modeling , 2011, Data Knowl. Eng..

[4]  Charles L. Forgy,et al.  Rete: a fast algorithm for the many pattern/many object pattern match problem , 1991 .

[5]  Jeffrey G. Gray,et al.  A Demonstration-based Approach to Support Live Transformations in a Model Editor , 2011, ICMT@TOOLS.

[6]  Jeffrey G. Gray,et al.  Model Transformation by Demonstration , 2009, MoDELS.

[7]  Steffen Mazanek,et al.  Auto-completion for diagram editors based on graph grammars , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[8]  Steffen Mazanek,et al.  Business Process Models as a Showcase for Syntax-Based Assistance in Diagram Editors , 2009, MoDELS.

[9]  Guido Governatori,et al.  Rule Interchange and Applications, International Symposium, RuleML 2009, Las Vegas, Nevada, USA, November 5-7, 2009. Proceedings , 2009, RuleML.

[10]  Hans Vangheluwe,et al.  Towards Domain-specific Model Editors with Automatic Model Completion , 2010, Simul..

[11]  Patrick Mäder Rule-based maintenance of post-requirements traceability , 2010 .

[12]  Adrian Paschke,et al.  Rule-Based Event Processing and Reaction Rules , 2009, RuleML.

[13]  William G. Griswold,et al.  WitchDoctor: IDE support for real-time auto-completion of refactorings , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[14]  Friedrich Steimann,et al.  Generic Model Assist , 2013, MoDELS.

[15]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[16]  Patrick Mäder,et al.  Towards automated traceability maintenance , 2012, J. Syst. Softw..

[17]  A. V. Reed,et al.  List length and the time course of recognition in immediate memory , 1976, Memory & cognition.

[18]  Ilka Philippow,et al.  Rule-Based Maintenance of Post-Requirements Traceability Relations , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[19]  Alexander Egyed,et al.  Computing repair trees for resolving inconsistencies in design models , 2012, 2012 Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering.

[20]  Andreas Oberweis,et al.  Rule-based Autocompletion of Business Process Models , 2007, CAiSE Forum.

[21]  Dániel Varró,et al.  Live Model Transformations Driven by Incremental Pattern Matching , 2008, ICMT@TOOLS.

[22]  Jim Arlow,et al.  Uml and the Unified Process: Practical Object-Oriented Analysis and Design , 2005 .

[23]  Sylvain Arlot,et al.  A survey of cross-validation procedures for model selection , 2009, 0907.4728.

[24]  Perdita Stevens A Simple Game-Theoretic Approach to Checkonly QVT Relations , 2009, ICMT@TOOLS.