From Wikipedia, the free encyclopedia
Jump to: navigation, search

rCOS stands for refinement of object and component systems. It is a formal method providing component-based model-driven software development.


rCOS was originally developed by He Jifeng, Zhiming Liu and Xiaoshan Li at UNU-IIST in Macau, and consists of a unified multi-view modeling notation with a theory of relational semantic and graph-based operational semantics, a refinement calculus and tool support for model construction, model analysis and verification, and model transformations. Model transformations automate refinement rules and design patterns and generate conditions as proof obligations. rCOS support multiple dimensional modeling: models at different levels of abstraction related by refinement relations, hierarchy of compositions of components, and models of different views of the system (interaction protocols of components, reactive behaviors of components, data functionality, and class structures and data types). Components are composed and integrated based on their models of interfaces to support third party composition.[1]


  • Ruzhen Dong, Johannes Faber, Wei Ke, Zhiming Liu: "rCOS: Defining Meanings of Component-Based Software Architectures". Unifying Theories of Programming and Formal Engineering Methods – ICTAC Training School on Software Engineering 2013, LNCS 8050: 1-66, Springer (2013)
  • Wei Ke, Xiaoshan Li, Zhiming Liu, Volker Stolz: "rCOS: a formal model-driven engineering method for component-based software". Frontiers of Computer Science in China 6(1): 17-39 (2012)
  • Zhiming Liu, Charles Morisset and Volker Stolz. "rCOS: Theory and Tool for Component-Based Model Driven Development, Keynote at FSEN09", Technical Report 406, UNU-IIST, P.O. Box 3058, Macau, February 2009.
  • Zhenbang Chen, Zhiming Liu, Ander P. Ravn and Volker Stolz (2009). "Refinement and Verification in Component-Based Model Driven Design". UNU-IIST Research Report 381. Science of Computer Programming, 74(4):168-196, 2009.
  • Liang Zhao, Xiaojian Liu, Zhiming Liu and Zongyan Qiu (2009). "Graph transformations for object-oriented refinement", Formal Aspects of Computing, 21(1-2):103-131, 2009.
  • He Jifeng, Xiaoshan Li, and Zhiming Liu. "Component-based software engineering". In Pro. ICTAC’2005, Lecture Notes in Computer Science volume 3722. Springer, 2005.
  • He Jifeng, Xiaoshan Li, and Zhiming Liu. "rCOS: A refinement calculus for object systems". Theoretical Computer Science, 365(1–2):109–142, 2006.
  • He Jifeng, Zhiming Liu, and Xiaoshan Li. "A theory of reactive components" Electronic Notes in Theoretical Computer Science, 160:173–195, 2006.
  • Xin Chen, He Jifeng, Zhiming Liu and Naijun Zhan. "A model of component-based programming". Proc. FSEN 2007, Computer Science, Lecture Notes in Computer Science 4767, pp. 191–208.
  • Xin Chen, Zhiming Liu, and Vladimir Mencl. "Separation of concerns and consistent integration in requirements modelling". In Proc. Current Trends in Theory and Practice of Computer Science, Lecture Notes in Computer Scienc]. Springer, 2007.

See also[edit]


  1. ^ "rCOS". UNU-IIST. Archive.org. 2013. Retrieved 22 April 2014.