| A control-oriented software system is a software system whose complexity is dominated by issues of control. Most of the real-time and embedded systems are control-oriented. Recently, the application of such systems has become more and more popular. They are usually large-scale, extremely complex, and require high reliability and fault-tolerance capability. It has been realized that current software development technology cannot handle such kind of systems effectively.; In this dissertation, a visual specification language Egsl (Executable graphical specification language) is developed to formally specify the interactive behavior of large-scale control-oriented software systems. In a visual language, various kinds of diagrams are used to express the procedures of computing and the relationships among the components in a software system, which used to be expressed in some textual form. The advantages of visual languages are their comprehensibility, executability, and analyzability. In Egsl, a variety of conventional diagrams, including state transition diagrams and dataflow diagrams, are substantially augmented and formalized. Different kinds of diagrams can be integrated together consistently. The consistency and completeness of the specifications can be automatically checked and enforced. Hierarchical decomposition and modularity are supported. It provides mechanisms to support concurrency, communication and synchronization. The Egsl specifications are directly executable, and they can be translated into the prototypes of the systems being developed. The formal definition of Egsl is presented. The Egsl specifications are organized in the form of hypertext. A formal definition of the hypertext model is given, and the notion of hyperstructural language and hypergrammar are introduced to define the abstract syntax of Egsl. The process of translating Egsl specifications into Ada code is described.; Using various kinds of graphical representations in Egsl, the interactive behavior of control-oriented software systems can be specified in a way close to human conceptualization, so that the understandability of the specifications can be enhanced and the complexity can be reduced. Therefore, the development and maintenance cost of such systems will be reduced. Furthermore, Egsl will be a suitable language to support the software prototyping and the long-advocated evolutionary software development paradigm. |