Advertisement

Software & Systems Modeling

, Volume 18, Issue 2, pp 1513–1541 | Cite as

FlexiSketch: a lightweight sketching and metamodeling approach for end-users

  • Dustin WüestEmail author
  • Norbert Seyff
  • Martin Glinz
Regular Paper

Abstract

Engineers commonly use paper and whiteboards to sketch and discuss ideas in early phases of requirements elicitation and software modeling. These physical media foster creativity because they are quick to use and do not restrict in any way the form in which content can be drawn. If the sketched information needs to be reused later on, however, engineers have to spend extra effort for preserving the information in a form that can be processed by a software modeling tool. While saving information in a machine-readable way comes for free with formal software modeling tools, they typically anticipate the use of specific, predefined modeling languages and therefore hamper creativity. To combine the advantages of informal and formal tools, we have developed a flexible tool-supported modeling approach that augments a sketching environment with lightweight metamodeling capabilities. Users can create their own modeling languages by defining sketched constructs on demand and export model sketches as semiformal models. In this article, we first give an overview of FlexiSketch and then focus on an evaluation of our approach with two studies conducted with both novice modelers and experienced practitioners. Our goal was to find out how well modelers manage to use our lightweight metamodeling mechanisms, and how they build notations collaboratively. Results show that experienced modelers adopt our approach quickly, while novices have difficulties to distinguish between the model and metamodel levels and would benefit from additional guidance and user awareness features. The lessons learned from our studies can serve as advice for similar flexible modeling approaches.

Keywords

Requirements engineering Tool Sketching Ad hoc modeling Notation definition End-user metamodeling Lightweight metamodeling Collaborative metamodeling Evaluation 

Notes

Acknowledgements

We would like to thank the journal reviewers and André van der Hoek for their very valuable feedback and comments on earlier versions of this article.

References

  1. 1.
    Alvarado, C., Davis, R.: SketchREAD: a multi-domain sketch recognition engine. In: 17th Annual ACM Symposium on User Interface Software and Technology (UIST 2004), pp. 23–32. ACM (2004)Google Scholar
  2. 2.
    Branham, S., Golovchinsky, G., Carter, S., Biehl, J.T.: Let’s go from the whiteboard: supporting transitions in work through whiteboard capture and reuse. In: 28th International Conference on Human Factors in Computing Systems (CHI 2010), pp. 75–84. ACM (2010)Google Scholar
  3. 3.
    Chen, Q., Grundy, J., Hosking, J.: SUMLOW: early design-stage sketching of UML diagrams on an e-whiteboard. Softw. Pract. Exp. 38(9), 961–994 (2008)CrossRefGoogle Scholar
  4. 4.
    Cherubini, M., Venolia, G., DeLine, R., Ko, A.J.: Let’s go to the whiteboard: how and why software developers use drawings. In: 25th International Conference on Human Factors in Computing Systems (CHI 2007), pp. 557–566. ACM (2007)Google Scholar
  5. 5.
    Cho, H., Gray, J., Syriani, E.: Creating visual domain-specific modeling languages from end-user demonstration. In: 2012 ICSE Workshop on Modeling in Software Engineering (MISE), pp. 22–28 (2012)Google Scholar
  6. 6.
    Cicchetti, A., Ruscio, D.D., Eramo, R., Pierantonio, A.: Automating co-evolution in model-driven engineering. In: 12th International IEEE Enterprise Distributed Object Computing Conference (EDOC 2008), pp. 222–231. IEEE Computer Society (2008)Google Scholar
  7. 7.
    Correia, F.F., Aguiar, A.: Patterns of flexible modeling tools. In: 20th Conference on Pattern Languages of Programs (PLoP 2013). Article No. 9. The Hillside Group (2013)Google Scholar
  8. 8.
    Coyette, A., Schimke, S., Vanderdonckt, J., Vielhauer, C.: Trainable sketch recognizer for graphical user interface design. In: Baranauskas, C., Palanque, P., Abascal, J., Barbosa, S.D.J. (eds.) Human-Computer Interaction—INTERACT 2007, LNCS, vol. 4662, pp. 124–135. Springer, Berlin (2007)Google Scholar
  9. 9.
    Dekel, U., Herbsleb, J.D.: Notation and representation in collaborative object-oriented design: An observational study. SIGPLAN Not. 42(10), 261–280 (2007)CrossRefGoogle Scholar
  10. 10.
    Di Ruscio, D., Iovino, L., Pierantonio, A.: Managing the coupled evolution of metamodels and textual concrete syntax specifications. In: 39th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA 2013), pp. 114–121 (2013)Google Scholar
  11. 11.
    Do, Q., Cook, S., Campbell, P., Scott, W., Robinson, K., Power, W., Tramoundanis, D.: Requirements for a metamodel to facilitate knowledge sharing between project stakeholders. Procedia Comput. Sci. 8, 285–292 (2012)CrossRefGoogle Scholar
  12. 12.
    Ellis, T.O., Heafner, J.F., Sibley, W.L.: The GRAIL project: an experiment in man-machine communications. Tech. Rep. RAND Memorandum RM-5999-ARPA, RAND Corporation (1969)Google Scholar
  13. 13.
    Ferguson, I., Hunter, A., Hardy, C.J.: Metabuilder: the diagrammer’s diagrammer. In: Theory and Application of Diagrams. LNCS, vol. 1889, pp. 407–421. Springer (2000)Google Scholar
  14. 14.
    Gabrysiak, G., Giese, H., Lüders, A., Seibel, A.: How can metamodels be used flexibly? In: ICSE Workshop on Flexible Modeling Tools. http://www.researchgate.net/publication/235675453_How_Can_Metamodels_Be_Used_Flexibly (2011). Accessed 7 Apr 2016
  15. 15.
    Goel, V.: Sketches of Thought. The MIT Press, Cambridge (1995)Google Scholar
  16. 16.
    Golra, F.R., Beugnard, A., Dagnat, F., Guérin, S., Guychard, C.: Using free modeling as an agile method for developing domain specific modeling languages. In: 19th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS 2016), pp. 24–34. ACM (2016)Google Scholar
  17. 17.
    Gross, M.D., Do, E.Y.L.: Ambiguous intentions: a paper-like interface for creative design. In: 9th Annual ACM Symposium on User Interface Software and Technology (UIST 1996), pp. 183–192. ACM (1996)Google Scholar
  18. 18.
    Grundy, J., Hosking, J.: Supporting generic sketching-based input of diagrams in a domain-specific visual language meta-tool. In: 29th International Conference on Software Engineering (ICSE 2007), pp. 282–291. IEEE Computer Society (2007)Google Scholar
  19. 19.
    Gutwin, C., Greenberg, S.: Design for individuals, design for groups: tradeoffs between power and workspace awareness. In: 1998 ACM Conference on Computer Supported Cooperative Work (CSCW), pp. 207–216. ACM (1998)Google Scholar
  20. 20.
    Gutwin, C., Greenberg, S.: The mechanics of collaboration: Developing low cost usability evaluation methods for shared workspaces. In: 9th IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises (WETICE 2000), pp. 98–103. IEEE (2000)Google Scholar
  21. 21.
    Haller, M., Leitner, J., Seifried, T., Wallace, J.R., Scott, S.D., Richter, C., Brandl, P., Gokcezade, A., Hunter, S.: The NiCE Discussion Room: integrating paper and digital media to support co-located group meetings. In: 28th International Conference on Human Factors in Computing Systems (CHI 2010), pp. 609–618. ACM (2010)Google Scholar
  22. 22.
    Hammond, T., Davis, R.: Tahuti: a geometrical sketch recognition system for UML class diagrams. In: ACM SIGGRAPH 2006 Courses, Article No. 25, ACM (2006)Google Scholar
  23. 23.
    Hili, N.: A metamodeling framework for promoting flexibility and creativity over strict model conformance. In: 2nd Workshop on Flexible Model Driven Engineering Co-Located with ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MODELS 2016), pp. 2–11. CEUR-WS.org (2016)Google Scholar
  24. 24.
    Izquierdo, J.L.C., Cabot, J.: Collaboro: a collaborative (meta) modeling tool. Peer J. Comput. Sci. 2, e84 (2016)CrossRefGoogle Scholar
  25. 25.
    Javed, F., Mernik, M., Gray, J., Bryant, B.R.: Mars: a metamodel recovery system using grammar inference. Inf. Softw. Technol. 50(9–10), 948–968 (2008)CrossRefGoogle Scholar
  26. 26.
    Johansson, M., Arvola, M.: A case study of how user interface sketches, scenarios and computer prototypes structure stakeholder meetings. In: 21st British HCI Group Annual Conference on People and Computers: HCI... but not as we know it (BCS-HCI 2007), pp. 177–184. British Computer Society (2007)Google Scholar
  27. 27.
    Johnson, G., Gross, M.D., Hong, J., Yi-Luen Do, E.: Computational support for sketching in design: a review. Found. Trends Hum.-Comput. Interact. 2(1), 1–93 (2009)CrossRefGoogle Scholar
  28. 28.
    Kelly, S., Lyytinen, K., Rossi, M.: MetaEdit+: A fully configurable multi-user and multi-tool CASE and CAME environment. In: Constantopoulos, P., Mylopoulos, J., Vassiliou, Y. (eds.) Advanced Information Systems Engineering, LNCS, vol. 1080, pp. 1–21. Springer, Berlin (1996)Google Scholar
  29. 29.
    Kleffmann, M., Hesenius, M., Gruhn, V.: Connecting UI and business processes in a collaborative sketching environment. In: 7th ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS 2015), pp. 200–205. ACM (2015)Google Scholar
  30. 30.
    Kleppe, A.: Software Language Engineering: Creating Domain-Specific Languages Using Metamodels. Addison-Wesley Professional, Boston (2008)Google Scholar
  31. 31.
    Kuhrmann, M.: User assistance during domain-specific language design. In: ICSE Workshop on Flexible Modeling Tools. https://www4.in.tum.de/publ/papers/kuhrmann2011a.pdf (2011). Accessed 7 Apr 2016
  32. 32.
    Landay, J.A., Myers, B.A.: Sketching interfaces: toward more human interface design. Computer 34(3), 56–64 (2001)CrossRefGoogle Scholar
  33. 33.
    Lee, J.S., Tatar, D., Harrison, S.: Micro-coordination: because we did not already learn everything we need to know about working with others in kindergarten. In: 2012 ACM Conference on Computer Supported Cooperative Work (CSCW), pp. 1135–1144. ACM (2012)Google Scholar
  34. 34.
    Lee, L.C., Wei, W.J.: Comparison study on sketching behaviors with and without interactive pen displays. In: 11th International Conference on Computer Supported Cooperative Work in Design (CSCWD 2007), pp. 567–574. Springer, Berlin (2008)Google Scholar
  35. 35.
    Loksa, D., Mangano, N., LaToza, T.D., van der Hoek, A.: Enabling a classroom design studio with a collaborative sketch design tool. In: 35th International Conference on Software Engineering (ICSE 2013), pp. 1073–1082. IEEE (2013)Google Scholar
  36. 36.
    López-Fernández, J.J., Cuadrado, J.S., Guerra, E., Lara, J.: Example-driven meta-model development. Softw. Syst. Model. 14(4), 1323–1347 (2015)CrossRefGoogle Scholar
  37. 37.
    Van der Lugt, R.: Functions of sketching in design idea generation meetings. In: 4th Conference on Creativity & Cognition (C&C 2002), pp. 72–79. ACM (2002)Google Scholar
  38. 38.
    Mangano, N., Baker, A., Dempsey, M., Navarro, E., van der Hoek, A.: Software design sketching with Calico. In: 2010 IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 23–32. ACM (2010)Google Scholar
  39. 39.
    Mangano, N., LaToza, T.D., Petre, M., van der Hoek, A.: Supporting informal design with interactive whiteboards. In: 32nd International Conference on Human Factors in Computing Systems (CHI 2014), pp. 331–340. ACM (2014)Google Scholar
  40. 40.
    Mernik, M., Hrncic, D., Bryant, B.R., Sprague, A.P., Gray, J., Liu, Q., Javed, F.: Grammar inference algorithms and applications in software engineering. In: 22th International Symposium on Information, Communication and Automation Technologies (ICAT 2009), pp. 1–7. IEEE (2009)Google Scholar
  41. 41.
    Minas, M.: Generating meta-model-based freehand editors. In: 3rd International Workshop on Graph Based Tools (GraBaTs 2006), Satellite event of the 3rd International Conference on Graph Transformation, Electronic Communications of the EASST, vol. 1 (2006)Google Scholar
  42. 42.
    Ossher, H., Bellamy, R., Simmonds, I., Amid, D., Anaby-Tavor, A., Callery, M., Desmond, M., de Vries, J., Fisher, A., Krasikov, S.: Flexible modeling tools for pre-requirements analysis: conceptual architecture and research challenges. In: 2010 ACM International Conference on Object-Oriented Programming Systems Languages and Applications (OOPSLA), pp. 848–864. ACM (2010)Google Scholar
  43. 43.
    Ossher, H., John, B., Desmond, M., Bellamy, R.: Are flexible modeling tools applicable to software design discussions? IBM Tech. Rep. RC24949 (W1002-054) (2010)Google Scholar
  44. 44.
    Plimmer, B., Apperley, M.: INTERACTING with sketched interface designs: an evaluation study. In: 2004 CHI Extended Abstracts on Human Factors in Computing Systems (CHI EA), pp. 1337–1340. ACM (2004)Google Scholar
  45. 45.
    Plimmer, B., Freeman, I.: A toolkit approach to sketched diagram recognition. In: 21st British HCI Group Annual Conference on People and Computers (BCS-HCI 2007), pp. 205–213. British Computer Society (2007)Google Scholar
  46. 46.
    Qattous, H., Gray, P., Welland, R.: An empirical study of specification by example in a software engineering tool. In: 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM). Article No. 16. ACM (2010)Google Scholar
  47. 47.
    Sánchez-Cuadrado, J., De Lara, J., Guerra, E.: Bottom-up meta-modelling: An interactive approach. In: 15th International Conference on Model-Driven Engineering Languages and Systems (MODELS 2012), pp. 3–19. Springer, Berlin (2012)Google Scholar
  48. 48.
    Sangiorgi, U.B., Barbosa, S.D.: Sketch: Modeling using freehand drawing in eclipse graphical editors. In: ICSE Workshop on Flexible Modeling Tools. http://www.academia.edu/369660/SKETCH_Modeling_Using_Freehand_Drawing_In_Eclipse_Graphical_Editors (2010). Accessed 7 Apr 2016
  49. 49.
    Sangiorgi, U.B., Beuvens, F., Vanderdonckt, J.: User interface design by collaborative sketching. In: 2012 ACM Conference on Designing Interactive Systems (DIS), pp. 378–387. ACM (2012)Google Scholar
  50. 50.
    Scharf, A., Amma, T.: Dynamic injection of sketching features into GEF based diagram editors. In: 35th International Conference on Software Engineering (ICSE 2013), pp. 822–831. IEEE Press (2013)Google Scholar
  51. 51.
    Shih, P.C., Nguyen, D.H., Hirano, S.H., Redmiles, D.F., Hayes, G.R.: GroupMind: Supporting idea generation through a collaborative mind-mapping tool. In: 2009 ACM International Conference on Supporting Group Work (GROUP), pp. 139–148. ACM (2009)Google Scholar
  52. 52.
    Sottet, J., Biri, N.: JSMF: a javascript flexible modelling framework. In: 2nd Workshop on Flexible Model Driven Engineering co-located with ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems (MODELS 2016), pp. 42–51. CEUR-WS.org (2016)Google Scholar
  53. 53.
    Sutherland, I.E.: Sketchpad: a man-machine graphical communication system. Ph.D. thesis, Massachusetts Institute of Technology, Department of Electrical Engineering (1963)Google Scholar
  54. 54.
    Tang, J.C.: Findings from observational studies of collaborative work. Int. J. Man Mach. Stud. 34(2), 143–160 (1991)MathSciNetCrossRefGoogle Scholar
  55. 55.
    Tversky, B.: What do sketches say about thinking? In: 2002 AAAI Spring Symposium on sketch understanding. AAAI Press (2002)Google Scholar
  56. 56.
    Volz, B., Zeising, M., Jablonski, S.: The open meta modeling environment. In: ICSE Workshop on Flexible Modeling Tools. http://www.researchgate.net/publication/266871141_The_Open_Meta_Modeling_Environment (2011). Accessed 7 Apr 2016
  57. 57.
    Wachsmuth, G.: Metamodel adaptation and model co-adaptation. In: 21th European Conference on Object-Oriented Programming (ECOOP 2007), LNCS, vol. 4609, pp. 600–624. Springer, Berlin (2007)Google Scholar
  58. 58.
    Wouters, L.: Towards the notation-driven development of DSMLs. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) Model-Driven Engineering Languages and Systems, LNCS, vol. 8107, pp. 522–537. Springer, Berlin (2013)Google Scholar
  59. 59.
    Wüest, D., Seyff, N., Glinz, M.: FlexiSketch: a mobile sketching tool for software modeling. In: 4th International Conference on Mobile Computing, Applications and Services (MobiCASE 2012), pp. 225–244. Springer, Berlin (2013)Google Scholar
  60. 60.
    Wüest, D., Seyff, N., Glinz, M.: Semi-automatic generation of metamodels from model sketches. In: 28th IEEE/ACM International Conference on Automated Software Engineering (ASE 2013), pp. 664–669. IEEE (2013)Google Scholar
  61. 61.
    Wüest, D., Seyff, N., Glinz, M.: FLEXISKETCH TEAM: Collaborative sketching and notation creation on the fly. In: 37th International Conference on Software Engineering (ICSE 2015), pp. 685–688. IEEE Press (2015)Google Scholar
  62. 62.
    Wüest, D., Seyff, N., Glinz, M.: Sketching and notation creation with FlexiSketch Team: Evaluating a new means for collaborative requirements elicitation. In: 23rd IEEE International Requirements Engineering Conference (RE 2015), pp. 186–195. IEEE (2015)Google Scholar
  63. 63.
    Zolotas, A., Matragkas, N.D., Devlin, S., Kolovos, D.S., Paige, R.F.: Type inference in flexible model-driven engineering. In: Modelling Foundations and Applications - 11th European Conference, (ECMFA 2015), Held as Part of STAF 2015, pp. 75–91. Springer (2015)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  1. 1.Department of InformaticsUniversity of ZurichZurichSwitzerland
  2. 2.FHNWUniversity of Applied Sciences and Arts Northwestern SwitzerlandWindischSwitzerland

Personalised recommendations