Distributed cooperation with action systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Parallel program design: a foundation
Parallel program design: a foundation
Inheritance as an incremental modification mechanism or what like is and isn'tlike
on ECOOP '88 (European Conference on Object-Oriented Programming)
A denotational semantics of inheritance and its correctness
OOPSLA '89 Conference proceedings on Object-oriented programming systems, languages and applications
Programming from specifications
Programming from specifications
ACM Transactions on Programming Languages and Systems (TOPLAS)
Bisimulation semantics for concurrency with atomicity and action refinement
Fundamenta Informaticae
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
Accommodating interference in the formal design of concurrent object-based programs
Formal Methods in System Design
A discipline of multiprogramming
ACM Computing Surveys (CSUR) - Special issue: position statements on strategic directions in computing research
Verification of Array, Record, and Pointer Operations in Pascal
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reduction: a method of proving properties of parallel programs
Communications of the ACM
A Theory of Objects
Refinement Calculus: A Systematic Introduction
Refinement Calculus: A Systematic Introduction
Data Refinement and Remote Procedures
TACS '97 Proceedings of the Third International Symposium on Theoretical Aspects of Computer Software
A Study of The Fragile Base Class Problem
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
A Method for Refining Atomicity in Parallel Algorithms
PARLE '89 Proceedings of the Parallel Architectures and Languages Europe, Volume II: Parallel Languages
CONCUR '98 Proceedings of the 9th International Conference on Concurrency Theory
Trace Refinement of Action Systems
CONCUR '94 Proceedings of the Concurrency Theory
Action Systems with Synchronous Communication
PROCOMET '94 Proceedings of the IFIP TC2/WG2.1/WG2.2/WG2.3 Working Conference on Programming Concepts, Methods and Calculi
Class Refinement and Interface Refinement in Object-Oriented Programs
FME '97 Proceedings of the 4th International Symposium of Formal Methods Europe on Industrial Applications and Strengthened Foundations of Formal Methods
Action-Based Concurrency and Synchronization for Objects
ARTS '97 Proceedings of the 4th International AMAST Workshop on Real-Time Systems and Concurrent and Distributed Software: Transformation-Based Reactive Systems Development
Designing an Object-Oriented Programming Language with Behavioural Subtyping
Proceedings of the REX School/Workshop on Foundations of Object-Oriented Languages
An Approach to Object-Orientation in Action Systems
MPC '98 Proceedings of the Mathematics of Program Construction
Decentralization of process nets with centralized control
PODC '83 Proceedings of the second annual ACM symposium on Principles of distributed computing
Products in the Refinement Calculus
Products in the Refinement Calculus
Hi-index | 0.00 |
We study the notion of class refinement in a concurrent object-oriented setting. Our model is based on a combination of action systems and classes. An action system describes the behavior of a concurrent, distributed, or interactive system in terms of the atomic actions that can take place during the execution of the system. Classes serve as templates for creating objects. To express concurrency with objects, we add actions to classes. We define class refinement based on trace refinement of action systems. Additionally, we give a simulation-based proof rule. We show that the easier to apply simulation rule implies the trace-based definition of class refinement. Class refinement embraces algorithmic refinement, data refinement, and atomicity refinement. Atomicity refinement allows us to split large atomic actions into several smaller ones. Thereby, it paves the way for more parallelism. We investigate the special case of atomicity refinement by early returns in methods.