Results 1 - 10
of
31
A component-based middleware platform for reconfigurable service-oriented architectures
- Softw., Pract. Exper
"... The Service Component Architecture (SCA) is a technology-independent standard for developing distributed Service-Oriented Architectures (SOA). The SCA standard promotes the use of components and architecture descriptors, and mostly covers the life-cycle steps of implementation and deployment. Unfort ..."
Abstract
-
Cited by 39 (16 self)
- Add to MetaCart
(Show Context)
The Service Component Architecture (SCA) is a technology-independent standard for developing distributed Service-Oriented Architectures (SOA). The SCA standard promotes the use of components and architecture descriptors, and mostly covers the life-cycle steps of implementation and deployment. Unfortunately, SCA does not address the governance of SCA applications and provides no support for the maintenance of deployed components. This article covers this issue and introduces the FRASCATI platform, a run-time support for SCA with dynamic reconfiguration capabilities and run-time management features. The article presents the internal component-based architecture of the FRASCATI platform, and highlights its key features. The component-based design of the FRASCATI platform introduces many degrees of flexibility and configurability in the platform itself and for the SOA applications it can host. The article reports on micro-benchmarks highlighting that run-time manageability in the FRASCATI platform does not decrease its performance when compared to the de facto reference SCA implementation: Apache TUSCANY. Finally, a smart home scenario illustrates the extension capabilities and the various reconfigurations of the FRASCATI
A framework for evaluating qualitydriven self-adaptive software systems
- Universidad Icesi
, 2011
"... Over the past decade the dynamic capabilities of self-adaptive software-intensive systems have proliferated and improved significantly. To advance the field of self-adaptive and self-managing systems further and to leverage the benefits of self-adaptation, we need to develop methods and tools to ass ..."
Abstract
-
Cited by 31 (12 self)
- Add to MetaCart
(Show Context)
Over the past decade the dynamic capabilities of self-adaptive software-intensive systems have proliferated and improved significantly. To advance the field of self-adaptive and self-managing systems further and to leverage the benefits of self-adaptation, we need to develop methods and tools to assess and possibly certify adaptation properties of self-adaptive systems, not only at design time but also, and especially, at run-time. In this paper we propose a framework for eval-uating quality-driven self-adaptive software systems. Our framework is based on a survey of self-adaptive system pa-pers and a set of adaptation properties derived from control theory properties. We also establish a mapping between these properties and software quality attributes. Thus, cor-responding software quality metrics can then be used to as-sess adaptation properties.
Generating Synchronization Engines between Running Systems and Their Model-Based Views
"... Abstract. The key point to leverage model-based techniques on runtime system management is to ensure the correct synchronization between the running system and its model-based view. In this paper, we present a generative approach, and the supporting tool, to make systematic the development of synchr ..."
Abstract
-
Cited by 11 (5 self)
- Add to MetaCart
(Show Context)
Abstract. The key point to leverage model-based techniques on runtime system management is to ensure the correct synchronization between the running system and its model-based view. In this paper, we present a generative approach, and the supporting tool, to make systematic the development of synchronization engines between running systems and models. We require developers to specify “what kinds of elements to manage ” as a MOF meta-model and “how to manipulate those elements using the system’s management API ” as a so-called access model. From these two specifications, our SM@RT tool automatically generates the synchronization engine to reflect the running system as a MOF-compliant model. We have applied this approach on several practical systems, including the JOnAS JEE server. 1
Inferring meta-models for runtime system data from the clients of management APIs,” MoDELS
, 2010
"... Abstract. A new trend in runtime system monitoring is to utilize MOF-based techniques in analyzing the runtime system data. Approaches and tools have been proposed to automatically reflect the system data as MOF compliant models, but they all require users to manually build the meta-models that defi ..."
Abstract
-
Cited by 10 (5 self)
- Add to MetaCart
(Show Context)
Abstract. A new trend in runtime system monitoring is to utilize MOF-based techniques in analyzing the runtime system data. Approaches and tools have been proposed to automatically reflect the system data as MOF compliant models, but they all require users to manually build the meta-models that define the types and relations of the system data. To do this, users have to understand the different management APIs provided by different systems, and find out what kinds of data can be obtained from them. In this paper, we present an automated approach to inferring such meta-models by analyzing client code that accesses man-agement APIs. A set of experiments show that the approach is useful for realizing runtime models and applicable to a wide range of systems, and the inferred meta-models are close to the reference ones. 1
Y.: Applying MDE Tools at Runtime: Experiments upon Runtime Models. In: Models@run.time
, 2010
"... Abstract. Runtime models facilitate the management of running systems in many different ways. One of the advantages of runtime models is that they enable the use of existing MDE tools at runtime to implement common auxiliary activities in runtime management, such as querying, visualization, and tran ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
(Show Context)
Abstract. Runtime models facilitate the management of running systems in many different ways. One of the advantages of runtime models is that they enable the use of existing MDE tools at runtime to implement common auxiliary activities in runtime management, such as querying, visualization, and transformation. In this tool demonstration paper, we focus on this specific aspect of runtime models. We discuss the requirements of runtime models to enable the use of model-driven tools, and present our tool to help provide such runtime models on the target systems. We apply this tool on a wide range of target systems, modeling the Android mobile system, the Eclipse GUI, the Java class structure, and the JOnAS inner structure. With the help of these runtime models, we perform the runtime management on these systems using classical MDE tools including OCL, QVT, and GMF. 1
Improving Impact of Self-Adaptation and Self-Management Research through Evaluation Methodology
, 2010
"... Today, self-adaptation and self-management approaches to software engineering are viewed as specialized techniques and reach a somewhat limited community. In this paper, I overview the current state and expectation of self-adaptation and self-management impact in industry and in premier publication ..."
Abstract
-
Cited by 4 (1 self)
- Add to MetaCart
(Show Context)
Today, self-adaptation and self-management approaches to software engineering are viewed as specialized techniques and reach a somewhat limited community. In this paper, I overview the current state and expectation of self-adaptation and self-management impact in industry and in premier publication venues and identify what we, as a community, may do to improve such impact. In particular, I find that common evaluation methodologies make it relatively simple for self-adaptation and selfmanagement research to be compared to other such research, but not to more-traditional software engineering research. I argue that extending the evaluation to include comparisons to traditional software engineering techniques may improve a reader’s ability to judge the contribution of the research and increase its impact. Finally, I propose a set of evaluation guidelines that may ease the promotion of self-adaptation and self-management as mainstream software engineering techniques.
Towards on-line adaptation of fault tolerance mechanisms
- In EDCC’10: Eighth European Dependable Computing Conference
, 2010
"... Abstract—In this paper, we address the crucial issue of online software adaptation: how to determine if the system is in an adaptable state? To solve this issue, we advocate the use of both Component-Based Software Engineering (CBSE) and reflective technologies. Such technologies enable a metamodel ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
(Show Context)
Abstract—In this paper, we address the crucial issue of online software adaptation: how to determine if the system is in an adaptable state? To solve this issue, we advocate the use of both Component-Based Software Engineering (CBSE) and reflective technologies. Such technologies enable a metamodel of the software architecture to be established to represent both structural and behavioral aspects. Based on some requirements expressed by the software designer, and using online animation of the software model (CBSE metamodels and Petri Nets), we propose an approach to 1/decide when the system (or a sub-system) is adaptable, and 2 / guide the system towards an adaptable state. Finally, this approach is applied to the online adaptation of replication mechanisms on a small case study. Keywords-component: fault-tolerance, online adaptation, reflection, component-based software engineering.
H.: Sm@rt: Applying architecture-based runtime management into internetware systems
- Int. J. Software and Informatics
, 2009
"... Abstract Architecture-based runtime management (ARM) is a promising approach for Internetware systems. The key enablement of ARM is runtime architecture infrastructure (RAI) that maintains the causal connection between runtime systems and architectural models. An RAI is uneasy to implement and, more ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
(Show Context)
Abstract Architecture-based runtime management (ARM) is a promising approach for Internetware systems. The key enablement of ARM is runtime architecture infrastructure (RAI) that maintains the causal connection between runtime systems and architectural models. An RAI is uneasy to implement and, more importantly, specific to the given system and model. In this paper, we propose a model-driven approach for automated generation of RAI implementation. Developers only need to define three MOF models for their preferred architecture model and the target system (these models are reusable independently for different pairs of the model and system), and one QVT transformation for the causal connection. Our Eclipse-based toolset, called SM@RT, will automatically generate the RAI implementation code without any modification on the source code of the target system, and automatically and properly deploy the generated RAI into the distributed systems. This approach is experimented on several runtime systems and architectural models, including ABC architectural models on Eclipse GUI and Android, C2 architectural models on JOnAS, Rainbow C/S style on PLASTIC and UML models on PO-JO.
Instant and Incremental QVT Transformation for Runtime Models
"... Abstract. As a dynamic representation of the running system, a runtime model provides a model-based interface to monitor and control the system. A key issue for runtime models is to maintain their causal connections with the running system. That means when the systems change, the runtime models that ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
(Show Context)
Abstract. As a dynamic representation of the running system, a runtime model provides a model-based interface to monitor and control the system. A key issue for runtime models is to maintain their causal connections with the running system. That means when the systems change, the runtime models that are heterogeneous to their target systems, it is challenging to maintain such causal connections. This paper presents a model-transformation-based approach to maintaining causal connections for abstract runtime models. We define a new instant and incremental transformation semantics for the QVT-Relational language, according to the requirements of runtime models, and develop the transformation algorithm following this semantics. We implement this approach on the mediniQVT transformation engine, and apply it to provide the runtime model for an intelligent office system named SmartLab. 1
Programming Distributed and Adaptable Autonomous Components – the GCM/ProActive Framework
"... Component oriented software has become a useful tool to build larger and more complex systems by describing the application in terms of encapsulated, loosely-coupled entities called components. At the same time, asynchronous programming patterns allow for the development of efficient distributed app ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
(Show Context)
Component oriented software has become a useful tool to build larger and more complex systems by describing the application in terms of encapsulated, loosely-coupled entities called components. At the same time, asynchronous programming patterns allow for the development of efficient distributed applications. While several component models and frameworks have been proposed, most of them tightly integrate the component model with the middleware they run upon. This intertwining is generally implicit and not discussed, leading to entangled, hard to maintain code. This article describes our efforts in the development of the GCM/ProActive framework for providing distributed and adaptable autonomous components. GCM/ProActive integrates a component model designed for execution on large scale environments, with a programming model based on active objects allowing a high degree of distribution and concurrency. This new integrated model provides a more powerful development, composition, and execution environment than other distributed component frameworks. We illustrate that GCM/ProActive is particularly adapted to the programming of autonomic component systems, and to the integration into a service oriented environment.