Towards an automated development methodology for dependable systems with application to sensor networks
PCCC 2005. 24th IEEE International Performance, Computing, and Communications Conference, 2005.
A general-purpose method to mechanically transfonn system requirements into a provably equivalent model has yet to appeal: Such a method represents a necessary step toward high-dependability system engineering for numerous possible application domains, including sensor networks and autonomous systems. Currently available tools and methods that start with a formul model of a system and mechanically produce a provably equivalent implementation are valuable but not su8cient. The "gap" unjlled by
... "gap" unjlled by such tools and methods is that their. formal models cannot be proven to be equivalent to the system requirements as originated by the customel: For the classes of systems whose behavior can be described as ajnite (but significant) set of scenarios, we ofer a method for mechanically transforming requirements (expressed in restricted natural language, or in other appropriate graphical notations) into a provably equivalent formal model that can be used as the basis for code generation and other transformations. ther reduce the chance of insertion of errors by developers. The need for ultra-high dependability systems increases continually, along with a correspondingly increasing need to ensure correctness in system development. By "correctness", we mean that the implemented system is equivalent to the requirements, and that this equivalence can be proved mathematically. Available system development tools and methods that are based on formal models provide neither automated generation of the models from requirements nor automated proof of correctness of the models. Therefore, today there is no automated means to produce a system or a procedure that is a provably correct implementation of the customer's requirements. Further, requirements engineering as adiscipline has yet to produce an automated, mathematics-based process for requirements validation [ 141. , Problem Statement Automatic code generation from requirements has been the ultimate objective of software engineering almostsince the advent of high-level progfamming languages, calls for a "requirements-based programming" capability have