131,794 research outputs found
Pattern-based software architecture for service-oriented software systems
Service-oriented architecture is a recent conceptual framework for service-oriented software platforms. Architectures are of great importance for the evolution of
software systems. We present a modelling and transformation technique for service-centric distributed software systems. Architectural configurations, expressed through hierarchical architectural patterns, form the core of a specification and transformation technique. Patterns on different levels of abstraction form transformation invariants that structure and constrain the transformation
process. We explore the role that patterns can play in architecture transformations in terms of functional properties, but also non-functional quality aspects
Exploring quality-aware architectural transformations at run-time: the ENIA case
Adapting software systems at run-time is a key issue, especially when these systems consist of components used as intermediary for human-computer interaction. In this sense, model transformation techniques have a widespread acceptance as a mechanism for adapting and evolving the software architecture of such systems. However, existing model transformations often focus on functional requirements, and quality attributes are only manually considered after the transformations are done. This paper aims to improve the quality of adaptations and evolutions in component-based software systems by taking into account quality attributes within the model transformation process. To this end, we present a quality-aware transformation process using software architecture metrics to select among many alternative model transformations. Such metrics evaluate the quality attributes of an architecture. We validate the presented quality-aware transformation process in ENIA, a geographic information system whose user interfaces are based on coarsegrained components and need to be adapted at run-time
Verification of model transformations
Model transformations are a central element of model-driven
development (MDD) approaches such as the model-driven architecture (MDA). The correctness of model transformations is critical to their effective use in practical software development, since users must be able
to rely upon the transformations correctly preserving the semantics of models. In this paper we define a formal semantics for model transformations, and provide techniques for proving the termination, confluence and correctness of model transformations
UML to XML-Schema Transformation: a Case Study in Managing Alternative Model Transformations in MDA
In a Model Driven Architecture (MDA) software development process, models are\ud
repeatedly transformed to other models in order to finally achieve a set of models with enough details to implement a system. Generally, there are multiple ways to transform one model into another model. Alternative target models differ in their quality properties and the selection of a particular model is determined on the basis of specific requirements. Software engineers must be able to identify, compare and select the appropriate transformations within the given set of requirements. The current transformation languages used for describing and executing model transformations only provide means to specify the transformations but do not help to identify and select from the alternative transformations. In this paper we propose a process and a set of techniques for constructing a transformation space for a given transformation problem. The process uses a source model, its meta-model and the meta-model of the target as input and generates a transformation space. Every element in that space represents a transformation that produces a result that is an instance of the target meta-model. The requirements that must be fulfilled by the result are captured and represented in a quality model. We explain our approach using an illustrative example for transforming a platform independent model expressed in UML into platform specific models that represent XML schemas. A particular quality model of extensibility is presented in the paper
Dynamic Model-based Management of Service-Oriented Infrastructure.
Models are an effective tool for systems and software design. They allow software architects to abstract from the non-relevant details. Those qualities are also useful for the technical management of networks, systems and software, such as those that compose service oriented architectures. Models can provide a set of well-defined abstractions over the distributed heterogeneous service infrastructure that enable its automated management. We propose to use the managed system as a source of dynamically generated runtime models, and decompose management processes into a composition of model transformations. We have created an autonomic service deployment and configuration architecture that obtains, analyzes, and transforms system models to apply the required actions, while being oblivious to the low-level details. An instrumentation layer automatically builds these models and interprets the planned management actions to the system. We illustrate these concepts with a distributed service update operation
Staging Transformations for Multimodal Web Interaction Management
Multimodal interfaces are becoming increasingly ubiquitous with the advent of
mobile devices, accessibility considerations, and novel software technologies
that combine diverse interaction media. In addition to improving access and
delivery capabilities, such interfaces enable flexible and personalized dialogs
with websites, much like a conversation between humans. In this paper, we
present a software framework for multimodal web interaction management that
supports mixed-initiative dialogs between users and websites. A
mixed-initiative dialog is one where the user and the website take turns
changing the flow of interaction. The framework supports the functional
specification and realization of such dialogs using staging transformations --
a theory for representing and reasoning about dialogs based on partial input.
It supports multiple interaction interfaces, and offers sessioning, caching,
and co-ordination functions through the use of an interaction manager. Two case
studies are presented to illustrate the promise of this approach.Comment: Describes framework and software architecture for multimodal web
interaction managemen
Circuit Transformations for Quantum Architectures
Quantum computer architectures impose restrictions on qubit interactions. We propose efficient circuit transformations that modify a given quantum circuit to fit an architecture, allowing for any initial and final mapping of circuit qubits to architecture qubits. To achieve this, we first consider the qubit movement subproblem and use the ROUTING VIA MATCHINGS framework to prove tighter bounds on parallel routing. In practice, we only need to perform partial permutations, so we generalize ROUTING VIA MATCHINGS to that setting. We give new routing procedures for common architecture graphs and for the generalized hierarchical product of graphs, which produces subgraphs of the Cartesian product. Secondly, for serial routing, we consider the TOKEN SWAPPING framework and extend a 4-approximation algorithm for general graphs to support partial permutations. We apply these routing procedures to give several circuit transformations, using various heuristic qubit placement subroutines. We implement these transformations in software and compare their performance for large quantum circuits on grid and modular architectures, identifying strategies that work well in practice
A Value-Driven Framework for Software Architecture
Software that is not aligned with the business values of the organization for which it
was developed does not entirely fulfill its raison d’etre. Business values represent what
is important in a company, or organization, and should influence the overall software
system behavior, contributing to the overall success of the organization. However, approaches
to derive a software architecture considering the business values exchanged
between an organization and its market players are lacking. Our quest is to address this
problem and investigate how to derive value-centered architectural models systematically.
We used the Technology Research method to address this PhD research question.
This methodological approach proposes three steps: problem analysis, innovation, and
validation. The problem analysis was performed using systematic studies of the literature
to obtain full coverage on the main themes of this work, particularly, business value
modeling, software architecture methods, and software architecture derivation methods.
Next, the innovation step was accomplished by creating a framework for the derivation
of a software reference architecture model considering an organization’s business values.
The resulting framework is composed of three core modules: Business Value Modeling,
Agile Reference Architecture Modeling, and Goal-Driven SOA Architecture Modeling.
While the Business value modeling module focuses on building a stakeholder-centric
business specification, the Agile Reference Architecture Modeling and the Goal-Driven
SOA Architecture Modeling modules concentrate on generating a software reference architecture
aligned with the business value specification. Finally, the validation part of
our framework is achieved through proof-of-concept prototypes for three new domain
specific languages, case studies, and quasi-experiments, including a family of controlled
experiments. The findings from our research show that the complexity and lack of rigor
in the existing approaches to represent business values can be addressed by an early requirements
specification method that represents the value exchanges of a business. Also,
by using sophisticated model-driven engineering techniques (e.g., metamodels, model
transformations, and model transformation languages), it was possible to obtain source
generators to derive a software architecture model based on early requirements value
models, while assuring traceability throughout the architectural derivation process. In conclusion, despite using sophisticated techniques, the derivation process of a software
reference architecture is helped by simple to use methods supported by black box
transformations and guidelines that facilitate the activities for the less experienced software
architects. The experimental validation process used confirmed that our framework
is feasible and perceived as easy to use and useful, also indicating that the participants
of the experiments intend to use it in the future
- …