FRET (Software)
FRET dashboard | |
| Developer(s) |
|
|---|---|
| Stable release | version 3
/ 30 August 2023[2] |
| Preview release | Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value).
/ Lua error in Module:Wd at line 2189: attempt to index field 'wikibase' (a nil value). |
| Written in | JavaScript |
| Engine | |
| Operating system | Windows, Linux, OS X |
| Type | Formalizing |
| Website | |
Search FRET (Software) on Amazon.
Formal Requirements Elicitation Tool (FRET) was developed by the NASA Ames Research Center to specify complex safety-critical systems whose failure could result in loss of life, significant property damage, or environmental harm[3]. However, since it is open-source software, FRET is available on GitHub to anyone who wants to use it to create precise, unambiguous requirements for their applications[4].
Software requirements document what the software should do. A critical first step to delivering reliable, secure, functional software is eliciting, analyzing, validating, and documenting stakeholder requirements. Most requirements are written in natural languages such as English, which is easy for analysts and stakeholders to understand but cannot be checked for errors and omissions using formal methods. On the other hand, formal, mathematical notations such as VDM and Z which are precise and unambiguous are very difficult for analysts and stakeholders to understand. As a compromise, FRET requirements are created using a controlled natural language called FRETish which ensures precise, unambiguous requirements that analysts and stakeholders can still understand. The Formal Requirements Elicitation Tool (FRET), uses a structed natural-language called FRETISH as its input language. We manually encode the available natural-language requirements into FRETISH, then FRET automatically translates them into Temporal Logic. FRET is also capable of exporting the requirements as contracts for Simulink diagrams (in a language called CoCoSim)[5].
FRET helps analysts write FRETish requirements, generates formal equivalents, and pinpoints problems u sing simulations and external analysis tools.
Example requirements and templates
FRET includes a set of example requirements and templates to aid analysts in understanding FRETish and using FRET.
Import/Export
FRET allows requirements to be imported or exported in a variety of formats including JSON to allow interfaces with other tools as well as external analysis tools.
External analysis tools
FRET enables analysts to improve efficiency and safety before any code is written by simulating and analyzing processes using external process modeling tools. The supported external tools include COCO simulator, Simulink Design, Verifier, NuSMV, and Copilot.
See also
- Controlled natural language
- Formal methods
- Requirements engineering
- Requirements analysis
- Safety-critical system
- Software requirements
- Systems engineering
External links
References
- ↑ "fret/CONTRIBUTORS.md at master · NASA-SW-VnV/fret". GitHub. Retrieved 26 November 2023.
- ↑ "Fret: Formal Requirements Elicitation Tool v3.0 | Hacker News". news.ycombinator.com. Ycombinator. Retrieved 30 November 2023.
- ↑ "Capture, Analyze, Diagnose: Realizability Checking Of Requirements in FRET". Springer. Springer International Publishing. 2022. pp. 490–504. doi:10.1007/978-3-031-13188-2_24. Retrieved 7 December 2023.
- ↑ "Formal Requirements Elicitation with FRET". Semantic Scholar. 2020. Retrieved 29 November 2023. Unknown parameter
|s2cid=ignored (help) - ↑ "Formal Requirements-Driven Verification". VALU3S Repository. VALU3S.
This article "FRET (Software)" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:FRET (Software). Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
| This page exists already on Wikipedia. |
