A software component model with concurrency

Component-Based Software Development (CBSD) represents a paradigm shift in software engineering, where the focus is on building systems out of pre-developed components. In CBSD, components developers are different from component users, where the former concentrate on building reusable components, wh...

Full description

Bibliographic Details
Main Author: Ntalamagkas, Ioannis
Other Authors: Lau, Kung-Kiu
Published: University of Manchester 2009
Subjects:
Online Access:http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.506275
id ndltd-bl.uk-oai-ethos.bl.uk-506275
record_format oai_dc
spelling ndltd-bl.uk-oai-ethos.bl.uk-5062752015-03-20T03:46:48ZA software component model with concurrencyNtalamagkas, IoannisLau, Kung-Kiu2009Component-Based Software Development (CBSD) represents a paradigm shift in software engineering, where the focus is on building systems out of pre-developed components. In CBSD, components developers are different from component users, where the former concentrate on building reusable components, whereas the latter concentrate on building customised systems out of components. The different roles in component development give rise to the idealised component life cycle which consists of the design, the deployment and the run-time phases. Ideally, component composition should occur in both design and deployment phases and it should be supported by a proper composition theory. Concurrency is an important issue in software engineering and in theoretical computer science. Decades of research have been devoted in finding efficient ways of discovering common concurrency errors, like deadlock, in abstract mathematical models and in software. Existing software component models do not address composition and concurrency completely. In general, component models support composition in either design or deployment phase but not in both. Regarding concurrency, the support provided varies, ranging from complete formal models to leaving the concurrency aspect undefined and dependant on the implementation. More importantly, not all component models support both passive and active components. In this thesis we define a software component model that supports composition of active and passive components using explicit composition operators, in both design and deployment phases of the idealised component life cycle. We also show that our composition connectors are control patterns and we define their composition. This means that composite connectors are composed out of simpler ones. This allows for the hierarchical construction of complex control structures that can be used in further connector and component compositions. Connector composition constitutes a unique feature of our model.005.3University of Manchesterhttp://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.506275http://www.manchester.ac.uk/escholar/uk-ac-man-scw:180466Electronic Thesis or Dissertation
collection NDLTD
sources NDLTD
topic 005.3
spellingShingle 005.3
Ntalamagkas, Ioannis
A software component model with concurrency
description Component-Based Software Development (CBSD) represents a paradigm shift in software engineering, where the focus is on building systems out of pre-developed components. In CBSD, components developers are different from component users, where the former concentrate on building reusable components, whereas the latter concentrate on building customised systems out of components. The different roles in component development give rise to the idealised component life cycle which consists of the design, the deployment and the run-time phases. Ideally, component composition should occur in both design and deployment phases and it should be supported by a proper composition theory. Concurrency is an important issue in software engineering and in theoretical computer science. Decades of research have been devoted in finding efficient ways of discovering common concurrency errors, like deadlock, in abstract mathematical models and in software. Existing software component models do not address composition and concurrency completely. In general, component models support composition in either design or deployment phase but not in both. Regarding concurrency, the support provided varies, ranging from complete formal models to leaving the concurrency aspect undefined and dependant on the implementation. More importantly, not all component models support both passive and active components. In this thesis we define a software component model that supports composition of active and passive components using explicit composition operators, in both design and deployment phases of the idealised component life cycle. We also show that our composition connectors are control patterns and we define their composition. This means that composite connectors are composed out of simpler ones. This allows for the hierarchical construction of complex control structures that can be used in further connector and component compositions. Connector composition constitutes a unique feature of our model.
author2 Lau, Kung-Kiu
author_facet Lau, Kung-Kiu
Ntalamagkas, Ioannis
author Ntalamagkas, Ioannis
author_sort Ntalamagkas, Ioannis
title A software component model with concurrency
title_short A software component model with concurrency
title_full A software component model with concurrency
title_fullStr A software component model with concurrency
title_full_unstemmed A software component model with concurrency
title_sort software component model with concurrency
publisher University of Manchester
publishDate 2009
url http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.506275
work_keys_str_mv AT ntalamagkasioannis asoftwarecomponentmodelwithconcurrency
AT ntalamagkasioannis softwarecomponentmodelwithconcurrency
_version_ 1716782390408380416