TY - JOUR
T1 - rCOS
T2 - A formal model-driven engineering method for component-based software
AU - Ke, Wei
AU - Li, Xiaoshan
AU - Liu, Zhiming
AU - Stolz, Volker
N1 - Funding Information:
Acknowledgements Many of our former and current colleagues have made contributions to the development of the rCOS method and its tool support. Together with the second and third authors of this paper, He Jifeng started the investigation of the semantic theory of rCOS and established the first layer of the foundation for the rCOS method. Jing Liu and her group have made significant contributions to the link of rCOS to UML and service oriented architecture; Xin Chen, Zhenbang Chen, E-Y Kang, and Naijun Zhan to the component-based modeling and refinement; Charles Morisset, Xiaojian Liu, Shuling Wang, and Liang Zhao to the object-oriented semantics, refinement calculus and verification; Anders P. Ravn to the design of the tool and the CoCoME case study; Dan Li, Xiaoliang Wang, and Ling Yin to the tool development, Bin Lei and Cristiano Bertolini to testing techniques; and Ruzhen Dong and Martin Schäf to the automata-based model of interface behavior. The rCOS methods have been taught in many UNU-IIST training schools, inside and outside Macau and we are grateful to the very helpful feedback and comments that we have received from the participants. The research on rCOS has been supported in parts over the years by the projects HighQSoftD, HTTS, ARV and GAVES funded by Macao Science and Technology Development Fund and the National Nature Science Foundation of China (Grant Nos. 60970031, 61073022).
PY - 2012/2
Y1 - 2012/2
N2 - Model-driven architecture (MDA) has become a main stream technology for software-intensive system design. The main engineering principle behind it is that the inherent complexity of software development can only be mastered by building, analyzing and manipulating system models. MDA also deals with system complexity by providing component-based design techniques, allowing independent component design, implementation and deployment, and then system integration and reconfiguration based on component interfaces. The model of a system in any stage is an integration of models of different viewpoints. Therefore, for a model-driven method to be applied effectively, it must provide a body of techniques and an integrated suite of tools for model construction, validation, and transformation. This requires a number of modeling notations for the specification of different concerns and viewpoints of the system. These notations should have formally defined syntaxes and a unified theory of semantics. The underlying theory of the method is needed to underpin the development of tools and correct use of tools in software development, as well as to formally verify and reason about properties of systems in mission-critical applications. The modeling notations, techniques, and tools must be designed so that they can be used seamlessly in supporting development activities and documentation of artifacts in software design processes. This article presents such a method, called the rCOS, focusing on the models of a system at different stages in a software development process, their semantic integration, and how they are constructed, analyzed, transformed, validated, and verified.
AB - Model-driven architecture (MDA) has become a main stream technology for software-intensive system design. The main engineering principle behind it is that the inherent complexity of software development can only be mastered by building, analyzing and manipulating system models. MDA also deals with system complexity by providing component-based design techniques, allowing independent component design, implementation and deployment, and then system integration and reconfiguration based on component interfaces. The model of a system in any stage is an integration of models of different viewpoints. Therefore, for a model-driven method to be applied effectively, it must provide a body of techniques and an integrated suite of tools for model construction, validation, and transformation. This requires a number of modeling notations for the specification of different concerns and viewpoints of the system. These notations should have formally defined syntaxes and a unified theory of semantics. The underlying theory of the method is needed to underpin the development of tools and correct use of tools in software development, as well as to formally verify and reason about properties of systems in mission-critical applications. The modeling notations, techniques, and tools must be designed so that they can be used seamlessly in supporting development activities and documentation of artifacts in software design processes. This article presents such a method, called the rCOS, focusing on the models of a system at different stages in a software development process, their semantic integration, and how they are constructed, analyzed, transformed, validated, and verified.
KW - component-based design
KW - model transformations
KW - models
KW - tool support
KW - verification
UR - http://www.scopus.com/inward/record.url?scp=84863070932&partnerID=8YFLogxK
U2 - 10.1007/s11704-012-2901-5
DO - 10.1007/s11704-012-2901-5
M3 - Article
AN - SCOPUS:84863070932
SN - 1673-7350
VL - 6
SP - 17
EP - 39
JO - Frontiers of Computer Science in China
JF - Frontiers of Computer Science in China
IS - 1
ER -