Elucidative Development for Model-Based Documentation

  • Claas Wilke
  • Andreas Bartho
  • Julia Schroeter
  • Sven Karol
  • Uwe Aßmann
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7304)


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.


Elucidative programming literate programming literate modelling automated documentation automated specification UML 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Wilke, C., Bartho, A., Schroeter, J., Karol, S., Aßmann, U.: Extended Version of Elucidative Development for Model-Based Documentation and Language Specification. Technical Report TUD-FI12-01-Januar 2012, TU Dresden (2012)Google Scholar
  2. 2.
    Object Management Group (OMG) Unified Modeling Language. Online available specification,
  3. 3.
    Selic, B.: On the Semantic Foundations of Standard UML 2.0. In: Bernardo, M., Corradini, F. (eds.) SFM-RT 2004. LNCS, vol. 3185, pp. 181–199. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Henderson-Sellers, B.: UML – The Good, the Bad or the Ugly? Perspectives from a panel of experts. Software and Systems Modeling 4, 4–13 (2005)CrossRefGoogle Scholar
  5. 5.
    Richters, M., Gogolla, M.: Validating UML Models and OCL Constraints. In: Evans, A., Caskurlu, B., Selic, B. (eds.) UML 2000. LNCS, vol. 1939, pp. 265–277. Springer, Heidelberg (2000)Google Scholar
  6. 6.
    Fuentes, J., Quintana, V., Llorens, J., Génova, G., Prieto-Díaz, R.: Errors in the UML metamodel? ACM SIGSOFT Software Engineering Notes 28(6) (2003)Google Scholar
  7. 7.
    Bauerdick, H., Gogolla, M., Gutsche, F.: Detecting OCL Traps in the UML 2.0 Superstructure: An Experience Report. In: Baar, T., Strohmeier, A., Moreira, A., Mellor, S.J. (eds.) UML 2004. LNCS, vol. 3273, pp. 188–196. Springer, Heidelberg (2004)Google Scholar
  8. 8.
    Wilke, C., Demuth, B.: UML is still inconsistent! How to improve OCL Constraints in the UML 2.3 Superstructure. In: Proceedings of the Workshop on OCL and Textual Modelling (OCL 2011). Electronic Communications of the EASST, vol. 44 (2011)Google Scholar
  9. 9.
    Knuth, D.E.: Literate Programming. The Computer Journal 27(2), 97–111 (1984)zbMATHCrossRefGoogle Scholar
  10. 10.
    Arlow, J., Emmerich, W., Quinn, J.A.: Literate Modelling — Capturing Business Knowledge with the UML. In: Bézivin, J., Muller, P.-A. (eds.) UML 1998. LNCS, vol. 1618, pp. 189–199. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  11. 11.
    Nørmark, K.: Elucidative programming. Nordic Journal of Computing 7, 87–105 (2000)Google Scholar
  12. 12.
    Nørmark, K.: Requirements for an Elucidative Programming Environment. In: Proceedings of the 8th International Workshop on Program Comprehension, IWPC 2000, pp. 119–128. IEEE Computer Society, Washington, DC (2000)CrossRefGoogle Scholar
  13. 13.
    Knuth, D.E., Levy, S.: The CWEB System of Structured Documentation: Version 3.0, 1st edn. Addison-Wesley Longman Publishing Co. Inc. (1994)Google Scholar
  14. 14.
    Schulze, G.: Synchronization of UML Models and Narrative Text using Model Constraints and Natural Language Processing. Master’s thesis, University of Innsbruck (2011)Google Scholar
  15. 15.
    Nørmark, K., Andersen, M., Christensen, C., Kumar, V., Staun-Pedersen, S., Sørensen, K.: Elucidative programming in Java. In: Proceedings of IPCC/SIGDOC 2000, pp. 483–495. IEEE Educational Activities Department (2000)Google Scholar
  16. 16.
    Bartho, A.: Creating and maintaining tutorials with DEFT. In: IEEE 17th International Conference on Program Comprehension (ICPC 2009), pp. 309–310. IEEE (2009)Google Scholar
  17. 17.
    Aßmann, U.: Architectural styles for active documents. Science of Computer Programming - Spec. Issue on New Software Composition Concepts 56, 79–98 (2005)Google Scholar
  18. 18.
    Nelson, T.H.: Complex information processing: a file structure for the complex, the changing and the indeterminate. In: Proceedings of the 1965 20th National Conference, pp. 84–100. ACM, New York (1965)CrossRefGoogle Scholar
  19. 19.
    Nelson, T.H.: Literary Machines, 3rd edn. Mindful Press (1981)Google Scholar
  20. 20.
    Heidenreich, F., Johannes, J., Karol, S., Seifert, M., Wende, C.: Derivation and Refinement of Textual Syntax for Models. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS, vol. 5562, pp. 114–129. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  21. 21.
    Heidenreich, F., Johannes, J., Karol, S., Seifert, M., Thiele, M., Wende, C., Wilke, C.: Integrating OCL and Textual Modelling Languages. In: Dingel, J., Solberg, A. (eds.) MoDELS 2010. LNCS, vol. 6627, pp. 349–363. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  22. 22.
    Object Management Group (OMG) Unified Modeling Language: Superstructure Version 2.4.1. Online available specification (August 2011)Google Scholar
  23. 23.
    Object Management Group (OMG) Unified Modeling Language: Superstructure Version 2.0. Online available specification (August 2005)Google Scholar
  24. 24.
    Marković, S., Baar, T.: Refactoring OCL Annotated UML Class Diagrams. In: Briand, L.C., Williams, C. (eds.) MoDELS 2005. LNCS, vol. 3713, pp. 280–294. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  25. 25.
    Hassam, K., Sadou, S., Le Gloahec, V., Fleurquin, R.: Assistance System for OCL Constraints Adaptation During Metamodel Evolution. In: Proceedings of 15th European Conference on Software Maintenance and Reengineering (CSMR 2011), pp. 151–160. Conference Publishing Services, CPS (2011)Google Scholar
  26. 26.
    Karol, S., Heinzerling, M., Heidenreich, F., Aßmann, U.: Using feature models for creating families of documents. In: Proceedings of the 10th ACM Symposium on Document Engineering, DocEng 2010, pp. 259–262. ACM, New York (2010)CrossRefGoogle Scholar
  27. 27.
    Kang, K., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Pittsburgh, PA (1990)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Claas Wilke
    • 1
  • Andreas Bartho
    • 1
  • Julia Schroeter
    • 1
  • Sven Karol
    • 1
  • Uwe Aßmann
    • 1
  1. 1.Institut für Software- und MultimediatechnikTechnische Universität DresdenDresdenGermany

Personalised recommendations