Elucidative Development for Model-Based Documentation

Documentation is an essential activity in software development, for source code as well as modelling artefacts. Typically, documentation is created and maintained manually which leads to inconsistencies as documented artefacts like source code or models evolve during development. Existing approaches like literate/elucidative programming or literate modelling address these problems by deriving documentation from software development artefacts or vice versa. However, these approaches restrict themselves to a certain kind of artefact and to a certain phase of the software development life-cycle. In this paper, we propose elucidative development as a generalisation of these approaches supporting heterogeneous kinds of artefacts as well as the analysis, design and implementation phases of the software development life-cycle. Elucidative development links source code and model artefacts into documentation and thus, maintains and updates their presentation semi-automatically. We present DEFT as an integrated development environment for elucidative development. We show, how DEFT can be applied to language specifications like the UML specification and help to avoid inconsistencies caused by maintenance and evolution of such a specification.

[1]  Lewis Winner Proceedings of the 1965 20th national conference , 1965 .

[2]  Ivar Jacobson,et al.  Unified Modeling Language , 2020, Definitions.

[3]  Uwe Aßmann,et al.  Extended Version of Elucidative Development for Model-Based Documentation and Language Specification , 2012 .

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

[5]  T. H. Nelson,et al.  Complex information processing: a file structure for the complex, the changing and the indeterminate , 1965, ACM '65.

[6]  Bran Selic On the Semantic Foundations of Standard UML 2.0 , 2004, SFM.

[7]  Uwe Aßmann,et al.  Using feature models for creating families of documents , 2010, DocEng '10.

[8]  Donald E. Knuth,et al.  Literate Programming , 1984, Comput. J..

[9]  Uwe Aßmann Architectural styles for active documents , 2005, Sci. Comput. Program..

[10]  Salah Sadou,et al.  Assistance System for OCL Constraints Adaptation during Metamodel Evolution , 2011, 2011 15th European Conference on Software Maintenance and Reengineering.

[11]  Juan Llorens Morillo,et al.  Errors in the UML metamodel? , 2003, SOEN.

[12]  Silvio Levy,et al.  The CWEB system of structured documentation - version 3.0 , 1994 .

[13]  Andreas Bartho Creating and maintaining tutorials with DEFT , 2009, 2009 IEEE 17th International Conference on Program Comprehension.

[14]  Mirko Seifert,et al.  Derivation and Refinement of Textual Syntax for Models , 2009, ECMDA-FA.

[15]  Joseph Sifakis,et al.  Tools and Applications II: The IF Toolset , 2004 .

[16]  Brian Henderson-Sellers,et al.  UML – the Good, the Bad or the Ugly? Perspectives from a panel of experts , 2005, Software & Systems Modeling.

[17]  Garry D. Coleman,et al.  Advancing the Standard , 1999 .

[18]  Wolfgang Emmerich,et al.  Literate Modelling - Capturing Business Knowledge with the UML , 1998, UML.

[19]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[20]  Thomas Baar,et al.  Refactoring OCL annotated UML class diagrams , 2005, MoDELS'05.

[21]  Martin Gogolla,et al.  Validating UML Models and OCL Constraints , 2000, UML.

[22]  Jochen Ludewig,et al.  Models in software engineering – an introduction , 2003, Software and Systems Modeling.

[23]  Birgit Demuth,et al.  Electronic Communications of the EASST Volume 44 ( 2011 ) Proceedings of the Workshop on OCL and Textual Modelling ( OCL 2011 ) UML is still inconsistent ! How to improve OCL Constraints in the UML 2 . 3 Superstructure , 2011 .

[24]  K. Normark,et al.  Elucidative Programming in Java , 2000, 18th Annual Conference on Computer Documentation. ipcc sigdoc 2000. Technology and Teamwork. Proceedings. IEEE Professional Communication Society International Professional Communication Conference an.

[25]  Kurt Nørmark,et al.  Requirements for an elucidative programming environment , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[26]  Martin Gogolla,et al.  Detecting OCL Traps in the UML 2.0 Superstructure: An Experience Report , 2004, UML.

[27]  Mirko Seifert,et al.  Integrating OCL and Textual Modelling Languages , 2010, MoDELS Workshops.

[28]  Kurt Nørmark,et al.  Elucidative Programming , 2000, Nord. J. Comput..

[29]  Arend Rensink Model Driven Architecture - Foundations and Applications, 5th European Conference, ECMDA-FA 2009, Enschede, The Netherlands, June 23-26, 2009. Proceedings , 2009, ECMDA-FA.