We discuss the design and analysis of a code generator for C++, implemented in the Umple model-oriented programming technology. Umple adds UML constructs and patterns to various base programming languages such as Java and PhP. Umple code generators create code for those constructs, which can include UML associations and state machines, as well as patterns such as immutable and singleton. Base language methods are passed through unchanged along with the generated code. Creating a C++ code generator for Umple posed many challenges, all of which are discussed in this thesis: We had to focus on the appropriate C++ idioms and stylistic conventions to follow. We followed a test-driven development process to ensure that the resulting code was correct. To evaluate the work, we compared our C++ generator with those in other tools such as ArgoUML and IBM Rational Software Architect. We conclude that our C++ generator is superior in many ways to these widely used tools because it is more complete and generates better quality code.
Identifer | oai:union.ndltd.org:uottawa.ca/oai:ruor.uottawa.ca:10393/26133 |
Date | January 2013 |
Creators | Sultan, Almaghthawi |
Contributors | Lethbridge, Timothy |
Publisher | Université d'Ottawa / University of Ottawa |
Source Sets | Université d’Ottawa |
Language | English |
Detected Language | English |
Type | Thesis |
Page generated in 0.002 seconds