Software design for reliability and reuse: a proof-of-concept demonstration

The Pacific Software Research Center is developing a new method to support reuse and introduce reliability into software. The method is based on design capture in domain specific design languages and automatic program generation using a reusable suite of program transformation tools. The transformation tools, and a domain specific component generator incorporating them, are being implemented as part of a major project underway at the Oregon Graduate Institute of Science and Technology. The processes used in tool development and application of the method are being captured. Once completed, an experiment will be performed on the generator to assess its usability and flexibility. This paper describes the Software Design for Reliability and Reuse method and illustrates its application to the Message Translation and Validation domain, a problem identified by our sponsors so that our method can be compared directly to a previously existing state-of-the-art solution based on code templates produced by the Software Engineering Institute (SEI) [14].

[1]  Stephen J. Goldsack ADA for Specification: Possibilities and Limitations , 1985 .

[2]  Richard B. Kieburtz,et al.  Algebraic design language (preliminary definition) , 1994 .

[3]  James Hook,et al.  Message Specication Language MSL A domain specific design language for message translation and validation , 1994 .

[4]  Françoise Bellegarde Program Transformation and Rewriting , 1991, RTA.

[5]  John C. Reynolds,et al.  Definitional Interpreters for Higher-Order Programming Languages , 1972, ACM '72.

[6]  S. D. Litvintchouk,et al.  An algebraic approach to reusable Ada components , 1983 .

[7]  Jeffrey Lewis A Specification for an MTV Generator , 1993 .

[8]  Dennis M. Volpano,et al.  Software templates , 1985, ICSE '85.

[9]  Jeffery M. Bell An implementation of Reynolds defunctionalization method for a modern functional language , 1994 .

[10]  Tim Sheard,et al.  A fold for all seasons , 1993, FPCA '93.

[11]  M. E. Stickel ASTRE: a transformation system using completion , 1991 .

[12]  Tim Sheard,et al.  Type parametric programming , 1993 .

[13]  Kenneth Lee,et al.  A Model Solution for C3I Message Translation and Validation , 1989 .

[14]  Lisa Walton A Preliminary Definition of a Domain Specific Design Language for Message Validation and Traslation , 1994 .

[15]  James Hook,et al.  Monads, Indexes and Transformations , 1993, TAPSOFT.

[16]  James Hook,et al.  Defunctionalization of Typed Programs , 1994 .

[17]  Richard B. Kieburtz,et al.  Programming with Algebras , 1995, Advanced Functional Programming.

[18]  R. B. Kieburtz Software design for reliability and reuse preliminary method definition , 1993 .

[19]  R. Cockett,et al.  Strong categorical datatypes I , 1991 .

[20]  A. S. Matsumoto,et al.  An algebraic approach to reusable Ada components , 1983, ALET.

[21]  Dennis Volpano,et al.  The templates approach to software reuse , 1989 .