Skip to main content

Personal Workstation for Incremental Graphical Specification and Formal Implementation of Non-Sequential Systems

Objective

As one of the first ESPRIT projects in the area of software technology, the GRASPIN project was concerned with the topic of formal specification and systematic program development.
The overall goal of GRASPIN was to improve current software development approaches in order to encourage their use on a wider industrial scale. From this overall objective two secondary R&D objectives were derived: to develop a coherent software development methodology, and to develop automated support tools, covering the full software life cycle (except for management activities).
Emphasis was to be placed on the following issues:
-First, the methodology should be particularly suited for the incremental development of distributed non-sequential systems.
-As concerns the life-cycle coverage, the project concentrated on the most critical areas of the so-called life-cycle, which are the early phases of software development - the Requirements Analysis and the Specification phases - as well as on Validationand Verification.
-Significant methodological improvements were expected from combining Petri-net theory with algebraic specification, and from integrating informal and formal methods.
-Technical improvements were expected from applying syntax-directed editing and object-oriented programming techniques.
To demonstrate the feasibility of the GRASPIN methodology, the consortium aimed at a prototype of an open-ended and customisable software development environment, suitable for supporting software engineers in the construction of reliable software systems.
The graphical specification (GRASPIN) project was concerned with the topic of formal specification and systematic program development. The overall goal of GRASPIN was to improve current software development approaches in order to encourage their use on a wider industrial scale. From this overall objective 2 secondary research and development objectives were derived: to develop a coherent software development methodology and to develop automated support tools covering the full software life cycle (except for management activities).
The project developed 2 customizable prototypes of a personal software engineering environment to support the construction and verification of distributed and nonsequential software systems.
The GRASPIN environment supports a methodology which covers a wide range of cycle activities. Methods and tools cover all technical activities, except documentation, and reflect the cyclic nature of software construction. Major methodological achievements of the project concern the development of: a novel specification language, SEGRA (semigraphical specification language) which is particularly suitable for writing, testing and analyzing distributed software systems; a declarative metalanguage, ASDL (abstract syntax definition language) which provides for extending the environment by new methods and tools and for customizing the GRASPIN kernel system for particular applications; and improved validation and verification methods, most of them making use of rewriting techniques.
The project developed two customisable prototypes of a personal software engineering environment to support the construction and verification of distributed and non-sequential software systems.
The Unix/PCTE-based prototypes developed by the Italian partners Olivetti and Tecsiel run on Sun (3 and 4) workstations and on LSX30 and M380 Olivetti machines, all under Unix 4.2 BSD, and are implemented in the C language. These prototypes are particularly dedicated to requirements engineering, supporting subsets of Structured Analysis (SA) and Entity Relationship (ER) languages, and to programming and testing.
The Lisp prototypes developed by the German partners, together with their sub-contractors, primarily support formal specifications and verification. They are implemented in Common Lisp and run on Symbolics 36 (with Genera 7.2 & 8.0) on Sun workstations with the UX400 board, and on Macintosh II Ivory (with Genera 7.4i). Interlisp-D versions are available on Siemens AI and Xerox 1186 machines (with LOOPS).
The GRASPIN environment supports a methodology which covers a wide range of life-cycle activities. Methods and tools cover all technical activities, except documentation, and reflect the cyclic nature of software construction.
Major methodological achievements of the project concern the development of:
-A novel specification language, SEGRAS (SEmi-GRAphical Specification language). This language is particularly suitable for writing, testing and analysing distributed software systems.
-A declarative meta-language,ASDL (Abstract Syntax Definition Language), which provides for extending the environment by new methods and tools and for customising the GRASPIN kernel system for particular applications.
-Improved validation and verification methods, most of them making use of rewriting techniques.
For all the methods related to the construction and validation activities in the software life-cycle, powerful tools provide a systematic tool support. This applies not only to the formal methods, but also to the informal ones, such as Structured Analysis.
System integration has been reached on an integration level typical for current second-generation CASE environments. The GRASPIN environment integrates the tools into a smoothly functioning environment through common graphical interfaces and object bases providing a common communication medium among the tools. All the tools are accessible via a uniform graphical user interface with multiple windows, menus and graphical objects, so that graphical representations can be clearly visualised and directly manipulated. User interaction with the system is supported via commands, function keys, menus or mouse.
The object base is completely encapsulated by object manipulation primitives generated from a declarative specification of object types. Complex structure-driven computations and object transformations can also be specified in ASDL as syntax-directed tran slation rules. These features allow easy modifications to the environment to incorporate new tools and techniques without sacrificing the uniformity of system-user interaction. First field trials showed the suitability of the GRASPIN methodology for both distributed applications as well as for generating specific CASE tools and dedicated CASE environments.
Exploitation
Industrial experience gained so far suggests that from a methodological point of view the GRASPIN environment can be seen as a significant step towards the next generation of CASE environments. Exploitation on a wider industrial scale, however, still requires additional technical consolidation of the results in order to adapt the underlying formal methods to specific industrial needs and to integrate the GRASPIN methods and tools with current industrial technology and standards. Whereas the Lisp-based prototypes are mostly used for further research, the Unix-based prototypes are on the way to being introduced into the software industry.

Coordinator

Gesellschaft für Mathematik und Datenverarbeitung mbH
Address

5205 Sankt Augustin
Germany

Participants (3)

Ingegneria C. Olivetti and C. SpA
Italy
Address
Via Palestro 30
56100 Pisa
Siemens Nixdorf Informationssysteme AG
Germany
Address
Otto-hahn-ring 6
81739 München
Tecsiel SpA
Italy
Address
Via Santa Maria 19
56100 Pisa