Talk:Concern (computer science)
From Wikipedia, the free encyclopedia
The main issue I had with the previous version is that a cross-cutting concern, once separated and isolated is no longer cross-cutting. A reformulation of the problem or perhaps more expressive programming languages will make previously cross-cutting concerns non-crosscutting.
--Andrew Eisenberg 19:14, 29 August 2005 (UTC)
[edit] Disputed: Accuracy, Verifiability Original Research
It appears Edsger W. Dijkstra coined the term Separation of concerns and the concept forms a theme running through many of his papers, some of which I cite here:
http://www.cs.utexas.edu/users/EWD/transcriptions/EWD02xx/EWD288.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD03xx/EWD303.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD03xx/EWD316.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD03xx/EWD340.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD03xx/EWD361.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD03xx/EWD389.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EWD447.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EWD450.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EWD454.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD05xx/EWD512.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD05xx/EWD514.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD05xx/EWD526.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD611.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD06xx/EWD641.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD07xx/EWD709.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD07xx/EWD716.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD07xx/EWD791.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD09xx/EWD932c.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD09xx/EWD963.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1013.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1024.html http://www.cs.utexas.edu/~EWD/transcriptions/EWD12xx/EWD1298.html http://www.cs.utexas.edu/users/EWD/obituary.html
The concerns Dijkstra mentions apply to entire systems (even systems of systems -- perhaps even universally) and would concern everyone affected by the system. Thus, when I approach the ATM with my bank card, I am concerned with correctness, performance, availability, concurrency, security, need, relevance, cost etc. I have no concern whatsoever for source code, implementations, design patterns, use cases, any sort of diagram or any grouping of same.
Concerns can have different importance and the importance can vary over time. Thus availability of the ATM is less of a concern when stopping at the ATM while passing by than it is when I have no money in my pocket needing something from a store about to close. Correctness, on the other hand, is always an important concern.
Sometimes one can break down a concern into other concerns. Thus, a concern for reliability might comprise concerns for correctness, availability and durability as one cannot rely on anything incorrect, unavailable or broken.
This article redefines the term from its original meaning and offers no citations for verification. If one has a verifiable source for some redefinition, both the original meaning and the new meaning need mention to avoid POV.
The explanation of the term given in the article seems wrong and the examples of proposed solutions do not seem to address the separation of concerns at all as the separation of concerns is an intellectual discipline more than anything else.
Bob Badour 17:49, 26 June 2006 (UTC)
- I reworked this article based on my own experiences with software development and AOP, noting Dijkstra's prior work and trying to find sources for core ideas. User:Bob Badour's dispute stood for a year and a half with no major edits nor any discussion. I believe the current version more closely reflects Bob's desired changes, and am removing the dispute tag. Feel free to continue the discussion or to write on my Talk page about this, including the article's place in the greater collection of Software Development articles. mordel (talk) 18:26, 25 January 2008 (UTC)
[edit] Behavior
Is behavior something specific to UML? --Abdull 15:28, 1 June 2007 (UTC)