Skip to main content
Log in

Comparison of component frameworks for real-time embedded systems

  • Regular Paper
  • Published:
Knowledge and Information Systems Aims and scope Submit manuscript

Abstract

The use of components significantly helps in development of real-time embedded systems. There have been a number of component frameworks developed for this purpose, and some of them have already became well established in this area. Even though these frameworks share the general idea of component-based development, they significantly differ in the range of supported features and maturity. This makes it relatively difficult to select the right component framework and thus poses a significant obstacle in adoption of the component-based development approach for developing real-time embedded systems. To provide guidance in choosing a component framework, or at least relevant concepts when building a custom framework, we present a survey, which illustrates distinguishing features and provides comparison of selected modern component-based frameworks for real-time embedded systems. Compared to other existing surveys, this survey focuses specifically on criteria connected with real-time and embedded systems. Further, to be practically relevant, we restrict the survey only to the frameworks that support the full development life cycle (i.e. from design till execution support). In this context, the survey illustrates the complexity of development in each framework by giving specification and code samples.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

Notes

  1. http://www.esa.int/.

  2. http://www.mathworks.com/products/simulink.

  3. http://www.esterel-technologies.com/products/scade-suite/.

  4. http://scg.unibe.ch/archive/pecos/.

  5. http://sourceforge.net/apps/trac/myccm-hi/wiki.

  6. http://www.scons.org/.

  7. http://www.aadl.info/.

  8. http://www.cs.wustl.edu/~schmidt/TAO-users.html.

  9. Available at http://www.idt.mdh.se/pride/.

  10. http://www.autosar.org/.

  11. http://www.arccore.com/.

  12. http://www.sei.cmu.edu/predictability/tools/starterkit/index.cfm.

  13. http://www.philips.com/.

  14. According to the email communication with the implementation author, it is no longer being actively developed.

  15. http://www.itea2.org/.

  16. http://ant.apache.org/.

  17. http://mind.ow2.org/.

  18. http://www.bosch.com/.

  19. http://www.absint.de/ait/.

  20. http://www.mathworks.com/automotive/standards/autosar.html.

  21. http://fractal.ow2.org/fractalbpc/.

  22. http://www.ellidiss.com/stood_detail.asp.

  23. http://cloc.sourceforge.net/.

  24. http://standards.ieee.org/develop/wg/POSIX.html.

  25. http://www.osek-vdx.org/.

References

  1. Anne M, He R, Jarboui T, Lacoste M, Lobry O, Lorant G, Louvel M, Navas J, Olive V, Polakovic J, Poulhies M, Pulou J, Seyvoz S, Tous J, Watteyne T (2009) Think: view-based support of non-functional properties in embedded systems. In: Proceedings of ICESS-09, Zhejiang, China, pp 147–156. May 2009

  2. AUTOSAR GbR (2005) Autosar-technical overview. Technical report, AUTOSAR GbR

  3. Balek D, Plasil F (2001) Software connectors and their role in component deployment. In: Proceedings of DAIS’01, Krakow, Poland, vol 198 of IFIP conference proceedings, Kluwer, pp 69–84 Sept 2009

  4. Barros T, Ameur-Boulifa R, Cansado A, Henrio L, Madelaine E (2009) Behavioural models for distributed fractal components. Ann Telecommun 64(1–2):25–43

    Article  Google Scholar 

  5. Baumeister H, Hacklinger F, Hennicker R, Knapp A, Wirsing M (2006) A component model for architectural programming. ENTCS Proc FACS 2005 160:75–96

    Google Scholar 

  6. Behnam M, Nolte T, Sjodin M, Shin I (2010) Overrun methods and resource holding times for hierarchical scheduling of semi-independent real-time systems. IEEE Trans Ind Inf 6(1):93–104

    Article  Google Scholar 

  7. Berthomieu B, Bodeveix J-P, Chaudet C, Zilio S, Filali M, Vernadat F (2009) Formal verification of aadl specifications in the topcased environment. In: Proceedings of Ada-Europe ’09, Brest, France, vol 5570 of LNCS. Springer, pp 207–221, June 2009

  8. Borde E, Carlson J, Feljan J, Lednicki L, Lévêque T, Maras J, Petričić A, Sentilles S (2011) PRIDE—an environment for component-based development of distributed real-time embedded systems. In: Proceedings of WICSA 2011, Boulder, Colorado, USA, pp 351–354. IEEE CS, June 2011

  9. Borde E, Haik G, Pautet L (2009) Mode-based reconfiguration of critical software component architectures. In: Proceedings of DATE ’09, Nice, France, pp 1160–1165, April 2009

  10. Bruneton E, Coupaye T, Stefani J-B (2004) The fractal component model specification. http://fractal.ow2.org/specification/

  11. Bures T, Carlson J, Crnkovic I, Sentilles S, Vulgarakis A (2008) ProCom—the progress component model reference manual, version 1.0. Technical report, Mälardalen University, June 2008

  12. Bures T, Hnetynka P, Malohlava M (2009) Using a product line for creating component systems. In: Proceedings of the 2009 ACM symposium of applied computing (SAC’09), Honolulu, Hawaii, USA. ACM Press, pp 501–508. Mar 2009

  13. Bures T, Hnetynka P, Plasil F(2006) SOFA 2.0: balancing advanced features in a hierarchical component model. In: Proceedings of SERA 2006, Seattle, USA, pp 40–48. Aug 2009

  14. Bures T, Hnetynka P, Plasil F, Klesnil J, Kmoch O, Kohan T, Kotrc P (2007) Runtime support for advanced component concepts. In: Proceedings of SERA 2007, Busan, Korea. IEEE CS, pp 337–345. Aug 2007

  15. Burns A (1999) The ravenscar profile. Ada Lett. XIX(4):49–52

    Article  Google Scholar 

  16. Buttazo GC (2005) Hard real-time computing systems: predictable scheduling algorithms and applications, 2nd edn. Springer, Berlin

    Book  Google Scholar 

  17. Cervantes H, Favre J-M (2002) Comparing JavaBeans and OSGi towards an integration of two complementary component models. In: Proceedings of EUROMICRO’02, Dortmund, Germany. IEEE CS, pp 17–23. Dec 2002

  18. Chaki S, Ivers J, Lee P, Wallnau K, Zeilberger N (2007) Model-driven construction of certified binaries. In: Proceedings of MoDELS 2007, Nashville, USA, vol 4735 of LNCS. Springer, pp 666–681. Oct 2007

  19. Chkouri M Y, Robert A, Bozga M, Sifakis J (2008) Translating AADL into BIP—application to the verification of real-time systems. In: Proceedings of workshops and symposia at MODELS 2008, Toulouse, France, vol 5421 of LNCS. Springer, pp 5–19. Oct 2008

  20. Crnkovic I, Chaudron M, Sentilles S, Vulgarakis A (2007) A classification framework for component models. In: Proceedings of the 7th conference on software engineering and practice in Sweden, Oct 2007

  21. Crnkovic I, Larsson M (2002) Building reliable component-based software systems. Artech House, INC, Norwood

    MATH  Google Scholar 

  22. Crnkovic I, Sentilles S, Vulgarakis A, Chaudron M (2011) A classification framework for software component models. IEEE Trans Softw Eng 37(5):593–615

    Article  Google Scholar 

  23. de Jonge M (2009) Developing product lines with third-party components. ENTCS Proc LDTA 2008 238(5):63–80

    Google Scholar 

  24. Fassino J-P, Stefani J-B, Lawall J, Muller G (2002) Think: a software framework for component-based operating system kernels. In: Proceedings of the 2002 USENIX annual technical conference, Monterey, California, USA, USENIX. pp 73–86. June 2002

  25. Feiler PH, Gluch DP, Hudak JJ (2006) The architecture analysis and design language (AADL): an introduction, Feb 2006

  26. Fellner KJ, Turowski K (2000) Classification framework for business components. In: Proceedings of HICSS-33, Maui, Hawaii. IEEE CS. vol 8, pp 1–10. Jan 2000

  27. Genßler T, Stich C, Christoph A, Winter M, Nierstrasz O, Ducasse S, Wuyts R, Arévalo G, Schönhage B, Müller P (2002) Components for embedded software: the PECOS approach. In: Proceedings of CASES ’02, Grenoble, France, ACM Press. pp 19–26. Oct 2002

  28. Hänninen K, Mäki-Turja J, Nolin M, Lindberg M, Lundbäck J, Lundbäck K-L (2008) The Rubus component model for resource constrained real-time systems. In: Proceedings of SIES 2008, Montpellier, France, IEEE. pp 177–183. June 2008

  29. Hansson H, Åkerholm M, Crnkovic I, Törngren M (2004) SaveCCM – a component model for safety-critical real-time systems. In: Proceedings of EUROMICRO’04, Rennes, France, IEEE. pp 627–635. Aug 2004

  30. Hatcliff J, Deng X, Dwyer M B, Jung G, Ranganath V P (2003) Cadena: an integrated development, analysis, and verification environment for component-based systems. In: Proceedings of ICSE 2003, Portland, Oregon, USA, IEEE CS. pp 160–173. May 2003

  31. Hirsch D, Kramer J, Magee J, Uchitel S (2006) Modes for software architectures. In: Proceedings of EWSA 2006, Nantes, France, vol 4344 of LNCS, Springer, pp 113–126. Sept 2006

  32. Hissam S, Ivers J, Plakosh D, Wallnau K C (2005) Pin component technology (V1.0) and Its C Interface. Technical report CMU/SEI-2005-TN-001, CMU SEI, April 2005

  33. Hnetynka P, Murphy L, Murphy J (2011) Comparing the service component architecture and fractal component model. Comput J 54(7):1026–1037

    Article  Google Scholar 

  34. Hosek P, Pop T, Bures T, Hnetynka P, Malohlava M (2010) Comparison of component frameworks for real-time embedded systems. In: Proceedings of CBSE 2010, Prague, Czech Republic, vol 6092 of LNCS, Springer, pp 21–36. June 2010

  35. Ji Eun Kim, Rogalla O, Kramer S, Hamann A (2009) Extracting, specifying and predicting software system properties in component based real-time embedded software development. In: Proceedings of ICSE 2009, Vancouver, Canada, IEEE, pp 28–38. May 2009

  36. Klobedanz K, Kuznik C, Thuy A, Müller W (2010) Timing modeling and analysis for autosar-based software development - a case study. In: Proceedings of DATE 2010, Dresden, Germany, pp 642–645, March 2010

  37. Kotonya G, Sommerville I, Hall S (2003) Towards a classification model for component-based software engineering research. In: Proceedings of EUROMICRO’03, Belek-Antalya, Turkey, pp 43–52. IEEE CS, Sept 2003

  38. Lasnier G, Zalila B, Pautet L, Hugues J (2009) Ocarina: An environment for AADL models analysis and automatic code generation for high integrity applications. In: Proceedings of Ada-Europe 2009, Brest, France, vol 5570 of LNCS, Springer, Berlin, Heidelberg. pp 237–250. June 2009

  39. Lau KK, Wang Z (2007) Software component models. IEEE Trans Softw Eng 33(10):709–724

    Article  Google Scholar 

  40. Maaskant H (2005) A Robust Component Model For Consumer Electronic Products. In: Dynamic and robust streaming in and between connected consumer-electronic devices, volume 3 of Philips Research Book Series, Springer, Netherlands, pp 167–192

  41. Magee J, Kramer J (1996) Dynamic structure in software architectures. In: Proceedings of SIGSOFT FSE’96, San Francisco, CA, USA. ACM, pp 3–14. Oct 1996

  42. Malohlava M, Plasil F, Bures T, Hnetynka P (2012) Interoperable domain-specific languages families for code generation. Softw Pract Exper (accepted for publication)

  43. Medvidovic N, Taylor RN (2000) A classification and comparison framework for software architecture description languages. IEEE Trans Softw Eng 26(1):70–93

    Article  Google Scholar 

  44. Mencl V, Bures T (2005) Microcomponent-based component controllers: a foundation for component aspects. In: Proceedings of APSEC 2005, Taipei, Taiwan, IEEE CS, pp 729–737. Dec 2005

  45. Merle P, Stefani J-B (2008) A formal specification of the Fractal component model in Alloy. Technical report 6721, INRIA, Nov 2008

  46. Microsoft. Component object model (1993). http://www.microsoft.com/com/

  47. Möller A, Åkerholm M, Fredriksson J, Nolin M (2004) Evaluation of component technologies with respect to industrial requirements. In: Proceedings of EUROMICRO’04, Rennes, France. IEEE CS, pp 56–63. Aug 2004

  48. Nierstrasz O, Arévalo G, Ducasse S, Wuyts R, Black A P, Müller P O, Zeidler C, Genssler T, Born R (2002) A component model for field devices. In: Proceedings of CD’02, Berlin, Germany. Springer, pp 200–209

  49. OMG (2006) CORBA component model specification. OMG document formal/06-04-01, OMG, Apr 2006

  50. OMG (2006) Deployment and configuration of component-based distributed applications, v4.0. OMG document formal/06-04-02, Apr 2006

  51. Ommering R, Linden F, Kramer J, Magee J (March 2000) The Koala component model for consumer electronics software. Computer 33(3):78–85

    Google Scholar 

  52. Perry DE, Wolf AL (October 1992) Foundations for the study of software architecture. ACM SIGSOFT Softw Eng Notes 17(4):40–52

  53. Plasil F, Visnovsky S (November 2002) Behavior protocols for software components. IEEE Trans Softw Eng 28(11):1056–1076

  54. Pop T, Plasil F, Outly M, Malohlava M, Bures T (2012) Property networks allowing oracle-based mode-change propagation in hierarchical components. In: Proceedings of CBSE 2012, Bertinoro, Italy. ACM, pp 93–102. June 2012

  55. Prochazka M, Ward R, Tuma P, Hnetynka P, Adamek J (2009) A component-oriented framework for spacecraft on-board software. In: Proceedings of DASIA 2008, DAta Systems In Aerospace, Palma de Mallorca, number 665 in ESA SP. European Space Agency, May 2009

  56. Ranganath V P, Childs A, Greenwald J, Dwyer MB, Hatcliff J, Singh G (2003) Cadena: enabling CCM-based application development in eclipse. In: Proceedings of the 2003 OOPSLA workshop on eclipse technology eXchange, Anaheim, CA, USA. ACM, pp 20–24. Oct 2003

  57. Rausch A, Reussner R, Mirandola R, Plasil F (eds) (2008) The common component modeling example: comparing software component models, vol 5153 of LNCS. Springer, Aug 2008

  58. Renault X, Kordon F, Hugues J (2009) Adapting models to model checkers, a case study: analysing AADL using time or colored petri nets. In: Proceedings of RSP ’09, Paris, France, IEEE CS, pp 26–33. June 2009

  59. Rodriguez A-I, Ferrero F, Alana E, Panunzio M, Vardanega T, Grenham A (2012) The component layer of COrDeT on-board software architecture. In: Proceedings of DASIA, (2012) Dubrovnik. Croatia, May 2012

  60. Schmidt D C, Gokhale A, Natarajan R, Neema E, Bapty T, Parsons J, Gray J, Nechypurenko A, Wang N (2002) Cosmic: an mda generative tool for distributed real-time and embdedded component middleware and applications. In: Proceedings of the OOPSLA 2002 workshop on generative techniques in the context of model driven architecture. ACM

  61. Siewert S (2006) Real-time embedded components and systems. Cengage Learning, Rockland

  62. Singhoff F, Legrand J, Nana L, Marcé L (2004) Cheddar: a flexible real time scheduling framework. ACM SIGAda Ada Lett XXIV(4):1–8

    Article  Google Scholar 

  63. Szyperski C (2002) Component software: beyond object-oriented programming (Hardcover), 2nd edn. Addison-Wesley Professional, Reading

    Google Scholar 

  64. Vulgarakis A, Suryadevara J, Carlson J, Seceleanu C, Pettersson P (2009) Formal semantics of the ProCom real-time component model. In: Proceedings of EUROMICRO SEAA’09, Patras, Greece. IEEE, pp 478–485. Aug 2009

  65. Wang N, Schmidt DC, Gokhale A, Gill CD, Natarajan B, Rodrigues C, Loyall JP, Schantz RE (2003) Total quality of service provisioning in middleware and applications. Microprocess Microsyst 27:45–54

    Article  Google Scholar 

  66. Yin H, Carlson J, Hansson H (2012) Towards mode switch handling in component-based multi-mode systems. In: Proceedings of CBSE 2012, Bertinoro, Italy. ACM, pp 183–188. June 2012

Download references

Acknowledgments

This work was partially supported by the Grant Agency of the Czech Republic Project P202/11/0312, partially supported by the Charles University GAUK Project 378111, and partially supported by Charles University institutional funding SVV-2013- 267312.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Petr Hnětynka.

Additional information

P. Hošek and M. Malohlava work done while at Charles University, Faculty of Mathematics and Physics.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Pop, T., Hnětynka, P., Hošek, P. et al. Comparison of component frameworks for real-time embedded systems. Knowl Inf Syst 40, 127–170 (2014). https://doi.org/10.1007/s10115-013-0627-9

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10115-013-0627-9

Keywords

Navigation