Powered by OpenAIRE graph
Found an issue? Give us feedback
addClaim

This Research product is the result of merged Research products in OpenAIRE.

You have already added 0 works in your ORCID record related to the merged Research product.

CHESSBOARD: A synergy of object-oriented concurrent programming and program layering

Authors: Baoling S. Sheen; Novak V. Nastasic; Tzilla Elrad;

CHESSBOARD: A synergy of object-oriented concurrent programming and program layering

Abstract

Language support to enable programming by contract offers a systematic approach to the development and verification of object oriented programs [M93]. An object behavior is locally defined in terms of obligations (preconditions) and benefits (postconditions). Concurrent object-oriented programming seems to be an appealing idea because it imposes structure on objects' communication. Since structure of a tightly-coupled, interprocess dependent concurrent program is more than the simple collection of its objects, set of local assertions is not enough to capture cooperation among the different objects. A complementary view which depicts the cooperation among different objects is needed. The concept of communication-closed layers [EF82] is extended for object-oriented concurrent programming. The synergy between concurrent object-oriented programming and layering enables dual reflections of a program as both a collection of objects and a sequence of subgoals achieved by inter-object cooperation. On top of Meyer's intra-object programming by contract we propose inter-object contracts. Intra-object contracts are used for the verification of object state consistency, and inter-object contracts, called teamwork assertions, are used for ensuring cooperation among objects. We view a concurrent program as a CHESSBOARD. The columns are the different objects/tasks and the rows are the program layers. Every square on the board is a logical component of both an object/task and a layer. Our proposal enables a horizontal decomposition of concurrent programs on top of its vertical decomposition into objects/tasks. This synergy, we believe, could make existing design and verification methods for concurrent programming more applicable as teamwork assertions are used to decompose complex programs. The concept neither introduces any physical synchronization barrier among layers nor relies on particular computer architecture and programming language. CHESSBOARD is most beneficial for applications where the objects/tasks are tightly bounded to compute a common objective. We present a simple example of a concurrent program viewed as a CHESSBOARD. The program runs on a Sun workstation using Concurrent C++.

Related Organizations
  • BIP!
    Impact byBIP!
    citations
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    1
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
Powered by OpenAIRE graph
Found an issue? Give us feedback
citations
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
1
Average
Average
Average
Upload OA version
Are you the author? Do you have the OA version of this publication?