500 research outputs found
A Game of Attribute Decomposition for Software Architecture Design
Attribute-driven software architecture design aims to provide decision
support by taking into account the quality attributes of softwares. A central
question in this process is: What architecture design best fulfills the
desirable software requirements? To answer this question, a system designer
needs to make tradeoffs among several potentially conflicting quality
attributes. Such decisions are normally ad-hoc and rely heavily on experiences.
We propose a mathematical approach to tackle this problem. Game theory
naturally provides the basic language: Players represent requirements, and
strategies involve setting up coalitions among the players. In this way we
propose a novel model, called decomposition game, for attribute-driven design.
We present its solution concept based on the notion of cohesion and
expansion-freedom and prove that a solution always exists. We then investigate
the computational complexity of obtaining a solution. The game model and the
algorithms may serve as a general framework for providing useful guidance for
software architecture design. We present our results through running examples
and a case study on a real-life software project.Comment: 23 pages, 5 figures, a shorter version to appear at 12th
International Colloquium on Theoretical Aspects of Computing (ICTAC 2015
Pattern languages in HCI: A critical review
This article presents a critical review of patterns and pattern languages in human-computer interaction (HCI). In recent years, patterns and pattern languages have received considerable attention in HCI for their potential as a means for developing and communicating information and knowledge to support good design. This review examines the background to patterns and pattern languages in HCI, and seeks to locate pattern languages in relation to other approaches to interaction design. The review explores four key issues: What is a pattern? What is a pattern language? How are patterns and pattern languages used? and How are values reflected in the pattern-based approach to design? Following on from the review, a future research agenda is proposed for patterns and pattern languages in HCI
UML 1.4 versus UML 2.0 as Languages to Describe Software Architectures.
ML 1.4 is widely accepted as the standard for representing the various software artifacts generated by a development process. For this reason, there have been attempts to use this language to represent the software architec-
ture of systems as well. Unfortunately, these attempts have ended in representa- tions (boxes and lines) already criticized by the software architecture commu- nity. Recently, OMG has published a draft that will constitute the future UML 2.0 specification. In this paper we compare the capacities of UML 1.4 and UML 2.0 to describe software architectures. In particular, we study extensions
of both UML versions to describe the static view of the C3 architectural style (a simplification of the C2 style). One of the results of this study is the difficulties found when using the UML 2.0 metamodel to describe the concept of connector in a software architecture
transML: A Family of Languages to Model Model Transformations
Proceedings of: 13th International Conference on Model Driven Engineering Languages and Systems, MODELS 2010, Oslo, Norway, October 3-8, 2010Model transformation is one of the pillars of Model-Driven Engineering (MDE). The increasing complexity of systems and modelling languages has dramatically raised the complexity and size of model transformations. Even though many transformation languages and tools have been proposed in the last few years, most of them are directed to the implementation phase of transformation development. However, there is a lack of cohesive support for the other phases of the transformation development, like requirements, analysis, design and testing.
In this paper, we propose a unified family of languages to cover the life-cycle of transformation development. Moreover, following an MDE approach, we provide tools to partially automate the progressive refinement of models between the different phases and the generation of code for specific transformation implementation languages.Work funded by the Spanish Ministry of Science (project
TIN2008-02081 and grants JC2009-00015,PR2009-0019), the R&Dprogramme of
the Madrid Region (project S2009/TIC-1650), and the European Commission’s
7th Framework programme (grants #218575 (INESS), #248864 (MADES))
Enabling High-Level Application Development in the Internet of Things
International audienceThe sensor networking field is evolving into the Internet of Things~(IoT), owing in large part to the increased availability of consumer sensing devices, including modern smart phones. However, application development in the IoT still remains challenging, since it involves dealing with several related issues, such as lack of proper identification of roles of various stakeholders, as well as lack of suitable (high-level) abstractions to address the large scale and heterogeneity in IoT systems. Although the software engineering community has proposed several approaches to address the above in the general case, existing approaches for IoT application development only cover limited subsets of above mentioned challenges. In this paper, we propose a multi-stage model-driven approach for IoT application development based on a precise definition of the role to be played by each stakeholder involved in the process -- domain expert, application designer, application developer, device developer, and network manager. The abstractions provided to each stakeholder are further customized using the inputs provided in the earlier stages by other stakeholders. We have also implemented code-generation and task-mapping techniques to support our approach. Our initial evaluation based on two realistic scenarios shows that the use of our techniques/framework succeeds in improving productivity in the IoT application development process
Enhanced Graph Rewriting Systems for Complex Software Domain
International audienceMethodologies for correct by construction reconfigurations can efficiently solve consistency issues in dynamic software architecture. Graph-based models are appropriate for designing such architectures and methods. At the same time, they may be unfit to characterize a system from a non functional perspective. This stems from efficiency and applicability limitations in handling time-varying characteristics and their related dependencies. In order to lift these restrictions, an extension to graph rewriting systems is proposed herein. The suitability of this approach, as well as the restraints of currently available ones, are illustrated, analysed and experimentally evaluated with reference to a concrete example. This investigation demonstrates that the conceived solution can: (i) express any kind of algebraic dependencies between evolving requirements and properties; (ii) significantly ameliorate the efficiency and scalability of system modifications with respect to classic methodologies; (iii) provide an efficient access to attribute values; (iv) be fruitfully exploited in software management systems; (v) guarantee theoretical properties of a grammar, like its termination
Xcd - Modular, Realizable Software Architectures
Connector-Centric Design (Xcd) is centred around a new formal architectural description language, focusing mainly on complex connectors. Inspired by Wright and BIP, Xcd aims to cleanly separate in a modular manner the high-level functional, interaction, and control system behaviours. This can aid in both increasing the understandability of architectural specifications and the reusability of components and connectors themselves. Through the independent specification of control behaviours, Xcd allows designers to experiment more easily with different design decisions early on, without having to modify the functional behaviour specifications (components) or the interaction ones(connectors).
At the same time Xcd attempts to ease the architectural specification by following (and extending) a Design-by-Contract approach, which is more familiar to software developers than process algebras like CSP or languages like BIP that are closer to synchronous/hardware specification languages. Xcd extends Design-by-Contract (i) by separating component contracts into functional and interaction sub-contracts, and (ii) by allowing service consumers to specify their own contractual clauses. Xcd connector specifications are completely decentralized, foregoing Wright’s connector glue, to ensure their realizability by construction
Separating Agent-Functioning and Inter-Agent Coordination by Activated Modules: The DECOMAS Architecture
The embedding of self-organizing inter-agent processes in distributed
software applications enables the decentralized coordination system elements,
solely based on concerted, localized interactions. The separation and
encapsulation of the activities that are conceptually related to the
coordination, is a crucial concern for systematic development practices in
order to prepare the reuse and systematic integration of coordination processes
in software systems. Here, we discuss a programming model that is based on the
externalization of processes prescriptions and their embedding in Multi-Agent
Systems (MAS). One fundamental design concern for a corresponding execution
middleware is the minimal-invasive augmentation of the activities that affect
coordination. This design challenge is approached by the activation of agent
modules. Modules are converted to software elements that reason about and
modify their host agent. We discuss and formalize this extension within the
context of a generic coordination architecture and exemplify the proposed
programming model with the decentralized management of (web) service
infrastructures
Testing the robustness of controllers for self-adaptive systems
Self-Adaptive systems are software-intensive systems endowed with the ability to respond to a variety of changes that may occur in their environment, goals, or the system itself, by adapting their structure and behavior at run-time in an autonomous way. Controllers are complex components incorporated in self-adaptive systems, which are crucial to their function since they are in charge of adapting the target system by executing actions through effectors, based on information monitored by probes. However, although controllers are becoming critical in many application domains, so far very little has been done to assess their robustness. In this paper, we propose an approach for evaluating the robustness of controllers for self-adaptive software systems, aiming to identify faults in their design. Our proposal considers the stateful nature of the controller, and identifies a set of robustness tests, which includes the provision of mutated inputs to the interfaces between the controller and the target system (i.e., probes). The feasibility of the approach is evaluated on Rainbow, a framework for architecture-based self-adaptation, and in the context of the Znn.com case study
Simulation for training in sinus floor elevation : new surgical bench model
Objectives: to describe a bench model (workshop of abilities) for sinus floor elevation (SFE) training that simulates the surgical environment and to assess its effectiveness in terms of trainees? perception. Study design: thirty-six randomly selected postgraduate students entered this cross-sectional pilot study and asked to fill in an anonymous, self-applied, 12-item questionnaire about a SFE workshop that included a study guide containing the workshop?s details, supervised practice on a simulated surgical environment, and assessment by means of specific check-lists. Results: Thirtiy-six fresh sheep heads were prepared to allow access to the buccal vestible. Using the facial tuber, third premolar and a 3D-CT study as landmarks for trepanation, the sinus membrane was lifted, the space filled with ceramic material and closed with a resorbable membrane. The participants agreed on their ability to perform SFE in a simulated situation (median score= 4.5; range 2-5) and felt capable to teach the technique to other clinicians or to undertake the procedure for a patient under supervision of an expert surgeon (median= 4; range 1-5 ). There were no differences on their perceived ability to undertake the technique on a model or on a real patient under supervision of an expert surgeon (p=0.36). Conclusions: Clinical abilities workshops for SFE teaching are an essential educational tool but supervised clinical practice should always precede autonomous SFE on real patients. Simulation procedures (workshop of abilities) are perceived by the partakers as useful for the surgical practice. However, more studies are needed to validate the procedure and to address cognitive and communication skills, that are clearly integral parts of surgical performance
- …
