243,329 research outputs found
Adaptive development and maintenance of user-centric software systems
A software system cannot be developed without considering the various facets of its environment. Stakeholders – including the users that play a central role – have their needs, expectations, and perceptions of a system. Organisational and technical aspects of the environment are constantly changing. The ability to adapt a software system and its requirements to its environment throughout its
full lifecycle is of paramount importance in a constantly changing environment. The continuous involvement of users is as important as the constant evaluation of the system and the observation of evolving environments. We present a methodology for adaptive software systems development and
maintenance. We draw upon a diverse range of accepted methods including participatory design, software architecture, and evolutionary design. Our focus is on user-centred software systems
A Review on Software Architectures for Heterogeneous Platforms
The increasing demands for computing performance have been a reality
regardless of the requirements for smaller and more energy efficient devices.
Throughout the years, the strategy adopted by industry was to increase the
robustness of a single processor by increasing its clock frequency and mounting
more transistors so more calculations could be executed. However, it is known
that the physical limits of such processors are being reached, and one way to
fulfill such increasing computing demands has been to adopt a strategy based on
heterogeneous computing, i.e., using a heterogeneous platform containing more
than one type of processor. This way, different types of tasks can be executed
by processors that are specialized in them. Heterogeneous computing, however,
poses a number of challenges to software engineering, especially in the
architecture and deployment phases. In this paper, we conduct an empirical
study that aims at discovering the state-of-the-art in software architecture
for heterogeneous computing, with focus on deployment. We conduct a systematic
mapping study that retrieved 28 studies, which were critically assessed to
obtain an overview of the research field. We identified gaps and trends that
can be used by both researchers and practitioners as guides to further
investigate the topic
Early aspects: aspect-oriented requirements engineering and architecture design
This paper reports on the third Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design Workshop, which has been held in Lancaster, UK, on March 21, 2004. The workshop included a presentation session and working sessions in which the particular topics on early aspects were discussed. The primary goal of the workshop was to focus on challenges to defining methodical software development processes for aspects from early on in the software life cycle and explore the potential of proposed methods and techniques to scale up to industrial applications
Systematic development of courseware systems
Various difficulties have been reported in relation to the development of courseware systems. A central problem is to address the needs of not only the learner, but also instructor, developer, and other stakeholders, and to integrate these different needs. Another problem area is courseware architectures, to which much work has been dedicated recently. We present a systematic approach to courseware development – a methodology for courseware engineering – that addresses these problems. This methodology is rooted in the educational domain and is based on methods for software development in this context. We illustrate how this methodology can improve the quality of courseware systems and the development process
A MDE-based process for the design, implementation and validation of safety critical systems
Distributed Real-Time Embedded (DRE) systems have critical requirements that need to be verified. They are either related to functional (e.g. stability of a furnace controller) or non-functional (e.g. meeting deadlines) aspects. Model-Driven Engineering (MDE) tools have emerged to ease DRE systems design. These tools are also capable of generating code. However, these tools either focus on the functional aspects or on the runtime architecture. Hence, the development cycle is partitioned into pieces with heterogeneous modeling notations and poor coordination.
In this paper, we propose a MDE-based process to create DRE systems without manual coding. We show how to integrate functional and architecture concerns in a unified process. We use industry-proven modeling languages to design functional elements of the system, and automatically integrate them using our AADL toolchain
Exploiting Traffic Balancing and Multicast Efficiency in Distributed Video-on-Demand Architectures
Distributed Video-on-Demand (DVoD) systems are proposed as a
solution to the limited streaming capacity and null scalability of centralized
systems. In a previous work, we proposed a fully distributed large-scale VoD
architecture, called Double P-Tree, which has shown itself to be a good approach
to the design of flexible and scalable DVoD systems. In this paper, we
present relevant design aspects related to video mapping and traffic balancing in
order to improve Double P-Tree architecture performance. Our simulation results
demonstrate that these techniques yield a more efficient system and considerably
increase its streaming capacity. The results also show the crucial importance
of topology connectivity in improving multicasting performance in
DVoD systems. Finally, a comparison among several DVoD architectures was
performed using simulation, and the results show that the Double P-Tree architecture
incorporating mapping and load balancing policies outperforms similar
DVoD architectures.This work was supported by the MCyT-Spain under contract TIC 2001-2592 and partially supported by the Generalitat de Catalunya- Grup de Recerca Consolidat 2001SGR-00218
- …