This paper proposes an approach, called "the Harmonic Design Method", to achieve an approximately ideal language that simultaneously serves the purposes or requirements of software specification, verification, implementation and so on. This approach is based on two important concepts-partitioning and unification. In the Harmonic Design Method, the collection of the problem-oriented languages and the transformation algorithms between the languages, provided through the process of the partitioning and unification, is regarded as the approximation to the target ideal language. As an application of the Harmonic Design Method, the design of a software support system for making the development of protocols and communication software easy is given. In this design, we provide three problem-oriented languages, viz., the protocol specification language NESDEL, the communication software oriented programming language IDL and the language EXPA which has both a framework for expressing protocols and an algorithm for verifying protocols, and three transformation algorithms between them, i.e., NESDEL-to-EXPA, EXPA-to-NESDEL and NESDEL-to-IDL. The details of these languages and transformation algorithms are also given. Finally, we introduce some software tools used for supporting these languages and transformation algorithms.
ASJC Scopus subject areas