Knowledge and Information Systems

, Volume 40, Issue 1, pp 127–170 | Cite as

Comparison of component frameworks for real-time embedded systems

  • Tomáš Pop
  • Petr Hnětynka
  • Petr Hošek
  • Michal Malohlava
  • Tomáš Bureš
Regular Paper

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.

Keywords

Component-based development Component frameworks  Real-time and embedded systems 

References

  1. 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 2009Google Scholar
  2. 2.
    AUTOSAR GbR (2005) Autosar-technical overview. Technical report, AUTOSAR GbRGoogle Scholar
  3. 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 2009Google Scholar
  4. 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–43CrossRefGoogle Scholar
  5. 5.
    Baumeister H, Hacklinger F, Hennicker R, Knapp A, Wirsing M (2006) A component model for architectural programming. ENTCS Proc FACS 2005 160:75–96Google Scholar
  6. 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–104CrossRefGoogle Scholar
  7. 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 2009Google Scholar
  8. 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 2011Google Scholar
  9. 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 2009Google Scholar
  10. 10.
    Bruneton E, Coupaye T, Stefani J-B (2004) The fractal component model specification. http://fractal.ow2.org/specification/
  11. 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 2008Google Scholar
  12. 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 2009Google Scholar
  13. 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 2009Google Scholar
  14. 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 2007Google Scholar
  15. 15.
    Burns A (1999) The ravenscar profile. Ada Lett. XIX(4):49–52CrossRefGoogle Scholar
  16. 16.
    Buttazo GC (2005) Hard real-time computing systems: predictable scheduling algorithms and applications, 2nd edn. Springer, BerlinCrossRefGoogle Scholar
  17. 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 2002Google Scholar
  18. 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 2007Google Scholar
  19. 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 2008Google Scholar
  20. 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 2007Google Scholar
  21. 21.
    Crnkovic I, Larsson M (2002) Building reliable component-based software systems. Artech House, INC, NorwoodMATHGoogle Scholar
  22. 22.
    Crnkovic I, Sentilles S, Vulgarakis A, Chaudron M (2011) A classification framework for software component models. IEEE Trans Softw Eng 37(5):593–615CrossRefGoogle Scholar
  23. 23.
    de Jonge M (2009) Developing product lines with third-party components. ENTCS Proc LDTA 2008 238(5):63–80Google Scholar
  24. 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 2002Google Scholar
  25. 25.
    Feiler PH, Gluch DP, Hudak JJ (2006) The architecture analysis and design language (AADL): an introduction, Feb 2006Google Scholar
  26. 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 2000Google Scholar
  27. 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 2002Google Scholar
  28. 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 2008Google Scholar
  29. 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 2004Google Scholar
  30. 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 2003Google Scholar
  31. 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 2006Google Scholar
  32. 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 2005Google Scholar
  33. 33.
    Hnetynka P, Murphy L, Murphy J (2011) Comparing the service component architecture and fractal component model. Comput J 54(7):1026–1037CrossRefGoogle Scholar
  34. 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 2010Google Scholar
  35. 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 2009Google Scholar
  36. 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 2010Google Scholar
  37. 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 2003Google Scholar
  38. 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 2009Google Scholar
  39. 39.
    Lau KK, Wang Z (2007) Software component models. IEEE Trans Softw Eng 33(10):709–724CrossRefGoogle Scholar
  40. 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–192Google Scholar
  41. 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 1996Google Scholar
  42. 42.
    Malohlava M, Plasil F, Bures T, Hnetynka P (2012) Interoperable domain-specific languages families for code generation. Softw Pract Exper (accepted for publication)Google Scholar
  43. 43.
    Medvidovic N, Taylor RN (2000) A classification and comparison framework for software architecture description languages. IEEE Trans Softw Eng 26(1):70–93CrossRefGoogle Scholar
  44. 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 2005Google Scholar
  45. 45.
    Merle P, Stefani J-B (2008) A formal specification of the Fractal component model in Alloy. Technical report 6721, INRIA, Nov 2008Google Scholar
  46. 46.
    Microsoft. Component object model (1993). http://www.microsoft.com/com/
  47. 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 2004Google Scholar
  48. 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–209Google Scholar
  49. 49.
    OMG (2006) CORBA component model specification. OMG document formal/06-04-01, OMG, Apr 2006Google Scholar
  50. 50.
    OMG (2006) Deployment and configuration of component-based distributed applications, v4.0. OMG document formal/06-04-02, Apr 2006Google Scholar
  51. 51.
    Ommering R, Linden F, Kramer J, Magee J (March 2000) The Koala component model for consumer electronics software. Computer 33(3):78–85Google Scholar
  52. 52.
    Perry DE, Wolf AL (October 1992) Foundations for the study of software architecture. ACM SIGSOFT Softw Eng Notes 17(4):40–52Google Scholar
  53. 53.
    Plasil F, Visnovsky S (November 2002) Behavior protocols for software components. IEEE Trans Softw Eng 28(11):1056–1076Google Scholar
  54. 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 2012Google Scholar
  55. 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 2009Google Scholar
  56. 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 2003Google Scholar
  57. 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 2008Google Scholar
  58. 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 2009Google Scholar
  59. 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 2012Google Scholar
  60. 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. ACMGoogle Scholar
  61. 61.
    Siewert S (2006) Real-time embedded components and systems. Cengage Learning, RocklandGoogle Scholar
  62. 62.
    Singhoff F, Legrand J, Nana L, Marcé L (2004) Cheddar: a flexible real time scheduling framework. ACM SIGAda Ada Lett XXIV(4):1–8CrossRefGoogle Scholar
  63. 63.
    Szyperski C (2002) Component software: beyond object-oriented programming (Hardcover), 2nd edn. Addison-Wesley Professional, ReadingGoogle Scholar
  64. 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 2009Google Scholar
  65. 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–54CrossRefGoogle Scholar
  66. 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 2012Google Scholar

Copyright information

© Springer-Verlag London 2013

Authors and Affiliations

  • Tomáš Pop
    • 1
  • Petr Hnětynka
    • 1
  • Petr Hošek
    • 2
  • Michal Malohlava
    • 3
  • Tomáš Bureš
    • 1
    • 4
  1. 1.Department of Distributed and Dependable Systems, Faculty of Mathematics and PhysicsCharles UniversityPrague 1Czech Republic
  2. 2.Department of ComputingImperial College LondonLondonUK
  3. 3.Department of Computer SciencePurdue UniversityWest LafayetteUSA
  4. 4.Institute of Computer ScienceAcademy of Sciences of the Czech RepublicPrague 8Czech Republic

Personalised recommendations