ArticleslgStudy

computer science

RCOS (computer sciences)

RCOS (computer sciences) is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand RCOS (computer sciences) rather than just read about it. In short: rCOS stands for refinement of object and component systems. It is a formal method providing component-based model-driven software development.

Key takeaways

  • RCOS (computer sciences) belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect RCOS (computer sciences) to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of RCOS (computer sciences) from memory before moving on to harder problems.

Reference excerpt

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

Overview 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.

Bibliography 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 Science]. Springer, 2007.

See also Unifying Theories of Programming (UTP)

References

External links rCOS website Archived 2007-12-11 at the Wayback Machine

Worked examples

Example 1 — a first encounter with RCOS (computer sciences)

Start with the simplest possible case. Write down what RCOS (computer sciences) claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to RCOS (computer sciences) before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about RCOS (computer sciences) ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of RCOS (computer sciences)

In research
RCOS (computer sciences) appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses RCOS (computer sciences) in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
RCOS (computer sciences) is common in secondary-school and first-year university syllabi. It links to neighbouring topics Component-based software engineering, Formal methods, Object-oriented programming, so understanding it makes those chapters shorter.
In everyday life
Look for RCOS (computer sciences) outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study RCOS (computer sciences) in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what RCOS (computer sciences) means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain RCOS (computer sciences) out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is RCOS (computer sciences) in simple terms?

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

Why does RCOS (computer sciences) matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study RCOS (computer sciences)?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on RCOS (computer sciences).

Tags

  • Component-based software engineering
  • Formal methods
  • Object-oriented programming
  • United Nations University

Keep exploring