Unification of LARCH and Z-based Object Models to Support Algebraically-based Design Refinement: the LARCH Perspective
This research describes the feasibility of developing object-oriented LARCH specifications, part of a dual approach for formally extending object-oriented analysis models using LARCH and Z. The first phase consisted of two steps: establishing a set of transformation heuristics for algebraically representing object models and implementing a robust LARCH parser. The LARCH parser produced abstract syntax trees (ASTs) of objects forming the basis for analyzing the similarities and differences between Z-based and LARCH-based object representations. The second phase used the analysis of LARCH and Z to identify fundamental core constructs in the languages and abstract syntax trees. These core constructs consisted of similar syntactic and semantic notions of signatures and axioms for describing a problem domain, thereby forming a canonical framework for formal object representations. This canonical framework provides a front-end for producing design refinement artifacts such as interface languages theorem proving sentences, and synthesis diagrams. The final phase demonstrated the feasibility of interface language generation by establishing an executable framework. This executable framework mapped LARCH into the SOFTWARE REFINERY(TM) Programming Environment to rapidly prototype object-oriented LARCH specifications.