The Use of Aspects to Simplify Concurrent Programming
Developers who create multi-threaded programs must pay attention to ensuring safe implemen- tations that avoid problems and prevent introduction of a system in an inconsistent state. To achieve this objective programming languages offer more and more support for the programmer by syntactic structure...
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
Wroclaw University of Science and Technology
2014-06-01
|
Series: | e-Informatica Software Engineering Journal |
Subjects: | |
Online Access: | http://www.e-informatyka.pl/attach/e-Informatica_-_Volume_8/eInformatica2014Art2.pdf |
Summary: | Developers who create multi-threaded programs must pay attention to ensuring safe implemen- tations that avoid problems and prevent introduction of a system in an inconsistent state. To achieve this objective programming languages offer more and more support for the programmer by syntactic structures and standard libraries. Despite these enhancements, multi-threaded pro- gramming is still generally considered to be difficult.
The aim of our study was the analysis of existing aspect oriented solutions, which were designed to simplify concurrent programming, propose improvements to these solutions and examine influence of concurrent aspects on complexity of programs.
Improved solutions were compared with existing by listing differing characteristics. Then we com- pared classical concurrent applications with their aspect oriented equivalents using metrics. Values of 2 metrics (from 7 considered) decreased after using aspect oriented solutions. Values of 2 other metrics decreased or remained at the same level. The rest behaved unstably depending on the problem. No metric reported increase of complexity in more than one aspect oriented version of program from set.
Our results indicate that the use of aspects does not increase the complexity of a program and in some cases application of aspects can reduce it. |
---|---|
ISSN: | 1897-7979 2084-4840 |