Graph transformations for object-oriented refinement

Author:

Zhao Liang1,Liu Xiaojian1,Liu Zhiming1,Qiu Zongyan2

Affiliation:

1. UNU-IIST, P. O. Box 3058, Macao SAR, China

2. LMAM and Department of Informatics, School of Mathematics, Peking University, Beijing, China

Abstract

Abstract An object-oriented program consists of a section of class declarations and a main method . The class declaration section represents the structure of an object-oriented program, that is the data, the classes and relations among them. The execution of the main method realizes the application by invoking methods of objects of the classes defined in the class declarations. Class declarations define the general properties of objects and how they collaborate with each other in realizing the application task programmed as the main method. Note that for one class declaration section, different main methods can be programmed for different applications, and this is an important feature of reuse in object-oriented programming. On the other hand, different class declaration sections may support the same applications, but these different class declaration sections can make significant difference with regards to understanding, reuse and maintainability of the applications. With a UML-like modeling language, the class declaration section of a program is represented as a class diagram , and the instances of the class diagram are represented by object diagrams , that form the state space of the program. In this paper, we define a class diagram and its object diagrams as directed labeled graphs , and investigate what changes in the class structure maintain the capability of providing functionalities (or services ). We formalize such a structure change by the notion of structure refinement . A structure refinement is a transformation from one graph to another that preserves the capability of providing services, that is, the resulting class graph should be able to provide at least as many, and as good, services (in terms of functional refinement) as the original graph. We then develop a calculus of object-oriented refinement , as an extension to the classical theory of data refinement , in which the refinement rules are classified into four categories according to their natures and uses in object-oriented software design. The soundness of the calculus is proved and the completeness of the refinement rules of each category is established with regard to normal forms defined for object-oriented programs. These completeness results show the power of the simple refinement rules. The normal forms and the completeness results together capture the essence of polymorphism, dynamic method binding and object sharing by references in object-oriented computation.

Publisher

Association for Computing Machinery (ACM)

Subject

Theoretical Computer Science,Software

Reference43 articles.

1. Reasoning about dynamically evolving process structures

2. A logic of object-oriented programs

3. Baresi L Heckel R Thöne S Varró D (2003) Modeling and validation of service-oriented architectures: Application vs. style. In: Proceedings of ESEC/FSE 03 European software engineering conference and ACM SIGSOFT symposium on the foundations of software engineering. ACM Press pp 68–77

4. Baresi L Heckel R Thöne S Varró D (2004) Style-based refinement of dynamic software architectures. In: WICSA ’04: Proceedings of the fourth working IEEE/IFIP conference on software architecture (WICSA’04). IEEE Computer Society Washington DC pp 155–164

Cited by 17 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Formal Aspects of Component Software;Lecture Notes in Computer Science;2024

2. Multi-dimensional Abstraction and Decomposition for Separation of Concerns;Dependable Software Engineering. Theories, Tools, and Applications;2023-12-15

3. Linking Formal Methods in Software Development;Theories of Programming and Formal Methods;2023

4. Pattern Matching Based on Object Graphs;IEEE Access;2021

5. Towards Interface-Driven Design of Evolving Component-Based Architectures;NASA Monographs in Systems and Software Engineering;2017

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3