Tool Support for Software Development Based on Formal Specifications in RTPA

The benefits of formal specification methodologies in software development have been identified and well researched. Their use in mainstream software development, however, continues to face a stiff resistance. A prominent reason for this resistance is the fact that there are generally not enough supporting tools to facilitate the development of software from formal specifications. This paper reports on the development of supporting tools for developing software from formal specifications in Real-Time Process Algebra (RTPA). An RTPA to Java Code Generator (RJCG) tool is developed, which combines the functionalities of the syntax checker, lexical analyzer, type checker, semantic analyzer and code generator in facilitating the development of Java code from a formal specification in RTPA. The paper demonstrates that the same concrete grammar rules combined with semantic actions can facilitate the development of a tool with multiple functionalities.