Draft:NASA Formal Requirements Elicitation Tool (FRET)

  • Comment: I know this is open source, but the opening reads like a weird promotional advert? Qcne (talk) 13:47, 25 November 2023 (UTC)

Formal Requirements Elicitation Tool (FRET) was developed by the NASA Ames Research Center to specify safety-critical applications whose failure could result in loss of life, significant property damage, or environmental harm. However, since it is open-source software, FRET is available to anyone who wants to create precise, unambiguous requirements for their applications.

In most specifications, requirements are written in natural language, which is ambiguous and consequently cannot be formally analyzed. Since formal, mathematical notations are unintuitive, requirements in FRET are entered in a restricted, natural language called FRETish [1] with precise unambiguous meaning. FRET helps users write FRETish requirements both by providing grammar information and examples during editing, but also through English and diagrammatic explanations to clarify subtle semantic issues. For each requirement, FRET automatically produces formalizations [2] and supports interactive simulation of produced formalizations to ensure that they capture user intentions. Through its analysis portal, FRET connects to analysis tools by exporting verification code. [3]

Example Requirements and Templates edit

FRET includes a set of example requirements and templates to aid users in understanding FRETish and using FRET.

Import/Export edit

FRET allows requirements to be imported or exported in a variety of formats to allow interfaces with other tools as well as external analysis tools.

External Analysis Tools edit

FRET provides access to process modeling tools that pinpoint timing issues and bottlenecks before any code is written. The supported external tools include COCO simulator, Simulink Design Verifier, Kind, and SMV.

Installation edit

Detailed information for installation and use can be found in the FRET manual.[4]

Supported Platforms edit

FRET has been tested in a range of architecture/operating system combinations. It has been tested on PC Intel, Apple Mac and Sun architectures, with different versions and distributions of Windows, Mac OS X, and Linux.

Languages edit

FRET is written primarily in JavaScript.

License edit

FRET has been released under the NASA Open Source Agreement version 1.3.[5]

GitHub edit

FRET is hosted on GitHub

References edit

  1. ^ A compositional proof framework for FRETish requirements. Retrieved from https://dl.acm.org/doi/abs/10.1145/3497775.3503685
  2. ^ Generation of Formal Requirements from Structured Natural Language. Retrieved from https://link.springer.com/chapter/10.1007/978-3-030-44429-7_2
  3. ^ Capture, Analyze, Diagnose: Realizability Checking Of Requirements in FRET. Retrieved from https://link.springer.com/chapter/10.1007/978-3-030-44429-7_2
  4. ^ FRET: Formal Requirements Elicitation Tool. Retrieved from https://github.com/NASA-SW-VnV/fret/blob/master/fret-electron/docs/_media/userManual.md
  5. ^ NASA Open Source Agreement version 1.3. Retrieved from https://github.com/NASA-SW-VnV/fret/blob/master/LICENSE.pdf