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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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