Skip to main content

Table 5 List of concerns

From: Relationships between design problem agglomerations and concerns having types and domains of software as transverse dimensions

Validation

Automates validation of data structures during runtime

    

X

 

e.g., java beans validation

     

Service-Orientation

Allows the communication with (web)services or enables a project to

X

X

X

X

X

 

provide (web)services

     

Data Compression

Supports data compression

X

  

X

 

Configuration

Performs automatic configuration of systems’ modules

X

X

 

X

 
 

and functionalities

     

Metrics and Measurement

Measures systems’ metrical/quality attributes

X

  

X

X

Web App Support

Enables the embedding of server-client protocols

X

X

X

X

X

Graph Computing(**)

Supports the mathematical processing of graphs

X

  

X

X

Stream Processing

Enables data streaming to-from systems

X

 

X

  

Text Indexing

Processes data in the form of text

 

X

 

X

 

Geospatial Processing

Supports the processing of geospatial data

X

  

X

 

Test

Automates self-testing of systems’ modules

X

X

X

X

X

I/O Processing

Accesses/processes information obtained from I/O devices

  

X

  

Logging

Allows the logging of routines executed by systems

X

X

X

X

X

Data Format Processing

Imports-exports to-from data formats, e.g., xml, json

X

X

X

X

X

Process Execution

Executes external processes, e.g., external programs

X

X

X

 

X

Report

Enables the preview and printing of reports

  

X

  

Database

Enables the communication with client applications or database

X

X

X

X

X

 

servers

     

Serialization

Supports the serialization of data

X

X

X

X

X

Benchmark

Enables benchmark tests in applications

X

  

X

 

Distributed Computing

Adds distributed-computing features to software systems

X

  

X

X

ElasticSearch Processing

Supports the processing of document-based information

 

X

   

Parsing

Makes the parsing and compiling of source code possible

X

X

X

 

X

Dataset Processing

Enables the processing of dataset formats, e.g., CSV

X

X

   

Security

Adds features related to data security, e.g., encryption

X

X

X

X

X

Dependency Injection

Makes the injection of third-party components during runtime

    

X

 

possible (hotplug)

     

Caching

Supports the definition of data caching strategies

 

X

X

  

Encryption

Enables data encryption

 

X

X

X

 

Tracing

Allows the processing of tracing stacks

  

X

  

Geometry

Adds functionalities use to process geometric shapes’ attributes

   

X

 

Bulding/Deploy

Supports the building and the deployment of systems’ releases

 

X

   

Authentication

Enables the authentication of users or client applications

 

X

   

Cloud Computing

Allows the communication with cloud-based applications

  

X

  

Mailing

Enables the sending/receiving of electronic messages

 

X

   

Messaging

Supports the implementation of message queues

X

X

   

Programming Utilities

Provides special data structures, e.g., list, map, set

X

X

X

X

X

Barcode Reading

Allows the reading of barcodes

  

X

  

Multimedia

Supports the integration with multimedia resources

  

X

  

Bioinformatics

Allows the processing of biological data

 

X

   

UI

Allows the creation of user interfaces

X

 

X

X

X

Cluster Management

Makes the management of clustered data possible

X

    

Mathematical Processing

Provides support for complex mathematical processing

X

  

X

X

  1. (*)Ddistributed, S services, M Mobile, G graph, T timeseries
  2. (**)Not to be confounded with “graphical” computing. A graph is a data structure consisting of vertex and edge sets and a relation that associates each edge with two vertices [35]. Graph computing is the computation of this type of data structure