This thesis presents an automated software design synthesis framework known as Project Calliope. This framework aligns with Harel's automated software development process as it addresses the aspect of automating design and implementation. Project Calliope is based on a Statecharts synthesis approach in the literature. The main goal of Project Calliope is to automatically generate testable Unified Modeling Language (UML) Statecharts that are deterministic, visually manageable and UML compliant. In order to minimise design errors in the generated UML Statecharts, Project Calliope supports model checking through Statecharts execution. In addition, executable code is automatically generated based on the synthesised UML Statecharts. This framework seeks to provide a pragmatic design framework that can be readily incorporated into software development methodologies that leverage UML. In this thesis, Project Calliope is applied to three simple applications from Whittle and Schumann's examples and a case study based on a commercial application. They are automatic teller machine, coffee dispenser, an agent application, and a groupware application respectively.
|Publication status||Unpublished - 2008|