Cross-cutting concern - CompWisdom
About us  |  Why use us?  |  Press  |  Contact us

 

Topic: Cross-cutting concern



  
 Concern - Wikipedia, the free encyclopedia
Cross-cutting concerns are generally considered a bad thing when creating software.
A concern is cross-cutting to the extent that it scattered and tangled amongst other concerns.
For example, when programmers simply insert calls to cross-cutting concerns (such as logging, object persistence, etc.) everywhere in the source code where needed, the resultant program leads to a highly-coupled system.
http://en.wikipedia.org/wiki/Concern   (179 words)

  
 Aspect
Another possible view is, that every major feature of the program, core concern (business logic) or cross-cutting concern (additional features), is an aspect, and by weaving them together, you finally produce a whole out of the separate aspects.
In computer science, an aspect is part of a program that cross-cuts its core concern s, therefore violating its Separation of concerns.
AspectS General-purpose aspect-oriented extension to Smalltalk, in the Squeak environment.
http://www.serebella.com/encyclopedia/article-Aspect.html   (979 words)

  
 Research Statement for David Coppit
In particular, he has designed and implemented an algorithm for automatically computing the contextual code for cross-cutting concerns of interest.
In contrast, software plans is a language-independent approach that treats cross-cutting concerns as inherently different than the functionality that has been traditionally encapsulated using functional and object-oriented language abstractions.
My research seeks to replace the single code listing that has dominated software development for thirty years, instead using multiple orthogonal views, each of which presents a cross-cutting concern of interest along with any contextual code that is necessary to understand it.
http://www.cs.wm.edu/~coppit/research_statement.php   (2954 words)

  
 A look at aspect-oriented programming
The danger is that you may develop software that incorporates cross-cutting concerns, and your implementation approach will either cease to be supported or will change significantly.
AOP is designed to handle cross-cutting concerns by providing a mechanism, the aspect, for expressing these concerns and automatically incorporating them into a system.
The multi-dimensional separation of concerns paradigm, for example, has been under development at IBM Research, and an implementation is available in the HyperJ tool (http://www.alphaworks.ibm.com/tech/hyperj).
http://www-128.ibm.com/developerworks/rational/library/2782.html   (3420 words)

  
 MSDN Home
The difficult part is in integrating the functionality provided by the concern into existing classes without impacting the class itself.
The level of coupling when a concern is maintained in a separate class is quite low.
In general, the functionality required by the concern will be implemented in a single class.
http://msdn.microsoft.com/canada/btl/novwinner   (2128 words)

  
 Master's Projects
AOP is based on the idea that computer systems are better programmed by separately specifying the various concerns properties or area of interest of a system and some description of their relationships, and then relying on mechanisms in the underlying AOP environment to automatically weave or compose them together into a coherent program.
The programming technology advancement has improved the ability of software developers to achieve clear separation of concerns, or the ability to identify, encapsulate, and manipulate each parts of software that is relevant to a particular concept, goal, or purpose.
Other concerns, such as logging, will intertwine with many highly unrelated modules.While the tendency in OOP is to find commonality among classes and push it up in the inheritance tree, AOP attempts to realize scattered concerns as first-class elements, and eject them horizontally from the object structure.
http://gaia.ecs.csus.edu/~zhangc/projects.html   (10447 words)

  
 Aspect-oriented Programming
An unwanted result of cross-cutting concerns written in a traditional programming language is tangling.
It is being realized that AOP can even be useful in configurable programs, such as platform-portable, multiple-functionality, mobile, or distributed applications in which cross-cutting concerns span only small parts of the system.
That is, programmers can develop aspects to create software modules for issues that cut across various parts of an application.
http://www.peterindia.net/AOP.html   (1076 words)

  
 Glossary of Terms
However, there usually exists additional, required algorithms ("cross-cutting concerns") that support underlying functionality.
A cross-cutting concern that does not directly relate to the core concern.
A concern has a purpose which it must fulfill during the life of a program.
http://www.cs.utah.edu/~swalton/Documents/Glossary.html   (95 words)

  
 Encyclopedia article on Concern [EncycloZine]
Isolating these cross-cutting concerns forms the goal of aspect-oriented programming.
Programmers write programs in order to address one or more core concerns (such as credit card billing, or sending email), whereas cross-cutting concerns form aspects of a program that do not relate to the core concerns directly, but which proper program execution nevertheless requires.
In computer science, a concern is a problem which a program tries to solve.
http://encyclozine.com/Concern   (164 words)

  
 Aspect oriented programming in C#, Attribute programming, AOP in C#, AOP in VB.net, AOP in .NET
In compile time Core concern code and the cross cut code is weaved before been compiled to MSIL code.
So create modules for Cross cut and Core Concerns separately and then feed both the modules to the compiler.
In short all the cross cut code is moved to a separate module, thus increasing more modularity and bringing in ease of maintenance.
http://www.geocities.com/aspectdotnet   (1546 words)

  
 LtU Classic Archives
But I still think that if you have a lot of cross-cutting concerns then you're using the wrong paradigm.
What concerns me is that maybe there's a simpler program waiting to get out rather than a need to slice up the complexity itself into "aspects".
Slicing up complexity is not the same as simplifying the notation and implementation to begin with.
http://lambda-the-ultimate.org/classic/message9237.html   (1854 words)

  
 Attribute Oriented Programming != Aspect Oriented Programming
The idea is that you should only do so to aid in the implementation of cross-cutting concerns.
The key to AOP is to capture and modularize cross-cutting concerns.
We call this cross-cutting because the modularization we are seeking cross-cuts the hierarchical structure of OO (actually AOP complements procedural languages as well…but that is another topic).
http://weblogs.asp.net/Mnolton/archive/2004/04/23/119181.aspx   (1652 words)

  
 FTPOnline - VSLive! SF 2005 - 6 Myths of Aspect-Oriented Programming
AOP certainly is different from the traditional object paradigm, but it's a solution to a distinct class of problem: the cross-cutting concern.
Instead, AOP solves only one class of problem: the cross-cutting concern.
This is "separation of concerns" at its finest.
http://www.fawcette.com/reports/vslivesf/2005/barnaby   (848 words)

  
 Enabling Aspect-Oriented Programming in WebLogic Server using the JRockit Management API
It solves this by adding an extra dimension to the design space and introduces constructs that allows us to define the cross-cutting concerns, to lift them out into the new dimension and to package them in a modular way.
A cross-cutting concern is a concern that affects several classes or modules, a concern that is not well localized and modularized.
Aspect-oriented programming tries to solve these problems by introducing the concept of separation of concerns in which the concerns can be implemented in a modular and well localized way.
http://dev2dev.bea.com/pub/a/2004/05/boner_vasseur.html   (2381 words)

  
 Quoderat » Aspects
But I’ve also found that the biggest problem seems to be that AOP is seen as dealing with a specific set of cross-cutting concerns only (that would be the logging/security/caching type of group).
I buy a lot of the argument that it makes sense for cross-application concerns, but I don’t know how many concerns there really are: Logging, Security, and possibly performance monitoring seem to be about it.
Other AOSD approaches (Hyper/J, CME) do not do that and offer support beyond the mere code level (Concern Models, like Cosmos).
http://www.megginson.com/blogs/quoderat/archives/2005/07/29/aspects   (1240 words)

  
 What is AOP?
AOP restores modularity by developing the cross-cutting concerns, or aspects, in isolation and then combining them with application modules at build or run time using a programmable weaving process.
For example, the code implementing a security module is scattered into other application code, because security concerns typically cut across a number of application module boundaries (e.g., classes).
Aspect-Oriented Programming (AOP) or Aspect-Oriented Software Development (AOSD) is a new approach to software development that addresses limitations inherent in other approaches, including Object-Oriented Programming.
http://www.aspectprogramming.com/aop.html   (230 words)

  
 Conceptual Architecture
Time is usually invoked as the argument against this approach, but exploring alternative approaches to addressing cross-cutting concerns at the conceptual design level is relatively inexpensive, especially when compared to the status quo approach of trial and error problem-solving during code development!
Cross-cutting concerns are those that remain to be addressed across several, or even all, components.
We can then work on a solution that makes tradeoffs across the system properties, recognizing that we will have to make compromises to reach a solution that is good enough across the set of interacting, and sometimes conflicting, system properties.
http://www.bredemeyer.com/ArchitectingProcess/ConceptualArchitecture.htm   (3445 words)

  
 Dan Milstein's Blog: Why I Fear Aspect-Oriented Programming
Now I understand that it can be a bit tricky to clearly identify when a cross-cutting concern has been introduced into an aspectified system, but just as javadoc helped solve our OO woes so will aop docs.
This is obviously a cross-cutting concern and if well documented can be localized to a single aspect that would define, via pointcuts which methods are readable, which methods are writable, etc. 2.
I wasn't trying to state your concern, I was trying to generalize several disparate concerns, here is where I elluded to your concern: "The mere separation, while it may reduce complexity mechanically, may introduce additional conceptual complexity by decreasing visibililty" Visibility, meaning insight into what your code is (or supposed to be) doing.
http://weblogs.java.net/pub/wlg/1161   (5123 words)

  
 Dynamic Proxies with Reflection Emit
Proxies can be useful in deployed software for implementing cross-cutting concerns.
A cross-cutting concern is a piece of functionality that normally requires code in many methods, but is not really related to the functionality of those methods.
Runtime concerns affect the final functionality of a program.
http://www.dcooney.com/ViewEntry.aspx?ID=422   (3718 words)

  
 MBlog : Greg Wilkins
The OOP design of Filters does allow cross cutting concerns to be implemented in a modular fashion, so useful if not cool applies.
Filters allow cross cutting concerns to be applied to a web application, which is exactly the gig of Aspect Oriented Programming (AOP).
Using the implementation domain events to trigger application level concerns may be impossible or at the very least devoid of the application abstractions we so carefully build in OOP.
http://www.mortbay.com/MB/log/gregw?permalink=filtersVaspects.html   (883 words)

  
 [cap-talk] Re: OS frustration - POLA for Croquet?
I have a question of whether capabilities are a "cross-cutting" >concern and may >be added after the fact through aspect oriented programming.
Until you understand what you are programming there is little hope of programming it right.
I don't >understand how >this might be done, but I don't know capabilities very well, and I just >started on aspect >oriented programming.
http://www.eros-os.org/pipermail/cap-talk/2005-May/003594.html   (2094 words)

  
 How to Address Crosscutting Concerns in Aspect Oriented Software Development
How to Address Crosscutting Concerns in Aspect Oriented Software Development
The usual approach to building systems in terms of components is as follows: You begin by first understanding what the system is supposed to do: What are the stakeholder concerns?
A successful solution to this problem involves two things: an engineering technique to separate such concerns from requirements all the way to code and a composition mechanism to merge the design and implementation for each concern to result in the desired system.
http://www.informit.com/articles/article.asp?p=375541&rl=1   (1122 words)

  
 core concern: Information From Answers.com
If writing an application for handling medical records, the bookkeeping and indexing of such records is a core concern, while logging a history of changes to the record database or user database, or an authentication system, would be cross-cutting concerns since they touch more parts of the program.
The sum of all core concerns is the business logic of a program, while all other aspects of the program are needed for proper execution, but not part of the actual business logic.
In computer science, a core concern is one of the main features or concerns a program is written for.
http://www.answers.com/topic/core-concern   (178 words)

  
 Cross-Browser Component - Ajax Patterns
Cross-browser compatibility is a cross-cutting concern, best dealt with as a separate task at a separate time.
A better solution, and a common approach in the general area of portability, is to isolate cross-browser concerns.
Create cross-browser components, allowing programmers to reuse them without regard for browser compatibility.
http://www.ajaxpatterns.org/Browser-Agnostic_Components   (1589 words)

  
 WebGuard
Yet, this modular component approach fails to address security, a critical cross-cutting concern in web services design.
Usually, the web programmers need to consider what security checks are appropriate and implement them manually in site-specific code.
Automatic: Security enforcement should not depend on manual implementation by web programmers.
http://www.cs.cornell.edu/People/kewang/WebGuard.htm   (334 words)

  
 A Hybrid Approach to Separation of Concerns: The Story of SADES (SMEALSearch) - Pal,Rangaswamy,Giles,Debnath
The approach is based on using the most suitable approach for implementing each cross-cutting concern in a system.
The discussion is based on using three different approaches: composition filters, adaptive programming and aspect-oriented programming to implement cross-cutting concerns in SADES, a customisable and extensible object database evolution system.
Although all these approaches form suitable candidates for separating cross-cutting concerns in a system, one approach can be more suitable for implementing certain types of concerns as compared to the others.
http://gunther.smeal.psu.edu/75093.html   (281 words)

  
 Add Object Cache Monitoring Using JMX and Aspects
Monitoring is a good example of a cross-cutting concern.
The main advantage of AOP is that you can write the code for cross-cutting concerns such as persistence or business rules using Aspects, and apply it declaratively (via Annotations or XML configuration) in the existing code.
AOP lets you add design and run-time behavior to objects in a non-obtrusive way using static and dynamic cross-cutting.
http://www.devx.com/Java/Article/29526?trk=DXRSS_WEBDEV   (1087 words)

  
 MoDeII: Modeling and Analyzing Time-Constraints
At the same time, the time behavior is a cross-cutting concern, not bordered by the behavioral design units, e.g.
The analysis method allows the developer to verify requirements in respect of their consistency and completeness as well as to validate design concerning the fulfillment of time requirements.
They are dictated by the environment of these systems and are often well known at the early phases of the development process.
http://csdl2.computer.org/persagen/DLAbsToc.jsp?resourcePath=/dl/proceedings/&toc=comp/proceedings/ecbs/2005/2308/00/2308toc.xml&DOI=10.1109/ECBS.2005.52   (226 words)

  
 United Nations Economic Commission for Africa (UNECA)
A strong ACT is vital to ensure that gender is a cross-cutting concern of each of the five core programmes, and in work with member states to promote gender partnership in African development.
Partnerships, on a project, programme and institution-to-institution basis, can all be based on a widely shared concern that ECA be a highly effective producer and disseminator of development data and analysis.
In each of the sectoral areas of concern, partners are welcome to join ECA in devising and implementing programmes of strategic importance.
http://www.uneca.org/about_eca/renew.htm   (11323 words)

  
 GenAWeave
In general, it shows an example where a particular cross-cutting concern (a dirty-bit) is identified in over 20 redundant locations.
Video Summary: The following video demonstrates the inner workings of an ObjectPascal (Borland's Delphi) aspect weaver that is built from a commercial program transformation system.
The dirty-bit is then manually removed from the source and then automatically weaved in using an ObjectPascal aspect weaving engine.
http://www.cis.uab.edu/gray/Research/GenAWeave   (261 words)

Compwisdom
 About us   |  Why use us?   |  Press   |  Contact us

 Copyright © 2006 CompWisdom.com Usage implies agreement with terms.