Modelworks® is an automatic verification tool. It verifies that a design in Simulink/Stateflow correctly encapsulates requirements expressed in Kapture®. In order to ensure that the design is verifiable, a pre-check is undertaken to ensure that the design conforms to a design standard. If there are errors, these are clearly highlighted so that a user can amend the design. The check can be run against specific requirements or the entire set. Should a check fail, Modelworks® highlights which requirements are not satisfied and identifies the specific part of the design that is related to the requirements. A script can be run in the simulator so that a designer can understand the behaviour as designed and hence to diagnose the issue. It might be that the requirement(s) need to be adjusted or that the design is wrong.
Modelworks® can be used in any form of software life cycle including traditional processes such as waterfall or V-model as well as in agile processes. The requirements can be partially completed, for example as part of a sprint or an iteration, and the design developed to reflect the specific requirements. It is likely that requirements will change as a result of better understanding of the system requirements. Once the software requirements have been updated in Kapture® and the design altered to reflect these changes, Modelworks® automatically verifies that the design satisfies these changes. This speeds up the design processes and ensures that the next development step, coding, is undertaken from a sound basis. Modelworks® supports a formal methods based development process which consequently gives high assurance. Use of Modelworks® is therefore extremely flexible and supports rapid, assured software development.
"Software−related accidents are usually caused by flawed requirements."