Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Modelling Causal Connections between Objects
Responsible organisation
1997 (English)In: Journal of Programming Languages , ISSN 0963-9306, Vol. 5, no 1, p. 233-258Article in journal (Refereed) Published
Abstract [en]

The conventional object-oriented paradigm provides client-server message passing as the primary means of interaction between objects. Although this is appropriate in situations where one objects requests a service from another object, there are other situations where one object, the observer, depends on state-changes or actions occurring at another object, the target. In those situations, the object-oriented paradigm requires the target object to notify the observer objects, despite the fact that the target object does not benefit from the interaction. This inverted interaction scheme leads to problems such as increased coupling and decreased understandability, maintainability and reusability of the resulting classes. In the analysis of object interactions one can identify four roles: the benefitor, the establisher, the sender and the receiver. The aforementioned problems result from the fact that in client-server interaction, the benefitor and the sender are not always the same object. To address this, we pr opose the notion of causal connections, an alternative interaction mechanism complementing the traditional client-server interaction. Two implementations of causal connections are described; one in the context of C++ and another using the layered object model. It is shown that causal connections solve the problems mentioned above.

Place, publisher, year, edition, pages
London: Chapman & Hall , 1997. Vol. 5, no 1, p. 233-258
Keywords [en]
object-oriented programming , client-server interaction , interobject dependencies
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-9443ISI: 000070980600002Local ID: oai:bth.se:forskinfoE24A51B5441E8605C12568A3002CAB27OAI: oai:DiVA.org:bth-9443DiVA, id: diva2:837292
Available from: 2012-09-18 Created: 2000-03-15 Last updated: 2018-01-11Bibliographically approved

Open Access in DiVA

fulltext(274 kB)161 downloads
File information
File name FULLTEXT01.pdfFile size 274 kBChecksum SHA-512
3c46a1423d2a70b7553becb355cb3966bd6ff9f3accd3cc5cb0ab132c88b2a8d82fcd39a8613e7a8b9a722b36d0b5cfd3ae9fa20a28850589eec05c012dcee86
Type fulltextMimetype application/pdf

Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 162 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

urn-nbn

Altmetric score

urn-nbn
Total: 167 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf