Results 1 - 10
of
10
Data Encapsulation in Software Components
"... Abstract. Data encapsulation is a familiar property in object-oriented programming. It is not only useful for modelling things in the real world, but it also facilitates reuse by enabling the creation of multiple instances of the same class, each with its own identity and private data. For CBSE, thi ..."
Abstract
-
Cited by 7 (5 self)
- Add to MetaCart
Abstract. Data encapsulation is a familiar property in object-oriented programming. It is not only useful for modelling things in the real world, but it also facilitates reuse by enabling the creation of multiple instances of the same class, each with its own identity and private data. For CBSE, this kind of reuse is clearly also one of the key desiderata. However, it must be achieved in conjunction with composition, which is central to CBSE. In this paper we show how data encapsulation can be combined with composition, by extending a component model we have defined previously. 1
A Survey of Software Component Models
- in Software Engineering and Advanced Applications. 2005. 31 st EUROMICRO Conference: IEEE Computer Socity
, 2005
"... Abstract—Component-based development (CBD) is an important emerging topic in software engineering, promising long-sought-after benefits like increased reuse, reduced time to market, and, hence, reduced software production cost. The cornerstone of a CBD technology is its underlying software component ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
Abstract—Component-based development (CBD) is an important emerging topic in software engineering, promising long-sought-after benefits like increased reuse, reduced time to market, and, hence, reduced software production cost. The cornerstone of a CBD technology is its underlying software component model, which defines components and their composition mechanisms. Current models use objects or architectural units as components. These are not ideal for component reuse or systematic composition. In this paper, we survey and analyze current component models and classify them into a taxonomy based on commonly accepted desiderata for CBD. For each category in the taxonomy, we describe its key characteristics and evaluate them with respect to these desiderata.
Composite Connectors for Composing Software Components
"... Abstract. In a component-based system, connectors are used to compose components. Connectors should have a semantics that makes them simple to construct and use. At the same time, their semantics should be rich enough to endow them with desirable properties such as genericity, compositionality and r ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
Abstract. In a component-based system, connectors are used to compose components. Connectors should have a semantics that makes them simple to construct and use. At the same time, their semantics should be rich enough to endow them with desirable properties such as genericity, compositionality and reusability. For connector construction, compositionality would be particularly useful, since it would facilitate systematic construction. In this paper we describe a hierarchical approach to connector definition and construction that allows connectors to be defined and constructed from sub-connectors. These composite connectors are indeed generic, compositional and reusable. They behave like design patterns, and provide powerful composition connectors. 1
Supporting in silico experimentation via software architecture
- the 30th International Conference on Software Engineering Doctoral Symposium (ICSE08
, 2008
"... The “in silico ” process is a scientific methodology which relies on computer processing and simulation as the primary means of experimentation. Scientific workflows are an area of computer science research poised to greatly impact the way scientists conduct “in silico ” research. They are not widel ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
The “in silico ” process is a scientific methodology which relies on computer processing and simulation as the primary means of experimentation. Scientific workflows are an area of computer science research poised to greatly impact the way scientists conduct “in silico ” research. They are not widely applied, though, because current workflow systems require scientists to manage engineering aspects of workflow design as well as the science being conducted. A domain specific software architecture for scientific software in workflow systems can abstract engineering aspects of workflow design from the scientist while giving design guidance for the composition of algorithms, reducing time-to-integration.
Composite web services
- Proceedings of 2nd Workshop on Emerging Web Services Technology
, 2007
"... Abstract. Currently, composition of web services is done by orchestration. An orchestration is a workflow that combines invocations of individual operations of the web services involved. It is therefore a composition of individual operations, rather than a composition of entire web services. In this ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract. Currently, composition of web services is done by orchestration. An orchestration is a workflow that combines invocations of individual operations of the web services involved. It is therefore a composition of individual operations, rather than a composition of entire web services. In this paper we propose a different approach to web service composition, whereby entire services are composed into composite services. The latter are again entire web services, that is, they can be further composed using our composition, or they can be used in an orchestration. We show how these composite services can be constructed hierarchically and used in practice. 1.
Control Encapsulation: A Calculus for Exogenous Composition of Software Components
"... Abstract. In current software components models, components do not encapsulate control, and are composed by connection mechanisms which pass control from component to component. Connection mechanisms are not hierarchical in general, and therefore current component models do not support hierarchical ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
Abstract. In current software components models, components do not encapsulate control, and are composed by connection mechanisms which pass control from component to component. Connection mechanisms are not hierarchical in general, and therefore current component models do not support hierarchical system construction. In this paper we argue that control encapsulation by components, together with suitable composition mechanisms, can lead to a component model that supports hierarchical system construction. We show an example of such a model and present a calculus for its hierarchical composition mechanisms. 1
Scientific Software as Workflows: From Discovery to Distribution
"... Scientific workflows – models of computation that capture the orchestration of scientific codes to conduct “in silico ” research – are gaining recognition as an attractive alternative to script-based orchestration. Despite growing interest, there are a number of fundamental challenges that researche ..."
Abstract
- Add to MetaCart
Scientific workflows – models of computation that capture the orchestration of scientific codes to conduct “in silico ” research – are gaining recognition as an attractive alternative to script-based orchestration. Despite growing interest, there are a number of fundamental challenges that researchers developing scientific workflow technologies must address, including developing the underlying “science ” of scientific workflows. In this article, we present a broad classification of scientific workflow environments based on three major phases of in-silico research as well as highlight active research projects that illustrate this classification With our tripartite classification, based on the the phases of “in silico ” research, scientists will be capable of making more informed decisions regarding the adoption of particular workflow environments.
Component-based Construction of Concurrent Systems with Active Components
"... Abstract—We have defined a software component model which specifies components and composition operators. These operators coordinate and encapsulate concurrency between components. In this paper we explain how our model can be used to specify and construct concurrent systems in a hierarchical manner ..."
Abstract
- Add to MetaCart
Abstract—We have defined a software component model which specifies components and composition operators. These operators coordinate and encapsulate concurrency between components. In this paper we explain how our model can be used to specify and construct concurrent systems in a hierarchical manner that is amenable to compositional reasoning. In particular, we extend previous work on active components via introducing new, concurrent connectors and show how they can be used together for compositionally constructing concurrent systems. Keywords-active components; concurrent systems; hierarchical composition; compositionality; I.
Domain-Specific Software Component Models
"... Abstract. We believe that for developing applications in a specific domain, the best kind of software component model to use is a domain-specific one. We also believe that current component models intended for specific domains are actually not domain-specific. In this paper we present an approach fo ..."
Abstract
- Add to MetaCart
Abstract. We believe that for developing applications in a specific domain, the best kind of software component model to use is a domain-specific one. We also believe that current component models intended for specific domains are actually not domain-specific. In this paper we present an approach for deriving domain-specific component models from the domain model of a given domain, and show why such a component model is better than existing models that are not domain-specific. 1
(Behavioural) Design Patterns as Composition Operators
"... Abstract. Design patterns are typically defined informally, albeit in a standard format, and have to be programmed by the software designer into each new application. Thus although patterns support solution reuse, in practice this does not translate into code reuse. In this paper we argue that to ac ..."
Abstract
- Add to MetaCart
Abstract. Design patterns are typically defined informally, albeit in a standard format, and have to be programmed by the software designer into each new application. Thus although patterns support solution reuse, in practice this does not translate into code reuse. In this paper we argue that to achieve code reuse, patterns should be defined and used in the context of software component models. We show how in such a model, behavioural patterns can be defined as composition operators which can be stored in a repository, alongside components, thus enabling code reuse. 1

