Hatley-Pirbhai Functional Decomposition
From Artificial Pancreas Algorithm Project
One of the best way to capture software requirements, particularly if your software is going to be used in a real-time control application, is to use the technique from software engineering (and systems engineering) known as functional decomposition.
While there are several such tools available, one of the best is the Hatley-Pirbhai method. I've selected it to take the "plain English" teachings of the articles and translate it into functional requirements that software engineers and simulation engineers will fully understand.
The Hatley-Pirbhai method has been published in a text book format which you can order here at Amazon.com.
While there are tools for detailing the functional decomposition precisely, we (on a tight budget here) will just use microsoft visio or google star office draw for prepairing those diagrams.
These will also help in the Statemate modeling that we will create.
We are going to model the artificial pancreas state machine so that we can control an insulin pump using adaptive variables as previously discussed. In particular, we will generate:
- a context diagram showing all interfaces from the artificial pancreas algorithm
- Artificial Pancreas software physical context diagram
- Artificial Pancreas software functional context diagram
- an overall data flow diagram, which shows the software capabilities of the algorithm
- successively detailed data flow diagrams as needed to diagram the algorithm into its basic process specifications
- Data flow diagram for perform CGMS data validation
- Data flow diagram for control basal rate with closed-loop CGMS
- Data flow diagram for learn basal rate
- Data flow diagram for deliver fixed basal rate
- Data flow diagram for display closed-loop heartbeat
- Data flow diagram for diplay BG trends
- Data flow diagram for deliver pre-bolus
- Data flow diagram for learn C/I ratio
- Data flow diagram for deliver missed bolus
- Data flow diagram for calculate insulin-on-board
- Data flow diagram for deliver correction bolus
- Data flow diagram for learn insulin sensetivity factor
- Data flow diagram for clock
- Data flow diagram for support APES transitions
- Data flow diagram for support off-board communications
- Data flow diagram for deliver insulin
- documents for the process specifications
- state machines or state tables which clarify which process specifications will be required at any instant in the algorithm
- Artificial pancreas software state requirements
- Artificial pancreas software state transition requirements
- Artificial pancreas software process activation requirements
