Skip to main content
Log in

Design verification in model-based μ-controller development using an abstract component

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Component-based software development is a promising approach for controlling the complexity and quality of software systems. Nevertheless, recent advances in quality control techniques do not seem to keep up with the growing complexity of embedded software; embedded systems often consist of dozens to hundreds of software/hardware components that exhibit complex interaction behavior. Unanticipated quality defects in a component can be a major source of system failure. To address this issue, this paper suggests a design verification approach integrated into the model-driven, component-based development methodology Marmot. The notion of abstract components—the basic building blocks of Marmot—helps to lift the level of abstraction, facilitates high-level reuse, and reduces verification complexity by localizing verification problems between abstract components before refinement and after refinement. This enables the identification of unanticipated design errors in the early stages of development. This work introduces the Marmot methodology, presents a design verification approach in Marmot, and demonstrates its application on the development of a μ-controller-based abstraction of a car mirror control system. An application on TinyOS shows that the approach helps to reuse models as well as their verification results in the development process.

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

Access this article

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

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Adamek J., Plasil F.: Component composition errors and update atomicity: static analysis. J. Softw. Maint. Evol. Res. Pract. 17(4), 363–377 (2005)

    Article  Google Scholar 

  2. Allen R., Garlan D.: A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6, 213–249 (1997)

    Article  Google Scholar 

  3. Arbab, F.: Reo: a channel-based coordination model for component composition. Math. Struct. Comput. Sci. (2004)

  4. Atkinson C., Bayer J., Bunse C. et al.: Component-Based Product Line Engineering with UML. Addison-Wesley, Reading (2002)

    Google Scholar 

  5. Bondavalli A., Cin M.D., Latella D., Majzik I., Pataricza A., Savoia G.: Dependability analysis in the early phases of UML based system design. Int. J. Comput. Syst. Sci. Eng. 16(5), 265–275 (2001)

    Google Scholar 

  6. Braun, A.W., Wallnau, K.C.: The Current State of CBSE. IEEE Software (1998)

  7. Bunse, C., Groß, H.-G., Peper, C.: Embedded system construction—evaluation of model-driven and component-based development approaches. In: MoDELS Workshops, pp. 66–77 (2008)

  8. Bunse C., Levy N., Freiling F.: A taxonomy on component-based software engineering methods. In: Reussner, R., Stafford, J., Szyperski, C. (eds) Architecting Systems with Trustworthy Components, volume LNCS 3938, Springer, New York (2003)

    Google Scholar 

  9. Campbell L., Cheng B., McUmber W., Stirewalt R.E.K.: Automatically detecting and visualising errors in UML diagrams. Requir. Eng. 7(4), 264–287 (2002)

    Article  Google Scholar 

  10. Cheesman J., Daniels J.: UML Components—A Simple Process for Specifying Component-Based Software. Addison-Wesley, Amsterdam (2000)

    Google Scholar 

  11. Choi, Y.: Checking interaction consistency in MARMOT component refinements. In: Proceedings of SOFSEM 2007, LNCS 4362, January 2007

  12. Choi, Y.: Verification of an abstract component using communication patterns. In: 2009 ICSE Workshop on Model-Based Methodologies for Pervasive and Embedded Software, May 2009

  13. Choi, Y., Bunse, C.: Towards component-based design and verification of a μ-controller. In: 11th International Symposium on Component-Based Software Engineering, pp. 196–211 (2008)

  14. Clarke E.M., Grumberg O., Peled D.: Model Checking. MIT Press, Cambridge (1999)

    Google Scholar 

  15. Clarke E.M., Wing J. et al.: Formal methods: state of the art and future directions. ACM Comput. Surv. 28(4), 626–643 (1996)

    Article  Google Scholar 

  16. D’Souza D., Wills A.C.: Objects, Components and Frameworks With UML: The Catalysis Approach. Addison-Wesley, Reading (1998)

    Google Scholar 

  17. EasterBrook, S., Lutz, R., Covington, R., et al.: Experiences using lightweight formal methods for requirements modeling. IEEE Trans. Softw. Eng. (1998)

  18. Engels G., Kuester J.M., Groenwegen L.: Consistent interaction of software components. J. Integr. Des. Process Sci. 6(4), 2–22 (2003)

    Google Scholar 

  19. Formal Systems Europe Ltd.: Failures-Divergence-Refinement: FDR2 User Manual (1997)

  20. Fung M., Henderson-Sellers B., Yap L.-M.: A comparative evaluation of OO methodologies from a business rules and quality perspective. Aust. Comput. J. 29(3), 95–101 (1997)

    Google Scholar 

  21. Gannod, G.C., Lutz, R.R., Cantu, M.: Embedded software for a space interferometry system: automated analysis of a software product line architecture. In: IEEE International Conference on Performance, Computing, and Communications, April 2001

  22. Gay, D., Levis, P., Behren, R., et al.: The nesC language: a holistic approach to networked embedded systems. In: Conference on Programming Language Design and Implementation, pp. 1–11, June 2003

  23. Gomes, L., et al.: Towards usage of formal methods within embedded systems co-design. In: 10th IEEE International Conference on Emerging Technologies and Factory Automation, September 2005

  24. Graf, S., Saidi, H.: Construction of abstract state graphs with PVS. In: Proceedings of the Computer Aided Verification (CAV 1997), pp. 72–83 (1997)

  25. Haertig H., Zschaler S., Pohlack M. et al.: Enforceable component-based realtime contracts: supporting realtime properties from software development to execution. ACM Trans. Softw. Eng. Methodol. 35, 1–31 (2007)

    MATH  Google Scholar 

  26. Hill, J., Szewczyk, R., Woo, A., et al.: System architecture directions for networked sensors. In: 9th International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 93–104, November 2000

  27. Holzmann G.J.: Design and Validation of Computer Protocols. Prentice Hall Software Series, Englewood Cliffs (1991)

    Google Scholar 

  28. Holzmann G.J.: The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, Reading (2003)

    Google Scholar 

  29. Hooman, J., Kugler, H., Ober, I., et al.: Supporting UML-based development of embedded systems by formal techniques. Softw. Syst. Model. (2008)

  30. Hsiung, P.-A.: Formal synthesis and code generation of embedded real-time software. In: 9th International Symposium on Hardware/Software Codesign, April 2001

  31. Jackson D., Wing J.: Lightweight formal methods. IEEE Comput. 29, 21–22 (1996)

    Google Scholar 

  32. Johnson, S.D.: Formal methods in embedded design. IEEE Computer, November 2003

  33. Kern, C., Greenstreet, M.: Formal verification in hardware design: a survey. ACM Trans. Des. Autom. E. Syst. April 1999

  34. Khan, M.U., Geihs, K., et al.: Model-driven development of real-time systems with UML 2.0 and C. In: Proceedings of the 3rd International Workshop on Model-based Methodologies for Pervasive and Embedded Software at the 13th IEEE International Conference on Engineering (2006)

  35. Latella D., Majzik I., Massink M.: Automatic verification of a behavioral subset of UML statechart diagrams using the SPIN model-checker. Form. Asp. Comput. 11, 637–664 (1999)

    Article  MATH  Google Scholar 

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

    Article  Google Scholar 

  37. Mikk, E., Lakhnech, Y., Siegel, M., Holzmann, G.: Implementing statecharts in PROMELA/SPIN. In: Second IEEE Workshop on Industrial Strength Formal Specification Techniques, October 1998

  38. Milner R.: Communicating and Mobile Systems: The π-Calculus. Cambridge University Press, Cambridge (1999)

    Google Scholar 

  39. Mitchell B.: Characterizing comminication channel deadlocks in sequence diagrams. IEEE Trans. Softw. Eng. 34(3), 305–320 (2008)

    Article  Google Scholar 

  40. Moriconi M., Qian X., Riemenschneider R.A.: Correct architecture refinement. IEEE Trans. Softw. Eng. 21(4), 356–372 (1995)

    Article  Google Scholar 

  41. Naeser, G., Lundqvist, K.: Component-based approach to run-time kernel specification and verification. In: 17th Euromicro Conference on Real-Time Systems, 2005

  42. Ober, I.: Action specification in OMEGA. Technical Report, Verimag (2004). http://www-omega.imag.fr/

  43. Object Management Group.: UML2.0 superstructure specifications

  44. Ribeiro, O.R., Fernandes, J.M., Pinto, L.F.: Model checking embedded systems with PROMELA. In: 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (2005)

  45. Rushby, J., Stringer-Calvert, D.W.J.: A less elementary tutorial for the PVS specification and verification system. Technical Report CSL-95-10, SRI International, August 1996

  46. Szyperski C.: Component Software: Beyond Object-oriented Programming. Addison-Wesley, Reading (2002)

    Google Scholar 

  47. Trofin, M., Murphy, J.: Static verification of component composition in contextual composition frameworks. Software Tools and Technology Transfer (2008)

  48. van der Aalst W.M.P., van Hee K.M., van der Toorn R.A.: Component-based software architectures: a framework based on inheritance of behavior. Sci. Comput. Program. 42(2–3), 129–171 (2002)

    Article  MATH  Google Scholar 

  49. Xie, F., Browne, J.C.: Verified systems by composition from verified components. In: Proceedings of Joint Conference ESEC/FSE (2003)

  50. Yang, W., Chung, M.-K., Kyung, C.-M.: Current status and challenges of soc verification for embedded systems market. In: IEEE International Conference on System-On-Chip (2003)

  51. Ziadi, T., Helouët, L., Jezequel, J.-M.: Revisiting statechart synthesis with an algebraic approach. In: 26th International Conference on Software Engineering (2004)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yunja Choi.

Additional information

Communicated by Dr. Perry Alexander.

This paper is an extended version of Choi [11] and Choi and Bunse [13]. This work has been supported by the Korea Research Foundation Grant funded by the Korean Government (KRF-2008-331-D00525) and the Engineering Research Center of Excellence Program of the Korean Ministry of Education, Science and Technology (MEST)/Korea Science and Engineering Foundation (KOSEF), grant number R11-2008-007-03002-0.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Choi, Y., Bunse, C. Design verification in model-based μ-controller development using an abstract component. Softw Syst Model 10, 91–115 (2011). https://doi.org/10.1007/s10270-010-0147-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-010-0147-y

Keywords

Navigation