Abstract
Arterial oxygen saturation and heart rate measured by pulse oximetry is widely used to monitor critical care patients. This kind of system is classified as embedded hard real-time system and requires rigorous development methodologies to guarantee the correctness and timeliness of the application. Therefore, the proposed development methodology combines agile principles with organizational patterns and adapts them to build medical devices focusing on the issues related to the system's constraints and safety. Strong unit testing is the foundation of the proposed methodology for ensuring timeliness and correctness. Moreover, platform-based design approach is used to balance costs and time-to-market in view of performance and functionality constraints. We conclude that the proposed methodology reduces significantly the design time and cost as well as leads to better software modularity and safety.
- K. Beck and C. Andres. Extreme Programming Explained - Embrace Change. Second Edition, Addison-Wesley, 1999. Google ScholarDigital Library
- S. Berczuk and B. Appleton. Software Configuration Management Patterns. First Edition, Addison-Wesley, 2002. Google ScholarDigital Library
- M. Cohn. Agile Estimating and Planning. Robert Martin Series, Prentice Hall, 2005. Google ScholarDigital Library
- J. O. Coplien and D. Schmidt. Organizational Patterns of Agile Software Development. First Edition, Prentice Hall, 2004. Google ScholarDigital Library
- L. C. Cordeiro. Pulse Oximeter Code. Available at https://sourceforge.net/cvs/?group_id=198932. SourceForge, 2007.Google Scholar
- L. C. Cordeiro, B. R. S., R. F. Barcelos, M. Oliveira, V. F. Lucena Jr., and P. Maciel. Agile development methodology for embedded systems: A platform-based design approach. In 14th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems, pages 195--202, 2006. Google ScholarDigital Library
- D. Gajski and F. Vahid. Especification and design of embedded hardware-software systems. IEEE Design and Test of Computers, 1994.Google Scholar
- D. Gajski, F. Vahid, and S. Narayan. A system-design methodology: Executable-specification refinement. European Conference on Design Automation, Paris, France, 1994.Google ScholarCross Ref
- B. Greene. Agile methods applied to embedded software development. Proceeding of the Agile Development Conference (ADC'04)., 2004. Google ScholarDigital Library
- S. E. Institute. Cyclomatic Complexity. Published at the Carnegie Mellon University, 2007.Google Scholar
- P. Koopman. Embedded system design issues (the rest of the story). Proceedings of the International Conference on Computer Design (ICCD96), pages 310--317, 1996. Google ScholarDigital Library
- Richard. C Optimization: How to make your C, C++ or java program run faster with little effort. 2007.Google Scholar
- J. Ronkainen and P. Abrahamsson. Software development under stringent hardware constraints: Do agile methods have a chance? eXtreme Programming Conference, 2003. Google ScholarDigital Library
- N. V. Schooenderwoert and R. Moriscato. Taming the embedded tiger - agile test techniques for embedded software. Proceeding of the Agile Development Conference (ADC'04)., 2004. Google ScholarDigital Library
- K. Schwaber and M. Beedle. Agile Software Development with Scrum. First Edition, Series in Agile Software Development, Prentice Hall, 2002. Google ScholarDigital Library
- SourceForge. C and C++ Code Counter. 2007.Google Scholar
- SourceForge. embUnit: Unit Test Framework for Embedded C Systems. 2007.Google Scholar
- A. S. Vicentelli, P. L. Carloni, F. Bernardinis, and M. Sgroi. Benefits and challenges for platform-based design. Proceedings of the Design Automation Conference, (41):409--414, 2004. Google ScholarDigital Library
- A. S. Vicentelli and G. Martin. Platform-based design and software design methodology for embedded systems. IEEE Design and Test of Computers, 18(6):23--33, 2001. Google ScholarDigital Library
Index Terms
- TXM: an agile HW/SW development methodology for building medical devices
Recommendations
An agile development methodology applied to embedded control software under stringent hardware constraints
In recent years, discrete control systems play an important role in the development and advancement of modern civilization and technology. Practically every aspect of our life is affected by some type of control systems. This kind of system maybe ...
Empirical Study of Agile Software Development Methodologies: A Comparative Analysis
In today's software industry, technological prowess and ever-evolving customer requirements have led to more complex software demands. Agile based software development is increasingly being adopted by the software practitioners as it assures early ...
A Platform-Based Software Design Methodology for Embedded Control Systems: An Agile Toolkit
ECBS '08: Proceedings of the 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based SystemsA discrete control system, with stringent hardware constraints, is effectively an embedded real-time system and hence requires a rigorous methodology to develop the software involved. The development methodology proposed in this paper adapts agile ...
Comments