Model-based software design and validation
AssigneeMassachusetts Institute of Technology
InventorsStephen J. Garland, Nancy A. Lynch
Life of this patent
Estimating the term…
Loading patent…
AssigneeMassachusetts Institute of Technology
InventorsStephen J. Garland, Nancy A. Lynch
Estimating the term…
A new computer language, which is based on a formal, mathematical state-machine model, and which is used both to validate and to generate code for a distributed system, in general, enables developing a system using multiple related system specifications, for instance, using system specifications at multiple levels of abstraction or using multiple system decompositions into parallel combinations of interacting systems, and allows use of validation tools to verify properties of these systems and their relationships. The language includes constructs for specifying non-deterministic actions, and for specifying constraints on those non-deterministic choices. Several well-defined sub-languages of the full computer language are also defined. These sub-languages are used to specify the input of some tools, in particular, of some code generators. One method for developing a software implementation of a distributed system using the present invention includes accepting a design specification for the distributed system, and applying a validation procedure to the design specification to verify that the system has desired properties. This validation includes applying a theorem proving procedure to the design specification. The method also includes applying a code generating procedure to the specification to generate multiple software implementations for components of the distributed system.
A method for developing a software implementation of a distributed system, comprising:
A method for developing a software implementation of a distributed system, comprising:
A method for developing a software implementation of a distributed system, comprising:
Software stored on a computer readable medium comprising instructions for causing a computer to perform the functions of:
Software stored on a computer readable medium comprising instructions for causing a computer to perform the functions of:
A system for iterative development of a software implementation of a distributed system, comprising:
Dependencies are inferred from the claim text.