Abstract :
Successful software products bring with them the same advantages and difficulties of successful products in other fields: they provide capabilities that their customers need and want, they provide income to the companies that create and sell them, and they must evolve to meet changing needs. Maintaining such software frequently means that it undergoes continual redevelopment and requires special sources of expertise. One approach for ameliorating the maintenance problem is to organize software into families, and to invest in facilities that enable rapid production of family members. We are using a systematic process to define families, design languages for specifying members of families, and quickly develop tools for such languages. The process is known as family oriented abstraction, specification, and translation (FAST). We have applied FAST to the task of specifying the commands and reports used by technicians to monitor the operation of a telecommunications switch. Such commands, their associated reports, and the accompanying customer documentation form a software family. A key part of the specification for a command or report is the customer documentation for using the command or understanding the report. Our specification language makes the specification of the customer documentation an integral part of the command and report specification. This approach promotes consistency between the software and the customer documentation, makes it easier for developers to write consistent and complete documentation, and allows us to generate the customer documentation from the specification
Keywords :
computerised monitoring; formal specification; software maintenance; system documentation; telecommunication computing; telecommunication switching; changing needs; continual redevelopment; customer documentation; customer needs; engineering domains; executable commands; expertise; families; family oriented abstraction specification and translation; maintenance problem; report specification; software family; software maintenance; software products; specification language; systematic process; telecommunications switch monitoring; Documentation; Investments; Maintenance engineering; Monitoring; Production; Productivity; Software maintenance; Specification languages; Switches; Telecommunication switching;