search menu icon-carat-right cmu-wordmark

Durra: An Integrated Approach to Software Specification, Modeling, and Rapid Prototyping

September 1991 Technical Report
Mario R. Barbacci, Dennis N. Doubleday, Charles B. Weinstock, Randall W. Lichota

This 1991 paper discusses the relationship between software specification, modeling and prototyping activities as part of a real-time system development strategy.


Software Engineering Institute

CMU/SEI Report Number



Software specification, modeling, and prototyping activities are often performed at different stages in a software development project by individuals who use different specialized notations. The need to manually interpret and transform information passed between stages can significantly decrease productivity and can serve as a potential source of error. Durra is a non-procedural language designed to support the development of distributed applications consisting of multiple, concurrent, large-grained tasks executing in a heterogeneous network. Durra provides a framework through which one can specify the structure of an application in conjunction with its behavior, timing, and implementation dependencies. These specifications may be validated by passing behavioral and timing information associated with each Durra task description to a run-time interpreter. Similarly, software prototypes may be constructed by directing this information to a suitable source code generator. We have already developed an interpreter and source code translator for a language based on simple timing expressions. We are presently constructing a source code generator for a more complex language defined by SMARTS (the Specification Methodology for ADAptive Real-Time systems developed by Hughes Aircraft Company).