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...

Full description

Bibliographic Details
Main Authors: Michał Negacz, Bogumiła Hnatkowska
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
id doaj-af82d79782194dbc9a5d961cb3e87409
record_format Article
spelling doaj-af82d79782194dbc9a5d961cb3e874092020-11-24T23:35:47ZengWroclaw University of Science and Technologye-Informatica Software Engineering Journal1897-79792084-48402014-06-0181273710.5277/e-Inf140102The Use of Aspects to Simplify Concurrent ProgrammingMichał Negacz0Bogumiła Hnatkowska1Faculty of Computer Science and Management, Institute of Informatics, Wrocław University of TechnologyFaculty of Computer Science and Management, Institute of Informatics, Wrocław University of TechnologyDevelopers 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.http://www.e-informatyka.pl/attach/e-Informatica_-_Volume_8/eInformatica2014Art2.pdfaspect-oriented programmingConcurrent Programming
collection DOAJ
language English
format Article
sources DOAJ
author Michał Negacz
Bogumiła Hnatkowska
spellingShingle Michał Negacz
Bogumiła Hnatkowska
The Use of Aspects to Simplify Concurrent Programming
e-Informatica Software Engineering Journal
aspect-oriented programming
Concurrent Programming
author_facet Michał Negacz
Bogumiła Hnatkowska
author_sort Michał Negacz
title The Use of Aspects to Simplify Concurrent Programming
title_short The Use of Aspects to Simplify Concurrent Programming
title_full The Use of Aspects to Simplify Concurrent Programming
title_fullStr The Use of Aspects to Simplify Concurrent Programming
title_full_unstemmed The Use of Aspects to Simplify Concurrent Programming
title_sort use of aspects to simplify concurrent programming
publisher Wroclaw University of Science and Technology
series e-Informatica Software Engineering Journal
issn 1897-7979
2084-4840
publishDate 2014-06-01
description 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.
topic aspect-oriented programming
Concurrent Programming
url http://www.e-informatyka.pl/attach/e-Informatica_-_Volume_8/eInformatica2014Art2.pdf
work_keys_str_mv AT michałnegacz theuseofaspectstosimplifyconcurrentprogramming
AT bogumiłahnatkowska theuseofaspectstosimplifyconcurrentprogramming
AT michałnegacz useofaspectstosimplifyconcurrentprogramming
AT bogumiłahnatkowska useofaspectstosimplifyconcurrentprogramming
_version_ 1725524636747169792