Skip to main content

Supports the CoFFE analysis presented in ARP4761A/ED-135.

Project description

pypi Contributors Forks Stargazers Issues MIT License LinkedIn

CoFFE Analyzer

This package supports the CoFFE analysis presented in ARP4761A/ED-135.

CoFFE stands for Combinational Functional Failures Effects. One method of performing this analysis is through a table. Each row of that table represents a combination of failures leading to a certain result.

This package analyze that table and returns a simplified boolean expression for each relevant CoFFE result (Failure Condition), that helps to develop its related preliminary Fault Tree Analysis (FTA).

Installation

For installing CoFFE Analyzer, just run this command in your shell:

pip install coffe-analyzer

Usage example

Section Q.4.4.1 of ARP4761A shows an example of a CoFFE analysis that assess the loss of ability to decelerate with crew aware. Combination of failures from four different systems are identified (Wheel Brake, Ground Spoiler, Thrust Reverser, and Flap), and three failure states are contemplated for each of them (Total Loss - F, Partal Loss - D, and Nominal Operation - O). The results after combining those failure states are: High-speed overrun, Low-speed overrun, and No overrun. Only High-speed overrun is considered relevant as Failure Condition.

Last paragraph of Section Q.4.4.1 states the solution:

Through the CoFFE analysis it can be concluded that “the total loss of wheel brake function in addition to the partial (or total) loss of any ground spoiler or thrust reverser or flap functions” might result in high-speed overruns.

CSV as source of data

Considering that Table Q.4.6 is stored in a csv file, the following code is executed:

>>> from coffeanalyzer import CoffeInstance

>>> path_csv = 'path/to/csv/file.csv'
>>> # The CSV wil contain one column per each analyzed system indicating the failed states.
>>> # The last column is reserved for the result of the combinated failed states:
>>> # F;F;F;F;High-speed overrun
>>> # F;O;O;O;Low-speed overrun
>>> # ...
>>> coffe = CoffeInstance(
...         ignored_states=['O'], 
...         ignored_results=['No overrun', 'Low-speed overrun'], 
...         custom_headers=['WBrake', 'GrndSpoiler', 'ThrustRev', 'Flap']
...         )
>>> coffe_results = coffe.get_simplified_expression_from_csv(path_csv)
>>> print(coffe_results)
WBrake_F AND (Flap_D OR Flap_F OR GrndSpoiler_D OR GrndSpoiler_F OR ThrustRev_D OR ThrustRev_F)

[!IMPORTANT] The resulting boolean expression does not pretend to substitute the safety engineer to perform the FTAs.

E.g., in this example the boolean expression can be further developed since an OR gate between a total loss and a partial loss is equal to partial loss, so the final expression to use in the corresponding FTA is:

WBrake_F AND (Flap_D OR GrndSpoiler_D OR ThrustRev_D)

(back to top)

Release History

  • 1.0.0
    • First release

(back to top)

Roadmap

  • Capability to obtain the boolean expression from a csv file.
  • Compatibility with python4capella.

(back to top)

Contributing

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork it (https://github.com/samuelglorente/coffe_analyzer/fork)
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -am 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Create a new Pull Request

(back to top)

License

Distributed under the GPL-3.0 license. See LICENSE for more information.

(back to top)

Contact

Samuel García Lorente

LinkedInemail - GitHub

(back to top)

Acknowledgments

(back to top)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

coffe_analyzer-1.0.2.tar.gz (34.8 kB view details)

Uploaded Source

Built Distribution

coffe_analyzer-1.0.2-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

Details for the file coffe_analyzer-1.0.2.tar.gz.

File metadata

  • Download URL: coffe_analyzer-1.0.2.tar.gz
  • Upload date:
  • Size: 34.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.12.1

File hashes

Hashes for coffe_analyzer-1.0.2.tar.gz
Algorithm Hash digest
SHA256 3a2d889d768f10b1339d32ea6f5674cb7d2a433dbbe1a8a43e9ff194446e5789
MD5 da5f70751c81a00f17a6b77164787fb7
BLAKE2b-256 2de9f40810eb5a9f635d5da7b7e25dcb39730d473d4b3c6c36581d698efb5e5e

See more details on using hashes here.

File details

Details for the file coffe_analyzer-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for coffe_analyzer-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b15aced9d383cdfe859ab3c45bed387c967b3982a3721e5841d8abbef1c40c9b
MD5 4a352b1c900e997f0bf0f1560dcbaf52
BLAKE2b-256 3ec34850eda9f3df17a2dea6402a2266eed15539fefd8ad6817f7c7a4059e345

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page