Aspect Browser


The TAOSD workshops have been successfully organized since 2003. With the fourth TAOSD workshop we reflect on the different aspects that have been identified, implemented and presented during the workshops. We think that the aspects can be useful for a broader audience and as such would like to share our experiences.

The following table includes the aspects that can be identified in the papers in the TAOSD workshops.

Aspects are categorized as Production Aspect, Development Aspect or Enforcement Aspect. Production aspects are aspects that need to be integrated in the production build of the applications. Development aspects are aspects that support the development of the application but do not appear in the production build of the application. Enforcement aspects are aspects that aim to ensure contractual specifications.

Each aspect belongs to some application domain such as Gaming, Graph Visualization or Distributed Systems. The last column indicates the source and the page numbers where the aspect is explained. Please note that the page is still under construction. We are busy with defining the exact papers for the listed aspects.


Aspect Domain Type Description of Aspect Source Page
Access Control General Development Access control enables an authority to control access to areas and resources in a given physical facility or computer-based information system. TAOSD 2008
TAOSD 2009
 
Authentication General Production In many applications clients need to authenticate themselves before accessing the resources. This aspect modularizes the authentication concern.  TAOSD 2003 TAOSD 2008
TAOSD 2009
 
Authorization General Production Authorization, is a process that establishes whether an authenticated user has sufficient permissions to access certain resources. TAOSD 2003 TAOSD 2008
TAOSD 2009
 
Checking pre and post conditions General,
Constraint-based systems
Enforcement In many applications the execution of operations is bound to the pre and post conditions check.  TAOSD 2008  
Checking in/Checking out Configuration Management, Versioning Management Production In configuration management and revision control systems one developer at a time has write access to the central repository copies of those files. Once one developer "checks out" a file, others can read that file, but no one else is allowed to change that file until that developer "checks in" the updated version (or cancels the checkout). TAOSD 2003  
Collision Detection Gaming Production In gaming applications multiple objects can move. This aspect detects the collision of objects in the game. TAOSD 2008
Connection Setting Resource Management, Database Systems Production A Database connection is a facility that allows client software to communicate with database server software, whether on the same machine or not. A connection is required to send commands and receive answers. TAOSD 2003
TAOSD 2009
Constraint Checking General, Constraint-based systems Production When changing the behavior or state of an object usually some constraints need to be checked. This aspect captures the locations of these situations and defines the constraint handling TAOSD 2003  
Command Execution Constraints General, Constraint-based systems Production For different applications different graph models might be required with specific constraints. In order to introduce those constraints many graph visualization commands in the base code  TAOSD 2008
Cost wrapping aspect General Production an aspect that defines cost sensitive
techniques to classification algorithms 
TAOSD 2003  
Creation of Objects General Production Creation of objects can be scattered over an application. TAOSD 2008  
Check creation and deletion of Game Objects Gaming, General Development In game applications many different objects are created and or deleted. The creation and deletion of these objects might be spread over the entire application. This aspect localizes this creation and deletion.  TAOSD 2008
Checking Threshold Identification General, Constraint-Checking Production Checking threshold constraint in simulations. the user is offered to identify the constants
of the simulation for each execution.
TAOSD 2003  
Communication Protocol General Production a communications protocol is the set of standard rules for data representation, signaling, authentication and error detection required to send information over a communications channel. TAOSD 2009  
Data Representation General     TAOSD 2003  
Debugging Development Debugging is a methodical process of finding and reducing the number of bugs, or defects, in programs making it behave as expected.
TAOSD 2003
Design Pattern Implementations General Production, Enforcement Application of patterns might be easily scattered over the application. Different aspect implementations can be provided to localize the implementation of patterns. TAOSD 2008  
Encryption Cryptography, General Production Encryption is the process of transforming information (referred to as plaintext) using an algorithm (called cipher) to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key. The result of the process is encrypted information. TAOSD 2008
Error Detection General Development Error detection is the ability to detect the presence of errors. TAOSD 2003
Error Correction General Development Error correction is the additional ability to reconstruct the original, error-free data.
Fault Injection Testing Development In software testing, fault injection is a technique for improving the coverage of a test by introducing faults to test code paths. It is often used with stress testing and is widely considered to be an important part of developing robust software.    
Input Injection Testing Development During the evolution of the classification algorithm it may be desirable to inject some example instances to the classification algorithm and see intermediate results.
In order to do this, algorithm developer should interfere with the algorithm’s inner structure.
TAOSD 2003  
Layout Profiling Graph Visualization, General Development In graph visualization approaches the layout algorithm development is a long and difficult process which requires comprehensive profiling in order to increase performance of the layout. The developer needs to fulfill many requirements such as decreasing method call count and detecting and solving method hotspots.  TAOSD 2008  
License
Checking
General A software license is a legal instrument governing the usage or redistribution of software. A typical software license grants an end-user permission to use one or more copies of software. TAOSD 2003
Logging General   Logging is the activity of recording events in order to provide an audit trail that can be used to understand the activity of the system and to diagnose problems. TAOSD 2003  
Failure Detection General Production Fault detection and isolation concerns monitoring a system, identifying when a fault has occurred and pinpoint the type of fault and its location.   TAOSD 2008
Model Property Settings General, Patterns Production In frameworks that are based on MVC pattern such as GEF, any changes to the model properties must be propagated to the controller. However, this results in scattering of the controller notification concern in the entire graph model classes.  TAOSD 2008
Monitoring Monitoring Production Monitoring of behavior TAOSD 2003  
Notification Sound Gaming Production One of the most important features of a chat application is to play several notification sounds to provide a friendlier user interface. Alerts can be used when a client signs in or receives a private message for example. However, this concern can be scattered across the application. TAOSD 2008
Null Check Resource Management, Database Systems Enforcement In database systems one of the key constraints is that the primary key is not null. This aspect implements this behavior.  TAOSD 2008  
Out-of-Frame Checking Gaming Production In gaming application usually objects have to move within a given frame. This aspect checks whether some objects are moving out of the frame. TAOSD 2008  
Observer Pattern General Development The observer pattern  is a software design pattern in which an object, called the subject, maintains a list of its dependents, called observers, and notifies them automatically of any state changes, usually by calling one of their methods. It is mainly used to implement distributed event handling systems. TAOSD 2009  
Performance Monitoring General Production In algorithm testing, performance of the algorithm can be evaluated with respect to many concerns, such as time, space, precision, etc. And these evaluation metrics can be repeatedly measured in certain stages of the algorithm. This is also the case with the classifier testing mechanism. TAOSD 2003
Persistence Resource Management Production Persistence refers to the characteristic of data that outlives the execution of the program that created it. This aspect localizes the behavior for persistence. The aspect implementation might change with respect to initialization, accessing, updating or deleting entities.  TAOSD 2008
Playing Sound Gaming, General Production Different sound effects are used in game applications; such as for specific actions like a crash, shooting an enemy object etc. In addition, background music might be required during the game.  TAOSD 2008
Plugin General Production a plug-in (also called add-on) consists of a computer program that interacts with a host application to provide a certain, usually very specific, function "on demand". TAOSD  
Profiling General Development Profiling a system means collecting the information about the time spent by each operation in the system.  TAOSD 2008
TAOSD 2003
Redo General
Database Systems
Production Redo reverts the effects of the undo action. TAOSD 2009  
Refresh Database Systems Production Refresh operation in database systems is required to retrieve the latest consistent state. This aspect localizes this behavior.  TAOSD 2008
Rendering Graphical Applications Production Client GUI is updated when a change occurs on the client model. Only the related panel of the GUI is updated for a certain change, not the whole GUI is refreshed after a single change.  TAOSD 2009  
Resource Pooling Database Systems Production Pooling is a resource management term that refers to the grouping together of resources (assets, equipment, effort, etc.) for the purposes of maximizing advantage and/or minimizing risk to the users. TAOSD 2008
Simulation Rules Simulation Systems, Rule-based Systems Production Simulation systems have to deal with multiple rules including rules for initiating the simulation, running simulations and terminating simulations TAOSD 2008  
Testing General Development Testing checks the output for a specified set of input that usually covers a sufficient range of possible options. TAOSD 2003
Timer General Production
Development
For many applications the duration of processes might be required. The aspect can be applied both as a production and a development aspect TAOSD 2009  
Tracing General, Development Development Tracing is a specialized use of logging to record information about a program's execution. Very often this includes logging the entry and exit of selected methods. The logged information is typically used by programmers for debugging and problem diagnosis purposes, and additionally, depending on the type and detail of information contained in a trace log. TAOSD 2008
Throwing Bombs / Shooting Gaming Production Many game applications include some behavior such as shooting or throwing bombs.  TAOSD 2008
Transaction property Atomic Transactions Production Transactions ensure that operations are executed atomically and prevent inconsistencies. This aspect implements the required transaction concerns.  TAOSD 2008  
Undo General
Database Systems
Production Undo is an operation in software programs to erase the last change done to the document, reverting it to an older state. TAOSD 2009  
Validation General Production
Enforcement
Validation checks
"Are you building the right product?
TAOSD 2009  
Verificiation General Production
Enforcement
Verification checks whether an item meets the specifications
"Are you building the product right?"
TAOSD 2009  
View Checking Graphical User Interface Design Production Every subject must provide a subject manager which keeps track of views
Notify its view when a subject data changes. Every view must provide a view manager which listens the corresponding view; provide methods for updating itself.
TAOSD 2003
View Updating Graphical User Interface Design Production Updating the GUI elements according to the state of the application and display notification indicators when necessary TAOSD 2008 TAOSD 2003