Towards software reuse using parameterized formal specifications

Software reuse should be engineered as early as possible in the software development life cycle. The earlier reusability considerations are put into software development, the larger the payoff can be obtained from reuse. This paper briefly introduces the syntax and semantics of the TUG specification language. Some important but not comprehensive features of the language for reuse are presented with the aid of examples. Finally, specification reuse is illustrated with an analogy between a restaurant reservation system and a university registration system.

[1]  Neil A. M. Maiden,et al.  Exploiting reusable specifications through analogy , 1992, CACM.

[2]  Neil A. M. Maiden,et al.  The Domain Theory for Requirements Engineering , 1998, IEEE Trans. Software Eng..

[3]  Neil A. M. Maiden,et al.  Analogy as a paradigm for specification reuse , 1991, Softw. Eng. J..

[4]  Joseph A. Goguen,et al.  Reusing and Interconnecting Software Components , 1986, Computer.

[5]  Chia-Chu Chiang,et al.  Scalable templates for specification reuse , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[6]  D. Gentner Structure‐Mapping: A Theoretical Framework for Analogy* , 1983 .

[7]  Anne Elisabeth Haxthausen,et al.  The Raise Specification Language , 1992 .

[8]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[9]  Chia-Chu Chiang,et al.  A formal method for proving programs correct , 2001, 2001 IEEE International Conference on Systems, Man and Cybernetics. e-Systems and e-Man for Cybernetics in Cyberspace (Cat.No.01CH37236).

[10]  Joseph A. Goguen,et al.  Parameterized Programming , 1984, IEEE Transactions on Software Engineering.

[11]  T. Biggerstaff,et al.  Reusability Framework, Assessment, and Directions , 1987, IEEE Software.

[12]  Rubén Prieto-Díaz Implementing faceted classification for software reuse , 1991, CACM.

[13]  Neil A. M. Maiden,et al.  Requirements engineering by example: an empirical study , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[14]  Guillermo Arango,et al.  A process for consolidating and reusing design knowledge , 1993, Proceedings of 1993 15th International Conference on Software Engineering.

[15]  Matthias Jarke,et al.  Telos: representing knowledge about information systems , 1990, TOIS.

[16]  Chia-Chu Chiang,et al.  Incremental elicitation and formalization of user requirements through rapid prototyping via software transformations , 1996, Proceedings of 20th International Computer Software and Applications Conference: COMPSAC '96.

[17]  José Luiz Fiadeiro,et al.  Reuse of requirements and specifications: a formal framework , 1995, SSR '95.

[18]  Jane Sinclair,et al.  Introduction to formal specification and Z , 1991, Prentice Hall International Series in Computer Science.

[19]  Martin Wirsing,et al.  Algebraic Specification , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[20]  Jos Warmer,et al.  The object constraint language , 1998 .

[21]  Verónica Dahl,et al.  Logic Grammars , 1989, Symbolic Computation.

[22]  Ted J. Biggerstaff,et al.  An Assessment and Analysis of Software Reuse , 1992, Adv. Comput..