Public reporting burden for this collection of information is estimated to average 1 hour per response, incdudii gathering and maintaining the data needed, and completing and reviewing the collection of information. Send com )Ilection of information, including suggestions for reducing this burden, to Washington Headquarters Services, Directoras Dynamic re-synthesis of an executing system is supported, allowing the system structure to adapt to the external or internal environment. The paper describes an application of these techniques to a large, high performance parallel instrumentation system used for analysis of turbine engine strain gauge signals produced during altitude testing. The unique features of this approach include: explicit domain-specific declarative models; graphical representation of models; multiple aspect models; automatic specification of the necessary hardware architecture; and on-line re-synthesis of dynamic systems.
1-2 MODEL-BASED SOFTWARE SYNTHESIS FOR LARGE SYSTEMSBen A. Abbott
IntroductionOne of the most challenging problems in software engineering is to build large, high-performance systems that must perform continuous interaction with their environment. The behavior of these reactive systems is typically complex, concurrent, and non-deterministic. This makes them difficult to build.Automatic program synthesis is one of the prime disciplines that can contribute to the advancement of the software engineering of reactive systems. The technique has been successfully applied to a specific "real-world" application: a large-scale, parallel instrumentation system, called Computer Assisted Dynamic Data Analysis and Monitoring System (CADDMAS). The CADDMAS system was developed in cooperation with the US Air Force at Arnold Engineering Development Center (AEDC). The software synthesized is a complex, reactive, signal processing system running on a heterogeneous network of nearly 100 processors.
TerminologyBefore describing the software synthesis technique utilized, the main terms and concepts used in automatic program synthesis, reactive systems, and model-based systems are briefly defined and discussed. In some cases, the definitions are constrained to the specific needs of this paper.
Parallel Instrumentation SystemParallel Instrumentation systems use multiple computers to cooperatively convert a set of acquired input signals into a more desirable format. The need for a parallel system as 1-3 opposed to a single processor system can be a result of the raw data rate requirements, or as a result of the number of simultaneous input signals that must be processed.
Reactive SystemsMost Instrumentation Systems have their behavior driven by external inputs. In such cases, they may be classified as reactive systems (26]: embedded real-time systems characterized by continuous interaction with their environment. Process monitoring and control systems, and real-time signal processing systems are typical examples of this category. The complexity, concurrency, and non-deterministic behavior of reactive sys...