School of Informatics, University of Northumbria, UK
Thursday July 20, 2003
Producing diagrams is in the domain of Metafont and Metapost. Metafont provides enough features to layout a UML diagram. Metapost is used in this work as it uses the features found in Metafont and allows text to be typeset in the diagram.
The project has needed to define a set of web metatools. A single web file usually corresponds to a single source code file, which corresponds to a class in the diagram. As the diagram contains several classes, it needs to combine elements from several webs. Each web file contributes a class to a class diagram, just as each web contributes a C file to a project which are then compiled and linked together.
As well as developing a set of Metapost primitives for UML, this project has also proposed extending the tags for cweb to allow elements of the diagram to be constructed. These tags also interact with the metatool to allow extraction of the diagram elements. As this tool may be introduced to undergraduates, a port to work with Java (jweb) is underway (Java is the teaching language in this School).
A discussion is made of how to identify public and private equivalents
of methods when using ANSI C. This being a preferred language (over
C++) for embedded systems. Cweb is being introduced to colleagues in
the school and suggested for use on a Masters in embedded systems.
Literate Programming has also been suggested as a way to help students
think about the design (engineering) of program code, by concentrating
on the documentation rather than the coding.
It may play a role in both teaching and research.