CEL: Modeling everywhere

The design of object-oriented systems starts with modeling, a process to identify core concepts and their relations. Mainstream modeling techniques can be either informal (white board, CRC cards, etc.) or formal (e.g., UML editors). The former support well the creative modeling process, but their output is difficult to store, process and maintain. The latter reduce these problems, at the expense of creativity and productivity because they are tedious and not trivial to use. We present Cel, a touch- and gesture-based iPad application to rapidly create, manipulate, and store language agnostic object-oriented software models, based on a minimal set of constructs. Demo video URL: http://youtu.be/icQVS6w0jTE.

[1]  David Lorge Parnas,et al.  Software aging , 1994, Proceedings of 16th International Conference on Software Engineering.

[2]  David Notkin,et al.  Software Reflexion Models: Bridging the Gap between Design and Implementation , 2001, IEEE Trans. Software Eng..

[3]  Stephan Diehl,et al.  CREWW: collaborative requirements engineering with wii-remotes (NIER track) , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[4]  Joseph J. LaViola,et al.  Code bubbles: a working set-based interface for code understanding and maintenance , 2010, CHI.

[5]  Kenton O'Hara,et al.  Social Impact , 2019, Encyclopedia of Food and Agricultural Ethics.

[6]  Robert DeLine,et al.  Let's go to the whiteboard: how and why software developers use drawings , 2007, CHI.

[7]  Elisabetta Di Nitto,et al.  Proceedings of the IEEE/ACM international conference on Automated software engineering , 2010, ASE 2010.

[8]  Kendall Scott,et al.  UML distilled - a brief guide to the Standard Object Modeling Language (2. ed.) , 2000, notThenot Addison-Wesley object technology series.

[9]  André van der Hoek,et al.  Software design sketching with calico , 2010, ASE.

[10]  Sean McDirmid,et al.  Coding at the speed of touch , 2011, Onward! 2011.

[11]  William M. Tepfenhart,et al.  Practical Object-Oriented Development with UML and Java , 2002 .

[12]  Hans van Vliet,et al.  Software engineering - principles and practice , 1993 .

[13]  Robert DeLine,et al.  Code canvas: zooming towards better development environments , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[14]  Hans van Vliet,et al.  Software engineering (2nd ed.): principles and practice , 2000 .

[15]  Michele Lanza,et al.  Gaucho: From Integrated Development Environments to Direct Manipulation Environments , 2010 .

[16]  Tarun Jaiswal,et al.  Fundamentals of Software Engineering , 2017, Lecture Notes in Computer Science.

[17]  Philippe A. Palanque,et al.  Proceedings of the SIGCHI Conference on Human Factors in Computing Systems , 2014, International Conference on Human Factors in Computing Systems.

[18]  Hans van Vliet Software Engineering: Principles and Practice, 2nd Edition , 2000 .

[19]  Nikolai Tillmann,et al.  TouchDevelop: programming cloud-connected mobile devices via touchscreen , 2011, Onward! 2011.

[20]  David Bellin,et al.  The CRC card book , 1997 .

[21]  Jon Trinder,et al.  The Humane Interface: New Directions for Designing Interactive Systems , 2002, Interact. Learn. Environ..

[22]  Jean-Marie Favre,et al.  Foundations of Model (Driven) (Reverse) Engineering : Models - Episode I: Stories of The Fidus Papyrus and of The Solarus , 2004, Language Engineering for Model-Driven Software Development.

[23]  Jef Raskin,et al.  The Humane Interface: New Directions for Designing Interactive Systems , 2000 .

[24]  Jon Whittle,et al.  Digitally annexing desk space for software development: NIER track , 2011, 2011 33rd International Conference on Software Engineering (ICSE).