00-METHOD: An 00 Software Production Environment Combining Conventional and Formal Methods Oscar Pastor, Emilio Insfran, Vicente Pelechano, Jose Romero, Jose Merseguer Departament de Sistemes Informatics i Computaci6 Universitat Politecnica de Valencia Cami de Vera s/n 46071 Valencia (Spain) {opastor I einsfran I pele ljmerse ljromero}@dsic.upv.es Abstract 00-Method is an 00 Methodology that blends the use of formal specification systems with conventional 00 methodologies based on practice. In contrast to other approaches in this field ([Jun95,Esd93]), a set of graphical models provided by the methodology allows analysts to introduce the relevant system information to obtain the conceptual model through a requirements collection phase, so that an 00 formal specification in Oasis ([Pas92, Pas95-1 ]), can be generated at any time. This formal specification acts as a high-level system repository. Furthermore, a software prototype which is functionally equivalent to the Oasis specification is also generated in an automated way. This is achieved by defining an execution model which gives the pattern for obtaining a concrete implementation in a declarative or an imperative software development environment (depending on the user choice). The methodology is supported by a CASE workbench. 1. Introduction In the context of the object paradigm, several 00 methodologies have emerged to deal with the set of 00 methods to be used to model and correctly implement an information system. Two main approaches can be distinguished: • what could be called conventional 00 methodologies, that come from practical use in industrial software production environments, which do not have a formal basis and which often use classical structured concepts together with the introduction of 00 features ([Wir90],[Rum9l],[Jac92], [Boo94],[Col94]). Recent proposals are trying to create a unified framework for dealing with all the existing methods (UML [BRJ96D, with the implicit danger of providing users with an excessive set of methods that have an overlapping semantics. • use of 00 formal specification languages ( Oblog [Ser87,Esd93], Troll [Jun91,Har94], Albert [Dub94], Oasis), which have a solid mathematical background and deducible formal properties such as terms of soundness and completeness. Our contribution to this state of the art is based on the idea that these two approaches can be mixed. This mixing offers some advantages: the use of such 00 formal languages can help designers to detect and eliminate ambiguities and elements of dubious utility. The use of conventional 00 methodologies permits us to take advantage of the accumulative experience coming from the industrial context. The research work developed at the DSIC-UPV has been directed towards designing and implementing an 00 software production environment that aims to combine the pragmatic aspects attached to the so called conventional methods, with the good formal properties of the 00 specification languages. From: CAiSE 1997, LNCS 1250 © Springer-Verlag Berlin Heidelberg 1997 139