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