Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

An agile development methodology applied to embedded control software under stringent hardware constraints

Published: 01 January 2008 Publication History

Abstract

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 classified as an embedded real-time system and requires rigorous methodologies to develop the software that is under stringent hardware constraints. Therefore, the proposed development methodology adapts agile principles and patterns in order to build embedded control systems 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 reliability.

References

[1]
A. Ahmed. Power Electronics. Prentice Hall, Inc., 2000.
[2]
K. Beck and C. Andres. Extreme Programming Explained --- Embrace Change. Second Edition, Addison-Wesley, 1999.
[3]
S. Berczuk and B. Appleton. Software Configuration Management Patterns. First Edition, Addison-Wesley, 2002.
[4]
M. Cohn. Agile Estimating and Planning. Robert Martin Series, Prentice Hall, 2005.
[5]
J. O. Coplien and D. Schmidt. Organizational Patterns of Agile Software Development. First Edition, Prentice Hall, 2004.
[6]
P. Cybernetica. Suboptimization Problem. Available at http://pespmc1.vub.ac.be/SUBOPTIM.html. Last visit on 26th December, 2007.
[7]
D. Gajski, F. Vahid, and S. Narayan. A system-design methodology: Executable-specification refinement. European Conference on Design Automation, Paris, France, 1994.
[8]
B. Greene. Agile methods applied to embedded software development. Proceeding of the Agile Development Conference (ADC'04)., 2004.
[9]
S. E. Institute. Cyclomatic Complexity. Published at the Carnegie Mellon University, 2007.
[10]
P. Koopman. Embedded system design issues (the rest of the story). Proceedings of the International Conference on Computer Design (ICCD96), pages 310--317, 1996.
[11]
P. Manhart and K. Schneider. Breaking the ice for agile development of embedded software: An industry experience report. Proceedings of the 26th International Conference on Software Engineering (ICSE04), page 3647, 2004.
[12]
M. J. Oliveira, S. Neto, P. Maciel, R. Lima, A. Ribeiro, R. Barreto, E. Tavares, and F. Braga. Analyzing software performance and energy consumption of embedded systems by probabilistic modeling: An approach based on coloured petri nets. ICATPN 2006, LNCS 4024, pp. 261281, 2006., page 261281, 2006.
[13]
J. Ronkainen and P. Abrahamsson. Software development under stringent hardware constraints: Do agile methods have a chance? eXtreme Programming Conference, 2003.
[14]
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.
[15]
K. Schwaber and M. Beedle. Agile Software Development with Scrum. First Edition, Series in Agile Software Development, Prentice Hall, 2002.
[16]
P. Semiconductors. The I2C-bus and how to use it. Available at http://www.mcc-us.com/i2chowto.htm. Last visit on 22th October, 2007.
[17]
SourceForge. C and C++ Code Counter. Available at http://sourceforge.net/projects/cccc. Last visit on 18th October, 2007.
[18]
SourceForge. embUnit: Unit Test Framework for Embedded C Systems. Available at http://embunit.sourceforge.net/. Last visit on 18th October, 2007.
[19]
V. D. Toro. Basic Electric Machines. Prentice Hall, Inc., 1990.
[20]
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.

Cited By

View all
  • (2023)Towards Integrity and Reliability in Embedded Systems: The Synergy of ESBMC and Arduino Integration2023 XIII Brazilian Symposium on Computing Systems Engineering (SBESC)10.1109/SBESC60926.2023.10324098(1-6)Online publication date: 21-Nov-2023
  • (2020)Requirements for adopting software process linesJournal of Systems and Software10.1016/j.jss.2020.110546164(110546)Online publication date: Jun-2020
  • (2019)Minimum Viable Products for Internet of Things Applications: Common Pitfalls and PracticesFuture Internet10.3390/fi1102005011:2(50)Online publication date: 18-Feb-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 33, Issue 1
January 2008
54 pages
ISSN:0163-5948
DOI:10.1145/1344452
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 January 2008
Published in SIGSOFT Volume 33, Issue 1

Check for updates

Author Tags

  1. agile methodologies
  2. embedded agile development
  3. health care
  4. organizational patterns
  5. platform-based design
  6. real-time software

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)0
Reflects downloads up to 14 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Towards Integrity and Reliability in Embedded Systems: The Synergy of ESBMC and Arduino Integration2023 XIII Brazilian Symposium on Computing Systems Engineering (SBESC)10.1109/SBESC60926.2023.10324098(1-6)Online publication date: 21-Nov-2023
  • (2020)Requirements for adopting software process linesJournal of Systems and Software10.1016/j.jss.2020.110546164(110546)Online publication date: Jun-2020
  • (2019)Minimum Viable Products for Internet of Things Applications: Common Pitfalls and PracticesFuture Internet10.3390/fi1102005011:2(50)Online publication date: 18-Feb-2019
  • (2018)A Test-oriented Embedded System Production MethodologyJournal of Signal Processing Systems10.1007/s11265-008-0266-756:1(69-89)Online publication date: 27-Dec-2018
  • (2016)Development of a Wireless Environmental Data Acquisition Prototype Adopting Agile Practices: An Experience ReportJournal of Software Engineering and Applications10.4236/jsea.2016.91003109:10(479-490)Online publication date: 2016
  • (2016)Complementary training programme for electrical and computer engineering students through an industrial-academic collaboration2016 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2016.7757421(1-9)Online publication date: Oct-2016
  • (2015)Rapid improvement of students' soft-skills based on an agile-process approachProceedings of the 2015 IEEE Frontiers in Education Conference (FIE)10.1109/FIE.2015.7344408(1-9)Online publication date: 21-Oct-2015
  • (2014)Scrum for cyber-physical systems: a process proposalProceedings of the 1st International Workshop on Rapid Continuous Software Engineering10.1145/2593812.2593819(51-56)Online publication date: 3-Jun-2014
  • (2014)Industrial Challenges of Scaling Agile in Mass-Produced Embedded SystemsAgile Methods. Large-Scale Development, Refactoring, Testing, and Estimation10.1007/978-3-319-14358-3_4(30-42)Online publication date: 2014
  • (2012)An investigation into agile methods in embedded systems developmentProceedings of the 12th international conference on Computational Science and Its Applications - Volume Part III10.1007/978-3-642-31137-6_44(576-591)Online publication date: 18-Jun-2012
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media