A definition-by-example approach and visual language for activity patterns in engineering disciplines

Autoři: Mario Janke aff001;  Tobias Kuschke aff001;  Patrick Mäder aff001
Působiště autorů: Software Engineering for Safety-critical Systems Group, Technische Universität Ilmenau, Ilmenau, Germany aff001
Vyšlo v časopise: PLoS ONE 15(1)
Kategorie: Research Article
doi: 10.1371/journal.pone.0226877


Modeling tools are well established in software development. A model is the result of a series of modeling activities. The ability to recognize when a user is working on a certain modeling activity opens up a range of possibilities for context-sensitive support. One possible way to support the user is offering the auto-completion of the current task. The recognition of modeling activities is typically carried out by matching event patterns against events emitted by a user’s editing operations. A user that intends to add or customize auto-completions must be able to easily understand and create activity definitions. However, defining the currently required complex event patterns is a challenging and error-prone task even for a person with an intensive knowledge of event-processing languages. In this paper, we propose the visual definition language VisPaRec accompanied by a method that allows creating activity definitions in a semi-automated and graphical way. We evaluate our visual definition language in a comparative user study against the generic event-processing language Rapide. We found that the proposed visual representation increases comprehensibility while reducing time for constructing and modifying activity definitions significantly.

Klíčová slova:

Computer software – Engines – Language – Programming languages – Software development – Swimming – Syntax – Vision


1. Foster SR, Griswold WG, Lerner S. WitchDoctor: IDE support for real-time auto-completion of refactorings. In: Software Engineering (ICSE), 2012 34th International Conference on. ICSE 2012. Piscataway, NJ, USA: IEEE Press; 2012. p. 222–232.

2. Sen S, Baudry B, Vangheluwe H. Towards domain-specific model editors with automatic model completion. Simulation. 2010;86(2):109–126. doi: 10.1177/0037549709340530

3. Born M, Brelage C, Markovic I, Pfeiffer D, Weber I. Auto-completion for Executable Business Process Models. In: Ardagna D, Mecella M, Yang J, editors. Business Process Management Workshops. vol. 17 of Lecture Notes in Business Information Processing. Springer Berlin Heidelberg; 2009. p. 510–515.

4. Mazanek S, Minas M. Business Process Models as a Showcase for Syntax-Based Assistance in Diagram Editors. In: Schürr A, Selic B, editors. Model Driven Engineering Languages and Systems. vol. 5795 of Lecture Notes in Computer Science. Springer; 2009. p. 322–336.

5. Koschmider A, Hornung T, Oberweis A. Recommendation-based editor for business process modeling. Data & Knowledge Engineering. 2011;70(6):483–503. doi: 10.1016/j.datak.2011.02.002

6. Luckham DC. The power of events: an introduction to complex event processing in distributed enterprise systems. Addison-Wesley; 2002.

7. Mäder P, Gotel O. Towards automated traceability maintenance. Journal of Systems and Software. 2012;85(10):2205–2227. doi: 10.1016/j.jss.2011.10.023 23471308

8. Mäder P, Cleland-Huang J. A visual traceability modeling language. In: International Conference on Model Driven Engineering Languages and Systems. Springer; 2010. p. 226–240.

9. Mäder P, Cleland-Huang J. A visual language for modeling and executing traceability queries. Software & Systems Modeling. 2013;12(3):537–553. doi: 10.1007/s10270-012-0237-0

10. Rath M, Akehurst D, Borowski C, Mäder P. Are graph query languages applicable for requirements traceability analysis? In: REFSQ Workshops; 2017.

11. 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, editors. Model-Driven Engineering Languages and Systems. vol. 8107 of Lecture Notes in Computer Science. Springer Berlin Heidelberg; 2013. p. 170–186.

12. Kuschke T, Mäder P. Pattern-based auto-completion of UML modeling activities. In: ACM/IEEE International Conference on Automated Software Engineering, ASE '14, Vasteras, Sweden—September 15—19, 2014; 2014. p. 551–556.

13. Kuschke T. Auto-completion Assistance for UML Modeling Activities. Technical University of Ilmenau; 2015.

14. Mäder P, Kuschke T, Janke M. Reactive Auto-completion of Modeling Activities. IEEE Transactions on Software Engineering. 2019.

15. Eckert M, Bry F, Brodt S, Poppe O, Hausmann S. A CEP babelfish: languages for Complex Event Processing and querying surveyed. In: Reasoning in Event-Based Distributed Systems. Springer; 2011. p. 47–70.

16. Luckham DC, Vera J. An event-based architecture definition language. IEEE transactions on Software Engineering. 1995;21(9):717–734. doi: 10.1109/32.464548

17. Luckham DC. Rapide: A Language and Toolset for Simulation of Distributed Systems by Partial Orderings of Events. 1996.

18. Proctor M. Drools: a rule engine for complex event processing. In: Proceedings of the 4th international conference on Applications of Graph Transformations with Industrial Relevance. Springer-Verlag; 2011. p. 2–2.

19. Red Hat. Drools Fusion for complex event processing; 2015. Available from: http://www.jboss.org/drools.

20. EsperTech Inc. Drools Fusion for complex event processing; 2019. Available from: http://esper.espertech.com/.

21. NRA France. SocEDA—CEP Editor;. Available from: https://www.soceda.org/display/soceda/CEP+Editor.

22. Nowak M, Bak J, Jedrzejek C. Graph-based Rule Editor. RuleML2012@ ECAI Challenge and Doctoral Consortium at the 6th International Symposium on Rules, Montpellier, France; 2012.

23. REWERSE Working Group I1. Strelka—An URML-Based Visual Rule Modeling Tool; 2008. Available from: http://oxygen.informatik.tu-cottbus.de/rewerse-i1/?q=Strelka.

24. Boubeta-Puig J, Ortiz G, Medina-Bulo I. A model-driven approach for facilitating user-friendly design of complex event patterns. Expert Systems with Applications. 2014;41(2):445–456. doi: 10.1016/j.eswa.2013.07.070

25. Sun Y, Gray J, White J. A demonstration-based model transformation approach to automate model scalability. Software & Systems Modeling. 2013; p. 1–27.

26. Sun Y, Gray J, Langer P, Kappel G, Wimmer M, White J. A WYSIWYG Approach to Support Layout Configuration in Model Evolution. Emerging Technologies for the Evolution and Maintenance of Software Models. 2012; p. 92–120. doi: 10.4018/978-1-61350-438-3.ch004

27. Biermann E, Ehrig K, K ohler C, Kuhns G, T antzer G, Weiss E. Graphical Definition of In-Place Transformations in the Eclipse Modeling Framework. In: Nierstrasz O, Whittle J, Harel D, Reggio G, editors. Model Driven Engineering Languages and Systems. vol. 4199 of LNCS. Springer; 2006. p. 425–439.

28. Arendt T, Biermann E, Jurack S, Krause C, Taentzer G. Henshin: Advanced Concepts and Tools for In-Place EMF Model Transformations. In: MoDELS (1); 2010. p. 121–135.

29. Fischer T, Niere J, Torunski L, Zündorf A. Story diagrams: A new graph rewrite language based on the unified modeling language and java. In: International Workshop on Theory and Application of Graph Transformations. Springer; 1998. p. 296–309.

30. Raza M, Gulwani S, Milic-Frayling N. Programming by Example Using Least General Generalizations. In: AAAI; 2014. p. 283–290.

31. Fowler M. Refactoring: improving the design of existing code. 19th ed. ISBN 0-201-48567-2. Addison-Wesley; 2006.

32. Moody DL. The “Physics” of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering. Software Engineering, IEEE Transactions on. 2009;35(6):756–779. doi: 10.1109/TSE.2009.67

33. Group SUPAV. The Stanford Rapide Project;. Available from: http://complexevents.com/stanford/rapide/.

34. Sparx Systems. Enterprise Architect: A model driven UML tool suite; 2015. Available from: http://www.sparxsystems.com.

Článek vyšel v časopise


2020 Číslo 1