304 research outputs found
High Performance Composition Operators in Component Models
International audienceScientific numerical applications are always expecting more computing and storage capabilities to compute at finer grain and/or to integrate more phenomena in their computations. Even though, they are getting more complex to develop. However, the continual growth of computing and storage capabilities is achieved with an increase complexity of infrastructures. Thus, there is an important challenge to define programming abstractions able to deal with software and hardware complexity. An interesting approach is represented by software component models. This chapter first analyzes how high performance interactions are only partially supported by specialized component models. Then, it introduces HLCM, a component model that aims at efficiently supporting all kinds of static compositions
An initial performance review of software components for a heterogeneous computing platform
The design of embedded systems is a complex activity that involves a lot of
decisions. With high performance demands of present day usage scenarios and
software, they often involve energy hungry state-of-the-art computing units.
While focusing on power consumption of computing units, the physical properties
of software are often ignored. Recently, there has been a growing interest to
quantify and model the physical footprint of software (e.g. consumed power,
generated heat, execution time, etc.), and a component based approach
facilitates methods for describing such properties. Based on these, software
architects can make energy-efficient software design solutions. This paper
presents power consumption and execution time profiling of a component software
that can be allocated on heterogeneous computing units (CPU, GPU, FPGA) of a
tracked robot
Component Substitution through Dynamic Reconfigurations
Component substitution has numerous practical applications and constitutes an
active research topic. This paper proposes to enrich an existing
component-based framework--a model with dynamic reconfigurations making the
system evolve--with a new reconfiguration operation which "substitutes"
components by other components, and to study its impact on sequences of dynamic
reconfigurations.
Firstly, we define substitutability constraints which ensure the component
encapsulation while performing reconfigurations by component substitutions.
Then, we integrate them into a substitutability-based simulation to take these
substituting reconfigurations into account on sequences of dynamic
reconfigurations. Thirdly, as this new relation being in general undecidable
for infinite-state systems, we propose a semi-algorithm to check it on the fly.
Finally, we report on experimentations using the B tools to show the
feasibility of the developed approach, and to illustrate the paper's proposals
on an example of the HTTP server.Comment: In Proceedings FESCA 2014, arXiv:1404.043
Properties for Component Model: The definition Perspective
The presence of a large number of component models to date should be able to offer software developers a wide variety of component models -- which they can easily choose from -- for their software development projects. However, the opposite situation is currently observed, where the presence of many component models has caused difficulties in making the selection. Lack of properties or characteristics that can be used as a basis to perform objective comparison between the existing models is believed to have caused the difficulties. In this paper, a list of component model properties is derived by thoroughly examining the available component model definitions. Results from a comparative analysis performed on six component models using the properties show that the properties enable a more objective comparison between the existing component models to be performed
Report from GI-Dagstuhl Seminar 16394: Software Performance Engineering in the DevOps World
This report documents the program and the outcomes of GI-Dagstuhl Seminar
16394 "Software Performance Engineering in the DevOps World".
The seminar addressed the problem of performance-aware DevOps. Both, DevOps
and performance engineering have been growing trends over the past one to two
years, in no small part due to the rise in importance of identifying
performance anomalies in the operations (Ops) of cloud and big data systems and
feeding these back to the development (Dev). However, so far, the research
community has treated software engineering, performance engineering, and cloud
computing mostly as individual research areas. We aimed to identify
cross-community collaboration, and to set the path for long-lasting
collaborations towards performance-aware DevOps.
The main goal of the seminar was to bring together young researchers (PhD
students in a later stage of their PhD, as well as PostDocs or Junior
Professors) in the areas of (i) software engineering, (ii) performance
engineering, and (iii) cloud computing and big data to present their current
research projects, to exchange experience and expertise, to discuss research
challenges, and to develop ideas for future collaborations
Strategy Dynamics in Markets of Software Components
In this paper we propose a dynamic model of a software market for component reuse. We investigate the market dynamics using experiments with economically motivated human subjects. Our results suggest that the introduction of the software component market reduces production costs and increases vendor profits. The dynamic interactions in the component market helped vendors coordinate better their production decisions and resulted in production cost savings. The component market can thrive on a balance between competition and cooperation of software vendors. These experimental results could be applied with some modifications to the development of software products in general
Measuring Qualities for OSGi Component-Based Applications
International audienceComponent-based software engineering (CBSE) begins to reach a certain level of maturity. Indeed, for the development of complex applications the use of component paradigm has become common. Therefore, the evaluation of the quality of these applications becomes necessary. In this context, the use of metrics is considered very important. Several metrics specific to component-based applications have been proposed. However, any of these metrics gained the consensus of the CBSE community and mainly there is no proposed tool to support them. As a large part of frameworks for component-based application development is based on object-oriented technology, we propose to use some object-oriented (OO) metrics to evaluate component-based applications produced with this kind of framework. Indeed, these metrics became a standard in OO community. So, they are well-defined, well-known and empirically validated. To identify which object-oriented metrics are useful for the evaluation of component-based applications, we have conducted an experimental study on 10 OSGi applications. This study also gives us the opportunity to discuss on the respect by OSGi developers of some properties pointed out by the literatur
- …