Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • 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, 233-258 p.Article 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, 233-258 p.
Keyword [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: diva2:837292
Available from: 2012-09-18 Created: 2000-03-15 Last updated: 2015-06-30Bibliographically approved

Open Access in DiVA

fulltext(274 kB)32 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: 32 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

Total: 25 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • harvard1
  • 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