Manipulating Algebraic Specifications with Term-based and Graph-based Representations
Résumé
In an environment of continuous and rapid evolution, software design methodologies must incorporate techniques and tools that support changes in software artifacts. In the FERUS project, we are developing a tool targeted at software designers that integrates a collection of operations on algebraic specifications written in the CASL language. The scope of FERUS includes not only modification of existing specifications, but also creation or derivation of new specifications, as well as their proof and execution, which are realized through inter-operability with existing tools. As FERUS involves the manipulation of software specification and inter-operability with other tools, the question of choosing appropriate representation formats is important. In this paper, we discuss the advantages and limitations of ATerms as a manipulation and exchange format in the setting of FERUS. We also present a new, graph-like format, which offers complementary features to a term-based format. Moreover, we present visualization utilities for these formats.