141 research outputs found
Applying Software Product Lines to Build Autonomic Pervasive Systems
In this Master Thesis, we have proposed a model-driven Software Product Line (SPL) for developing autonomic pervasive systems. The work focusses on reusing the Variability knowledge from the SPL design to the SPL products. This Variability knowledge enables SPL products to deal with adaptation scenarios (evolution and involution) in an autonomic way.Cetina Englada, C. (2008). Applying Software Product Lines to Build Autonomic Pervasive Systems. http://hdl.handle.net/10251/12447Archivo delegad
Towards a Technological Ecosystem to Provide Information Dashboards as a Service: A Dynamic Proposal for Supplying Dashboards Adapted to Specific Scenarios
[EN]Data are crucial to improve decision-making and obtain greater benefits in any type of
activity. However, the large amount of information generated by new technologies has made data
analysis and knowledge generation a complex task. Numerous tools have emerged to facilitate
this generation of knowledge, such as dashboards. Although dashboards are useful tools, their
effectiveness can be affected by poor design or by not taking into account the context in which
they are placed. Therefore, it is necessary to design and create custom dashboards according to
the audience and data domain. This paper presents an application of the software product line
paradigm and the integration of this approach into a web service to allow users to request source
code for customized information dashboards. The main goal is to introduce the idea of creating a
holistic ecosystem of different services to craft and integrate information visualizations in a variety of
contexts. One of the contexts that can be especially favored by this approach is the educational context,
where learning analytics, data analysis of student performance, and didactic tools are becoming very
relevant. Three different use cases of this approach are presented to illustrate the benefits of the
developed generative service
Automatic generation of software interfaces for supporting decisionmaking processes. An application of domain engineering & machine learning
[EN] Data analysis is a key process to foster knowledge generation in particular domains
or fields of study. With a strong informative foundation derived from the analysis of
collected data, decision-makers can make strategic choices with the aim of obtaining
valuable benefits in their specific areas of action. However, given the steady growth
of data volumes, data analysis needs to rely on powerful tools to enable knowledge
extraction.
Information dashboards offer a software solution to analyze large volumes of
data visually to identify patterns and relations and make decisions according to the
presented information. But decision-makers may have different goals and,
consequently, different necessities regarding their dashboards. Moreover, the variety
of data sources, structures, and domains can hamper the design and implementation
of these tools.
This Ph.D. Thesis tackles the challenge of improving the development process of
information dashboards and data visualizations while enhancing their quality and
features in terms of personalization, usability, and flexibility, among others.
Several research activities have been carried out to support this thesis. First, a
systematic literature mapping and review was performed to analyze different
methodologies and solutions related to the automatic generation of tailored
information dashboards. The outcomes of the review led to the selection of a modeldriven
approach in combination with the software product line paradigm to deal with
the automatic generation of information dashboards.
In this context, a meta-model was developed following a domain engineering
approach. This meta-model represents the skeleton of information dashboards and
data visualizations through the abstraction of their components and features and has
been the backbone of the subsequent generative pipeline of these tools.
The meta-model and generative pipeline have been tested through their
integration in different scenarios, both theoretical and practical. Regarding the theoretical dimension of the research, the meta-model has been successfully
integrated with other meta-model to support knowledge generation in learning
ecosystems, and as a framework to conceptualize and instantiate information
dashboards in different domains.
In terms of the practical applications, the focus has been put on how to transform
the meta-model into an instance adapted to a specific context, and how to finally
transform this later model into code, i.e., the final, functional product. These practical
scenarios involved the automatic generation of dashboards in the context of a Ph.D.
Programme, the application of Artificial Intelligence algorithms in the process, and
the development of a graphical instantiation platform that combines the meta-model
and the generative pipeline into a visual generation system.
Finally, different case studies have been conducted in the employment and
employability, health, and education domains. The number of applications of the
meta-model in theoretical and practical dimensions and domains is also a result itself.
Every outcome associated to this thesis is driven by the dashboard meta-model, which
also proves its versatility and flexibility when it comes to conceptualize, generate, and
capture knowledge related to dashboards and data visualizations
DEVELOPMENT OF PROBLEM-SPECIFIC MODELING LANGUAGE TO SUPPORT SOFTWARE VARIABILITY IN "SMART HOME" SYSTEMS
Building conceptual models for software design, in particular for high-tech applications such as smart home systems, is a complex task that significantly affects the efficiency of their development processes. One of the innovative methods of solving this problem is the use of domain-specific modeling languages (DSMLs), which can reduce the time and other project resources required to create such systems. The subject of research in this paper is approaches to the development of DSML for Smart Home systems as a separate class of Internet of Things systems. The purpose of this work is to propose an approach to the development of DSMLs based on a model of variability of the properties of such a system. The following tasks are being solved: analysis of some existing approaches to the creation of DSMLs; construction of a multifaceted classification of requirements for them, application of these requirements to the design of the syntax of a specific DSML-V for the creation of variable software in smart home systems; development of a technological scheme and quantitative metrics for experimental evaluation of the effectiveness of the proposed approach. The following methods are used: variability modeling based on the property model, formal notations for describing the syntax of the DSML-V language, and the use of the open CASE tool metaDepth. Results: a multifaceted classification of requirements for a broad class of DSML languages is built; the basic syntactic constructions of the DSML-V language are developed to support the properties of software variability of "Smart Home" systems; a formal description of such syntax in the Backus-Naur notation is given; a technological scheme for compiling DSML-V specifications into the syntax of the language of the open CASE tool metaDepth is created; the effectiveness of the proposed approach using quantitative metrics is experimentally investigated. Conclusions: the proposed method of developing a specialized problem-oriented language for smart home systems allows for multilevel modeling of the variability properties of its software components and provides an increase in the efficiency of programming such models by about 14% compared to existing approaches
MODEL DRIVEN SOFTWARE PRODUCT LINE ENGINEERING: SYSTEM VARIABILITY VIEW AND PROCESS IMPLICATIONS
La Ingeniería de Líneas de Productos Software -Software Product Line Engineerings
(SPLEs) en inglés- es una técnica de desarrollo de software que busca aplicar
los principios de la fabricación industrial para la obtención de aplicaciones informáticas:
esto es, una Línea de productos Software -Software Product Line (SPL)-
se emplea para producir una familia de productos con características comunes, cuyos
miembros, sin embargo, pueden tener características diferenciales. Identificar
a priori estas características comunes y diferenciales permite maximizar la reutilización,
reduciendo el tiempo y el coste del desarrollo. Describir estas relaciones
con la suficiente expresividad se vuelve un aspecto fundamental para conseguir el
éxito.
La Ingeniería Dirigida por Modelos -Model Driven Engineering (MDE) en
inglés- se ha revelado en los últimos años como un paradigma que permite tratar
con artefactos software con un alto nivel de abstracción de forma efectiva. Gracias
a ello, las SPLs puede aprovecharse en granmedida de los estándares y herramientas
que han surgido dentro de la comunidad de MDE.
No obstante, aún no se ha conseguido una buena integración entre SPLE y MDE,
y como consecuencia, los mecanismos para la gestión de la variabilidad no son suficientemente expresivos. De esta manera, no es posible integrar la variabilidad de
forma eficiente en procesos complejos de desarrollo de software donde las diferentes
vistas de un sistema, las transformaciones de modelos y la generación de código
juegan un papel fundamental.
Esta tesis presenta MULTIPLE, un marco de trabajo y una herramienta que persiguen
integrar de forma precisa y eficiente los mecanismos de gestión de variabilidad
propios de las SPLs dentro de los procesos de MDE. MULTIPLE proporciona
lenguajes específicos de dominio para especificar diferentes vistas de los sistemas
software. Entre ellas se hace especial hincapié en la vista de variabilidad ya que es
determinante para la especificación de SPLs.Gómez Llana, A. (2012). MODEL DRIVEN SOFTWARE PRODUCT LINE ENGINEERING: SYSTEM VARIABILITY VIEW AND PROCESS IMPLICATIONS [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/15075Palanci
ICSEA 2022: the seventeenth international conference on software engineering advances
The Seventeenth International Conference on Software Engineering Advances (ICSEA 2022), held between October 16th and October 20th, 2022, continued a series of events covering a broad spectrum of software-related topics. The conference covered fundamentals on designing, implementing, testing, validating and maintaining various kinds of software. Several tracks were proposed to treat the topics from theory to practice, in terms of methodologies, design, implementation, testing, use cases, tools, and lessons learned. The conference topics covered classical and advanced methodologies, open source, agile software, as well as software deployment and software economics and education.
Other advanced aspects are related to on-time practical aspects, such as run-time vulnerability checking, rejuvenation process, updates partial or temporary feature deprecation, software deployment and configuration, and on-line software updates. These aspects trigger implications related to patenting, licensing, engineering education, new ways for software adoption and improvement, and ultimately, to software knowledge management.
There are many advanced applications requiring robust, safe, and secure software: disaster recovery applications, vehicular systems, biomedical-related software, biometrics related software, mission critical software, E-health related software, crisis-situation software. These applications require appropriate software engineering techniques, metrics and formalisms, such as, software reuse, appropriate software quality metrics, composition and integration, consistency checking, model checking, provers and reasoning.
The nature of research in software varies slightly with the specific discipline researchers work in, yet there is much common ground and room for a sharing of best practice, frameworks, tools, languages and methodologies. Despite the number of experts we have available, little work is done at the meta level, that is examining how we go about our research, and how this process can be improved. There are questions related to the choice of programming language, IDEs and documentation styles and standard.
Reuse can be of great benefit to research projects yet reuse of prior research projects introduces special problems that need to be mitigated. The research environment is a mix of creativity and systematic approach which leads to a creative tension that needs to be managed or at least monitored. Much of the coding in any university is undertaken by research students or young researchers. Issues of skills training, development and quality control can have significant effects on an entire department. In an industrial research setting, the environment is not quite that of industry as a whole, nor does it follow the pattern set by the university. The unique approaches and issues of industrial research may hold lessons for researchers in other domains.
We take here the opportunity to warmly thank all the members of the ICSEA 2022 technical program committee, as well as all the reviewers. The creation of such a high-quality conference program would not have been possible without their involvement. We also kindly thank all the authors who dedicated much of their time and effort to contribute to ICSEA 2022. We truly believe that, thanks to all these efforts, the final conference program consisted of top-quality contributions. We also thank the members of the ICSEA 2022 organizing committee for their help in handling the logistics of this event.
We hope that ICSEA 2022 was a successful international forum for the exchange of ideas and results between academia and industry and for the promotion of progress in software engineering advances
Consolidation of Customized Product Copies into Software Product Lines
In software development, project constraints lead to customer-specific variants by copying and adapting the product. During this process, modifications are scattered all over the code. Although this is flexible and efficient in the short term, a Software Product Line (SPL) offers better results in the long term, regarding cost reduction, time-to-market, and quality attributes. This book presents a novel approach named SPLevo, which consolidates customized product copies into an SPL
Consolidation of Customized Product Copies into Software Product Lines
Copy-based customization is a widespread technique to serve individual customer needs with existing software solutions. To cope with long term disadvantages resulting from this practice, this dissertation developed an approach to support the consolidation of such copies into a Software Product Line with a future-compliant product base providing managed variability
Consolidation of Customized Product Copies into Software Product Lines
In software development, project constraints lead to customer-specific variants by copying and adapting the product. During this process, modifications are scattered all over the code. Although this is flexible and efficient in the short term, a Software Product Line (SPL) offers better results in the long term, regarding cost reduction, time-to-market, and quality attributes. This book presents a novel approach named SPLevo, which consolidates customized product copies into an SPL
- …