Software Development Toolset
Click to view larger
Description:The Naval Research Laboratory (NRL) has developed a powerful, easy-to-use suite of tools to support the development of software that meets its requirements and performs as specified. Based on a scalable tabular notation for representing requirements, the toolset can assist in creating a specification, checking specifications for consistency, validating a specification, and verifying that a specification satisfies critical properties, such as safety and security properties. The suite includes a graphical interface for simulating applications, which aids in evaluation by actual system users, e.g., pilots or system operators.
- Automatically finds inconsistencies in software specifications
- Can be used to produce a rapid prototype of the system
- Saves time and cost by identifying errors early in the software development process
- Supports the construction of graphical interfaces useful for validation by an application expert
- Most tools are easy to use; no formal expertise is required
- Critical infrastructure management (e.g. nuclear power and water treatment)
- Automotive (e.g., brakes, windows and doors, windshield wipers, door locks)
- Medical devices (e.g., pacemakers and other implanted safety-critical devices)
- Aviation (e.g., on-board flight and air traffic control)
- Process control software in various industries (e.g., chemicals and electronics)
- "Tools for Constructing Requirement Specifications: The SCR Toolset at the Age of Ten," Computer Systems Science and Engineering, (2005), p. 19-35.
- "Using Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications," IEEE Transactions on Software Engineering, (1998) p. 927-948.
- "Applying Formal Methods to a Certifiably Secure Software Systems," IEEE Transactions on Software Engineering, (2008), p. 82-98.
Click here for a more detailed PDF version of this technology.
Contact:Naval Research Laboratory
Technology Transfer Office, Code 1004