Automatic Generation of Implementations for Object-Oriented Abstractions
The authors present a general-purpose code transformation system, the POET system, for the purpose of automatic code generation from high-level behavior specifications of object-oriented abstractions to low-level efficient implementations in C++ and Java. In particular, they have developed an extended finite-state-machine-based language, iFSM, which models the behavior logic together with implementation details of arbitrary OO abstractions. They then use the POET system to automatically translate the behavior specifications to type-safe OO implementations in Java or C++. Finally, they use the POET system to automatically translate the behavior specifications to the input language of a model-checker (NuSMV) and apply model checking to validate the correctness of the specification. If the iFSM specification is correct, the approach can always generate a correct and type-safe implementation.