Hemodialysis machine offer curing way for pacients, who suffer in acute and chronic renal insufficiency. The functions of the dialysis machines meant for different types of therapy are very similar. A standard hardware and software architecture - combined with reusable components – would make much easier developing a product line.
Trainees will write the software of the chronic dialysis machine’s service mode (it will be written according to new considerations). My task is to write the hardware contolling software the way, it veils the hardware-specific properties of the chronic dialysis machine from the other objects (developed with model-based technics) of the controlling software component (from the basic and organizer objects).
I wrote the valves and pumps controlling part of the hardware abstraction layer. Because there are more types of valves in the dialysis machine (which work differently), I wrote a program, which opens and closes the valves always related to the type of them. Watchdog timer belongs to some valves, some others need special sequence for restoring the normal way of functioning. The pumps are different too (gear-, peristaltic-, and pistonpumps). In their case, the purpose was also standard functioning, which doesnt depend on their type.
I wrote the software controlling the valves and the three kind of pumps that way, they will work on different hardware types (with little changes). This is very important, because the company may use the same program on a new dialysis machine.
The programs, I wrote, have object centric approach. For example, the valves controlling program contains the methods and informations related to the valves, threats all of the valves as a unit. If I would like to change the state of a valve (open or close), it will settle in the program, which valve it is, how it should be set and if it has watchdog timer or needs special sequence for functioning.