Teaching Software Engineering with Ada 95

  • Daniel Simon
  • Gunther Vogel
  • Erhard Plödereder
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3555)


At the University of Stuttgart we performed five major software projects using Ada95 in groups of six to nine third-year students. Since the year 2000, the students have produced more than 180’000 effective lines of Ada95 source code in total and delivered five different graphical tools for the navigation and manipulation of complex data structures.

In this paper, we report on our experience with these projects. First, we give a short overview, describe the software engineering curriculum, and introduce the Bauhaus reengineering project as the context of the projects. We summarise the characteristics of the projects and the applied development processes in terms of statistics. Finally, we report on the lessons we learnt when supervising the students and give recommendations for successful software projects with Ada95 in education.


Virtual Machine Software Project Computer Science Department Student Project Access Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Eisenbarth, T., Koschke, R., Plödereder, E., Girard, J.-F., Würthner, M.: Projekt Bauhaus: Interaktive und inkrementelle Wiedergewinnung von SW-Architekturen. In: 1. Workshop Software-Reengineering, Bad Honnef, Germany, pp. 17–26. Universität Koblenz-Landau (1999), Fachberichte Informatik, Nr. 7/99Google Scholar
  2. 2.
    Universität Stuttgart: Studienplan Diplomstudiengang Informatik und Diplomstudiengang Softwaretechnik (2000), Available at
  3. 3.
    Ludewig, J., Reißing, R.: Teaching what they need instead of teaching what we like – the new software engineering curriculum at the University of Stuttgart. Information and Software Technology 40, 239–244 (1998)CrossRefGoogle Scholar
  4. 4.
    Ludewig, J.: Softwaretechnik in Stuttgart – ein konstruktiver Informatik-Studiengang. Informatik-Spektrum 22 (1999)Google Scholar
  5. 5.
    Storey, M.A.D., Wong, K., Müller, H.A.: Rigi: a visualization environment for reverse engineering. In: Proc. 19th International Conference on Software Engineering, pp. 606–607. ACM Press, New York (1997)Google Scholar
  6. 6.
    Briot, E., Brobecker, J., Charlet, A.: GtkAda: Design and Implementation of a High Level Binding in Ada. In: Keller, H.B., Plödereder, E. (eds.) Ada-Europe 2000. LNCS, vol. 1845, pp. 112–124. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  7. 7.
    Briot, E., Brobecker, J., Charlet, A., Setton, N.: GtkAda: a complete Ada95 graphical toolkit (2003), Available at
  8. 8.
    Self, J.: Aflex and ayacc (1996), Available at
  9. 9.
    Eclipse Consortium: Eclipse IDE (2004), Available at
  10. 10.
    IEEE Standards Board: IEEE Standard Glossary of Software Engineering Terminology—IEEE Std 610.12 (1991)Google Scholar
  11. 11.
    Royce, W.W.: Managing the development of large software systems: concepts and techniques. In: Proc. 9th International Conference on Software Engineering, pp. 328–338. IEEE Press, Los Alamitos (1987)Google Scholar
  12. 12.
    Boehm, B.W.: A Spiral Model of Software Development and Enhancement. IEEE Computer 21, 61–72 (1988)Google Scholar
  13. 13.
    Ada Core Technologies: GNAT Ada 95 Compiler (2003), Available at
  14. 14.
    Chaplin, D.: Glade: GTK User Interface Builder (2004), Available at
  15. 15.
    Heaney, M.: Charles: A Data Structure Library for Ada95. In: Rosen, J.-P., Strohmeier, A. (eds.) Ada-Europe 2003. LNCS, vol. 2655, pp. 217–282. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Briot, E.: XML/Ada: a full XML suite (2003), Available at
  17. 17.
    Vrandečić, Z., Simon, D.: XML4Ada95 accessing XML using the DOM in ada95. In: Llamosí, A., Strohmeier, A. (eds.) Ada-Europe 2004. LNCS, vol. 3063, pp. 178–189. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  18. 18.
    Apache Software Foundation: Xerces C++ Parser (2003), Available at
  19. 19.
    Falis, E.: Aunit: Ada unit testing framework (2003), Available at
  20. 20.
    VMware, Inc.: VMWare Virtual Infrastructure (2004), Available at
  21. 21.
    Bell, A.E.: Death by UML Fever. ACM Queue 2 (2004)Google Scholar
  22. 22.
    Dawson, R.: Twenty Dirty Tricks to Train Software Engineers. In: Proc. International Conference on Software Maintenance, Limerick, Ireland, pp. 209–218. ACM Press, New York (2000)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Daniel Simon
    • 1
  • Gunther Vogel
    • 1
  • Erhard Plödereder
    • 1
  1. 1.Institut für SoftwaretechnologieUniversität StuttgartStuttgartGermany

Personalised recommendations