51,830 research outputs found
Using Temporal Logic for Dynamic Reconfigurations of Components
International audienceDynamic reconfigurations increase the availability and the reliability of component-based systems by allowing their architectures to evolve at run-time. This paper deals with the formal specification and verification of dynamic reconfigurations of those systems using architectural constraints and temporal logic patterns. The proposals of the paper are applied to the Fractal component model. Given a Fractal reference implementation of a component-based system, we specify its dynamic reconfigurations using a temporal pattern logic for Fractal, called FTPL, characterizing the correct behaviour of the system under some architectural constraints. We study system reconfigurations on which we verify these requirements, in particular by reusing the FPath and FScript tools
Model Based Development of Quality-Aware Software Services
Modelling languages and development frameworks give support for functional and structural description of software architectures. But quality-aware applications require languages which allow expressing QoS as a first-class concept during architecture design and service composition, and to extend existing tools and infrastructures adding support for modelling, evaluating, managing and monitoring QoS aspects. In addition to its functional behaviour and internal structure, the developer of each service must consider the fulfilment of its quality requirements. If the service is flexible, the output quality depends both on input quality and available resources (e.g., amounts of CPU execution time and memory). From the software engineering point of view, modelling of quality-aware requirements and architectures require modelling support for the description of quality concepts, support for the analysis of quality properties (e.g. model checking and consistencies of quality constraints, assembly of quality), tool support for the transition from quality requirements to quality-aware architectures, and from quality-aware architecture to service run-time infrastructures. Quality management in run-time service infrastructures must give support for handling quality concepts dynamically. QoS-aware modeling frameworks and QoS-aware runtime management infrastructures require a common evolution to get their integration
Coordination of Dynamic Software Components with JavaBIP
JavaBIP allows the coordination of software components by clearly separating
the functional and coordination aspects of the system behavior. JavaBIP
implements the principles of the BIP component framework rooted in rigorous
operational semantics. Recent work both on BIP and JavaBIP allows the
coordination of static components defined prior to system deployment, i.e., the
architecture of the coordinated system is fixed in terms of its component
instances. Nevertheless, modern systems, often make use of components that can
register and deregister dynamically during system execution. In this paper, we
present an extension of JavaBIP that can handle this type of dynamicity. We use
first-order interaction logic to define synchronization constraints based on
component types. Additionally, we use directed graphs with edge coloring to
model dependencies among components that determine the validity of an online
system. We present the software architecture of our implementation, provide and
discuss performance evaluation results.Comment: Technical report that accompanies the paper accepted at the 14th
International Conference on Formal Aspects of Component Softwar
Design citeria for applications with non-manifest loops
In the design process of high-throughput applications, design choices concerning the type of processor architecture and appropriate scheduling mechanism, have to be made. Take a reed-solomon decoder as an example, the amount of clock cycles consumed in decoding a code is dependent on the amount of errors within that code. Since this is not known in advance, and the environment in which the code is transmitted can cause a variable amount of errors within that code, a processor architecture which employs a static scheduling scheme, has to assume the worst case amount of clock cycles in order to cope with the worst case situation and provide correct results. On the other hand a processor that employs a dynamic scheduling scheme, can gain wasted clock cycles, by scheduling the exact amount of clock cycles that are needed and not the amount of clock cycles needed for the worst case situation. Since processor architectures that employ dynamic scheduling schemes have more overhead, designers have to make their choice beforehand. In this paper we address the problem of making the correct choice of whether to use a static or dynamic scheduling scheme. The strategy is to determine whether the application possess non-manifest behavior\ud
and weigh out this dynamic behavior against static scheduling solutions which were quite common in the past. We provide criteria for choosing the correct scheduling architecture for a high throughput application based upon the environmental and algorithm-specification constraints. KeywordsÂż Non-manifest loop scheduling, variable latency functional units, dynamic hardware scheduling, self\ud
scheduling hardware units, optimized data-flow machine architecture
ACME vs PDDL: support for dynamic reconfiguration of software architectures
On the one hand, ACME is a language designed in the late 90s as an
interchange format for software architectures. The need for recon guration at
runtime has led to extend the language with speci c support in Plastik. On the
other hand, PDDL is a predicative language for the description of planning
problems. It has been designed in the AI community for the International
Planning Competition of the ICAPS conferences. Several related works have
already proposed to encode software architectures into PDDL. Existing planning
algorithms can then be used in order to generate automatically a plan that
updates an architecture to another one, i.e., the program of a recon guration.
In this paper, we improve the encoding in PDDL. Noticeably we propose how to
encode ADL types and constraints in the PDDL representation. That way, we can
statically check our design and express PDDL constraints in order to ensure
that the generated plan never goes through any bad or inconsistent
architecture, not even temporarily.Comment: 6\`eme \'edition de la Conf\'erence Francophone sur les Architectures
Logicielles (CAL 2012), Montpellier : France (2012
Issues of Architectural Description Languages for Handling Dynamic Reconfiguration
Dynamic reconfiguration is the action of modifying a software system at
runtime. Several works have been using architectural specification as the basis
for dynamic reconfiguration. Indeed ADLs (architecture description languages)
let architects describe the elements that could be reconfigured as well as the
set of constraints to which the system must conform during reconfiguration. In
this work, we investigate the ADL literature in order to illustrate how
reconfiguration is supported in four well-known ADLs: pi-ADL, ACME, C2SADL and
Dynamic Wright. From this review, we conclude that none of these ADLs: (i)
addresses the issue of consistently reconfiguring both instances and types;
(ii) takes into account the behaviour of architectural elements during
reconfiguration; and (iii) provides support for assessing reconfiguration,
e.g., verifying the transition against properties.Comment: 6\`eme Conf\'erence francophone sur les architectures logicielles
(CAL'2012), Montpellier : France (2012
- …