A current trend in manufacturing is to design the manufacturing process and the product concurrently. The goal is to make the product easy to produce by the manufacturing process. Although software is not manufactured, the techniques needed to achieve the goal of easily producible software exist. Just as with manufacturing, the problem is how to organize the software production process and the products to eliminate rework. One solution lies in viewing system production as creating different members of a family, rather than creating a new system each time requirements change. Key to the process is finding the appropriate abstractions for the family, creating a language for describing them, and then translating descriptions of family members into deliverable software. The family-oriented, abstraction, specification, and translation (FAST) process is a systematic process for doing so. The goal is to create processes for rapidly creating different members of a program family. A current trend in manufacturing is to design the manufacturing process and the product concurrently. The goal is to make the product easy to produce by the manufacturing process. Although software is not manufactured, the techniques needed to achieve the goal of easily producible software exist. Just as with manufacturing, the problem is how to organize the software production process and the products to eliminate duplication of effort, unnecessary redundancy, and rework. One solution lies in finding the common set of software that can be used to produce many similar systems, i.e., in viewing system production as creating different members of a family, rather than creating a new system each time requirements change [3.,5., 6.]. Engineers should be able to take advantage of work done in previous developments, rather than restating requirements, reinventing design and code, and redoing testing. Key to this approach is finding the appropriate abstractions for the family, creating a language for describing them, and then developing the tools need to translate descriptions of family members into deliverable software and documentation. The family-oriented, abstraction, specification, and translation (FAST) process is a systematic process for doing so. The goal is to create processes and assets for rapidly creating different members of a program family. The FAST process assumes that most software development is mostly redevelopment, and that software production can be organized around families of systems to avoid much of the
Weiss et.al REF put forward a model for SPLE, called as FAST (Family-oriented abstraction, specification, and translation).
Software Synthesis: The FAST Process
In Proceedings of the International Conference on Computing in High Energy Physics, Rio de Janeiro
Computer Science