Pedro Clemente - Academia.edu (original) (raw)
Uploads
articles by Pedro Clemente
The number of video-surveillance applications has increased in the last years due to the increasi... more The number of video-surveillance applications has increased in the last years due to the increasing security requirements, especially in public buildings. In that sense, new types of applications have appeared with new services. As an example, digital applications allow the possibility of remotely controlling the video through internet. However, most of these applications are implemented ad-hoc. They are very tied to the programming level reducing thus their reusability, configurability and maintainability. In this setting, we propose a Model-Driven approach to develop video-surveillance applications. This approach is based on the utilization of a Domain Specific Language (DSL) that allows the design of these applications at the modeling level. The utilization of models enhance the reusability of the services provided by the systems but also aims at managing their variability making them highly configurable. The models built based on this DSL are then used by model transformations that are able to automatically generate the configuration of the applications so that they may be dynamically reconfigured. Moreover, the approach provides different versions of the system, namely a standalone application, a web application or an application for mobile devices. All these applications allow the remote control of the video installation and the integration of external services such as SMS alerts, vehicles' plate recognition or smart home control.
Papers by Pedro Clemente
The Journal of Object Technology, Dec 31, 2022
Expert Systems With Applications, Dec 1, 2022
Resumen La convergencia hacia el Espacio Europeo de Educación Superior nos obliga a la modificaci... more Resumen La convergencia hacia el Espacio Europeo de Educación Superior nos obliga a la modificación de nuestras titulaciones y la Ley Orgánica de Universidades, a que estas nuevas enseñanzas sean de calidad. Por lo tanto nos enfrentamos a un proceso de revisión y evaluación para el que quizás no estemos preparados. Analizando los criterios de calidad dictados por la Agencia Nacional de Evaluación de la Calidad y Acreditación (ANECA) y por el borrador del Libro Blanco del título de Grado en Ingeniería Informática, realizamos un análisis de la situación en la que se encuentran las titulaciones de Informática en la Universidad de Extremadura. Buscamos un punto de referencia para comenzar a mejorar y prepararnos para una nueva situación a punto de llegar.
Rev. Colomb. de Computación, 2004
El taller sobre Nuevas Tecnologias de la Informacion: Componentes y Servicios Web , es un referen... more El taller sobre Nuevas Tecnologias de la Informacion: Componentes y Servicios Web , es un referente cientifico de primer orden en cuanto al estudio, implantacion y perspectivas de las nuevas tecnologias de la informacion.
International Journal of Remote Sensing, 2021
Satellite crop identification processes are increasingly being used on a large scale, both to ver... more Satellite crop identification processes are increasingly being used on a large scale, both to verify the crop and to improve production. As it is necessary to study phenological data over a period of time across a large territory, a lot of storage space is needed to save the satellite images and a lot of calculation time to analyse all this information. Sensing periods are usually established based on subjective expert criteria or previous experience. However, this decision may cause several differences when discriminating crop patterns, besides not guaranteeing good precision. These processes would greatly improve if the appropriate time periods could be found systematically using the minimum number of satellite images in the shortest possible time. In this paper, we propose a new methodology to determine a suitable sensing period for crop identification using Sentinel-2 images, applying hill climbing algorithms to the training sets of neural network models. We have used the method successfully in the 2020 Common Agricultural Policy campaign in the Extremadura region, Spain. The article also describes the use of the method in a case on tobacco detection in this region.
Journal of Systems and Software, 2018
It is widely claimed that Technical Debt is related to quality problems being often produced by p... more It is widely claimed that Technical Debt is related to quality problems being often produced by poor processes, lack of verification or basic incompetence. Several techniques have been proposed to detect Technical Debt in source code, as identification of modularity violations, code smells or grime buildups. These approaches have been used to empirically demonstrate the relation among Technical Debt indicators and quality harms. However, these works are mainly focused on programming level, when the system has already been implemented. There may also be sources of Technical Debt in non-code artifacts, e.g. requirements, and its identification may provide important information to move refactoring efforts to previous stages and reduce future Technical Debt interest. This paper presents an empirical study to evaluate whether modularity anomalies at requirements level are directly related to maintainability attributes affecting systems quality and increasing, thus, system's interest. The study relies on a framework that allows the identification of modularity anomalies and its quantification by using modularity metrics. Maintainability metrics are also used to assess dynamic maintainability properties. The results obtained by both sets of metrics are pairwise compared to check whether the more modularity anomalies the system presents, the less stable and more difficult to maintain it is.
Component-based software engineering is an emerging discipline that is generating tremendous inte... more Component-based software engineering is an emerging discipline that is generating tremendous interest due to the development of plug-and-play reusable software. However, component adaptation and later composition still challenges the software engineering community because of the binary nature of software components. Once a binary component is ready to market, its contract cannot be changed in order to be adapted to new contexts or new requirements. Aspect-orientation facilitates software adaptation and evolution by increasing software modularization. In this sense, aspect-oriented mechanisms can obviates contracts to weave new behaviour to an already developed system by means of hooks and behaviour attached to theses hooks. In this paper, a component composition mechanism based on aspect-oriented techniques is presented, which extends typical composition based on interfaces or events. Components and their composition are modeled using UML at early development phases. Our approach is based on model-driven development (MDD), allowing systems to be built from analysis to deployment, automatically generating the required artifacts (such as wrappers or assembly descriptors). This work has been developed using CCM as the component model 1 .
Internet of things, Oct 1, 2023
2022 17th Iberian Conference on Information Systems and Technologies (CISTI), Jun 22, 2022
Page 1. Modeling with UML Component-based and Aspect Oriented Programming Systems⌘ Pedro J. Cleme... more Page 1. Modeling with UML Component-based and Aspect Oriented Programming Systems⌘ Pedro J. Clemente, Fernando Sánchez, Miguel A. Pérez Quercus Software Engineering Group. Extremadura University. SPAIN {jclemente, fernando, toledano}@unex.es Abstract. ...
Lecture Notes in Computer Science, 2012
Nowadays, there is a current trend in software industry to modernize traditional Web Applications... more Nowadays, there is a current trend in software industry to modernize traditional Web Applications (WAs) to Rich Internet Applications (RIAs). RIAs improve the user experience by combining the lightweight distribution architecture of the Web with the interface interactivity and computation power of desktop applications. In this context, Model Driven Web Engineering (MDWE) approaches have been extended with new modeling primitives to obtain the benefits provided by RIA features. However, during the last decade, widespread languagespecific web frameworks have supported actual web system development. In this paper we present a model driven modernization process to obtain RIAs from legacy web systems based on such frameworks. model driven techniques reduce complexity and improve reusability of the process, making the development more systematic and less error prone. Being navigational information of upmost importance for the modernization process of a web application, the paper is focused on presenting the model driven extraction of such concern from the legacy system artifact, presenting the extraction tools and process.
IEEE Access, 2020
Many companies have implemented their business processes in Web applications which must be freque... more Many companies have implemented their business processes in Web applications which must be frequently adapted so as to stay aligned with new business process requirements. Service-oriented architectures (SOAs) constitute an appropriate option to manage the continuous changes in those processes by facilitating their alignment with the changing underlying system services. In this context, firms are trying to migrate their Web applications to new software architectures such as SOAs. However, this migration is usually carried out ad-hoc by means of non-reusable and error-prone manual processes. Similarly, the alignment between the business processes and the underlying services identified is usually done by hand. This work presents a model-driven semiautomatic approach to modernize legacy Web applications to SOAs. The approach is focused on an automatic semantic process aimed at discovering the services that can be used to implement the business processes (defined by the companies), then aligning these processes with the underlying services. A semantic algorithm is provided to aid the migration architect during the alignment process. The case study carried out shows that the alignment process results obtained by the semantic algorithm presented in this paper are similar to those obtained by the experts manually. Finally, SOA orchestration artifacts are generated from the semantic algorithm results. INDEX TERMS Legacy Web applications, service-oriented architecture, semantic algorithms, model-driven techniques.
IEEE Access, 2018
Organizations require their business processes goals and the underlying Information Technology (I... more Organizations require their business processes goals and the underlying Information Technology (IT) to be in synchronization with each other, but the continual changes in business processes make this difficult. To accomplish this synchronization, there needs to be an alignment between the business processes and the IT. Business processes are currently defined using such well-known notations as BPMN, and the IT is made available by different services. Hence, the alignment process can be defined as one between the organization's BPMNs and the services provided by its IT. In practice, however, this process is a complex task which is carried out by hand, and hence is error prone. The present communication analyses the conditions, relations, and incompatibilities between BPMNs and the service descriptions. The incompatibilities are formalized mathematically in order to facilitate their identification and resolution. Then an alignment process is defined taking into account these incompatibilities and their solutions. The wrapper code needed to resolve each incompatibility identified during the alignment process is generated automatically. Finally, a case study is presented to validate and illustrate the use of the proposed alignment process. The results provided by the semiautomatic alignment process were similar to those obtained manually by a group of experts.
IEEE Latin America Transactions, 2017
The migration of legacy web applications (LWA) to Service Oriented Architectures (SOA) has become... more The migration of legacy web applications (LWA) to Service Oriented Architectures (SOA) has become mainstream in the last years due to the architectural flexibility that SOA provides, which allows to easily adapt the existing applications to new requirements. However, these migrations are usually ad-hoc and manually performed leading to tedious and error-prone processes. MigraSOA is an approach to migrate (and modernize) LWA to SOA that makes use of Model-Driven Development techniques to face the complexity of the underlying technologies, web services, business processes definition or executable business processes platforms. In addition to globally introducing MigraSOA, this paper focuses on the alignment of the business processes defined by the company with the underlying web services of the LWA. Moreover, the paper also shows a process to extend the BPMN models in order to keep these models synchronized with the available services. 1
Series on Component-Based Software Development, 2004
Page 123. Chapter 5 Component-based System Design and Composition: An Aspect-oriented Approach&qu... more Page 123. Chapter 5 Component-based System Design and Composition: An Aspect-oriented Approach" PEDRO J. CLEMENTE, JUAN HERNANDEZ, JUAN M. MURILLO, MIGUEL A. PEREZ and FERNANDO SANCHEZ Quercus ...
The number of video-surveillance applications has increased in the last years due to the increasi... more The number of video-surveillance applications has increased in the last years due to the increasing security requirements, especially in public buildings. In that sense, new types of applications have appeared with new services. As an example, digital applications allow the possibility of remotely controlling the video through internet. However, most of these applications are implemented ad-hoc. They are very tied to the programming level reducing thus their reusability, configurability and maintainability. In this setting, we propose a Model-Driven approach to develop video-surveillance applications. This approach is based on the utilization of a Domain Specific Language (DSL) that allows the design of these applications at the modeling level. The utilization of models enhance the reusability of the services provided by the systems but also aims at managing their variability making them highly configurable. The models built based on this DSL are then used by model transformations that are able to automatically generate the configuration of the applications so that they may be dynamically reconfigured. Moreover, the approach provides different versions of the system, namely a standalone application, a web application or an application for mobile devices. All these applications allow the remote control of the video installation and the integration of external services such as SMS alerts, vehicles' plate recognition or smart home control.
The Journal of Object Technology, Dec 31, 2022
Expert Systems With Applications, Dec 1, 2022
Resumen La convergencia hacia el Espacio Europeo de Educación Superior nos obliga a la modificaci... more Resumen La convergencia hacia el Espacio Europeo de Educación Superior nos obliga a la modificación de nuestras titulaciones y la Ley Orgánica de Universidades, a que estas nuevas enseñanzas sean de calidad. Por lo tanto nos enfrentamos a un proceso de revisión y evaluación para el que quizás no estemos preparados. Analizando los criterios de calidad dictados por la Agencia Nacional de Evaluación de la Calidad y Acreditación (ANECA) y por el borrador del Libro Blanco del título de Grado en Ingeniería Informática, realizamos un análisis de la situación en la que se encuentran las titulaciones de Informática en la Universidad de Extremadura. Buscamos un punto de referencia para comenzar a mejorar y prepararnos para una nueva situación a punto de llegar.
Rev. Colomb. de Computación, 2004
El taller sobre Nuevas Tecnologias de la Informacion: Componentes y Servicios Web , es un referen... more El taller sobre Nuevas Tecnologias de la Informacion: Componentes y Servicios Web , es un referente cientifico de primer orden en cuanto al estudio, implantacion y perspectivas de las nuevas tecnologias de la informacion.
International Journal of Remote Sensing, 2021
Satellite crop identification processes are increasingly being used on a large scale, both to ver... more Satellite crop identification processes are increasingly being used on a large scale, both to verify the crop and to improve production. As it is necessary to study phenological data over a period of time across a large territory, a lot of storage space is needed to save the satellite images and a lot of calculation time to analyse all this information. Sensing periods are usually established based on subjective expert criteria or previous experience. However, this decision may cause several differences when discriminating crop patterns, besides not guaranteeing good precision. These processes would greatly improve if the appropriate time periods could be found systematically using the minimum number of satellite images in the shortest possible time. In this paper, we propose a new methodology to determine a suitable sensing period for crop identification using Sentinel-2 images, applying hill climbing algorithms to the training sets of neural network models. We have used the method successfully in the 2020 Common Agricultural Policy campaign in the Extremadura region, Spain. The article also describes the use of the method in a case on tobacco detection in this region.
Journal of Systems and Software, 2018
It is widely claimed that Technical Debt is related to quality problems being often produced by p... more It is widely claimed that Technical Debt is related to quality problems being often produced by poor processes, lack of verification or basic incompetence. Several techniques have been proposed to detect Technical Debt in source code, as identification of modularity violations, code smells or grime buildups. These approaches have been used to empirically demonstrate the relation among Technical Debt indicators and quality harms. However, these works are mainly focused on programming level, when the system has already been implemented. There may also be sources of Technical Debt in non-code artifacts, e.g. requirements, and its identification may provide important information to move refactoring efforts to previous stages and reduce future Technical Debt interest. This paper presents an empirical study to evaluate whether modularity anomalies at requirements level are directly related to maintainability attributes affecting systems quality and increasing, thus, system's interest. The study relies on a framework that allows the identification of modularity anomalies and its quantification by using modularity metrics. Maintainability metrics are also used to assess dynamic maintainability properties. The results obtained by both sets of metrics are pairwise compared to check whether the more modularity anomalies the system presents, the less stable and more difficult to maintain it is.
Component-based software engineering is an emerging discipline that is generating tremendous inte... more Component-based software engineering is an emerging discipline that is generating tremendous interest due to the development of plug-and-play reusable software. However, component adaptation and later composition still challenges the software engineering community because of the binary nature of software components. Once a binary component is ready to market, its contract cannot be changed in order to be adapted to new contexts or new requirements. Aspect-orientation facilitates software adaptation and evolution by increasing software modularization. In this sense, aspect-oriented mechanisms can obviates contracts to weave new behaviour to an already developed system by means of hooks and behaviour attached to theses hooks. In this paper, a component composition mechanism based on aspect-oriented techniques is presented, which extends typical composition based on interfaces or events. Components and their composition are modeled using UML at early development phases. Our approach is based on model-driven development (MDD), allowing systems to be built from analysis to deployment, automatically generating the required artifacts (such as wrappers or assembly descriptors). This work has been developed using CCM as the component model 1 .
Internet of things, Oct 1, 2023
2022 17th Iberian Conference on Information Systems and Technologies (CISTI), Jun 22, 2022
Page 1. Modeling with UML Component-based and Aspect Oriented Programming Systems⌘ Pedro J. Cleme... more Page 1. Modeling with UML Component-based and Aspect Oriented Programming Systems⌘ Pedro J. Clemente, Fernando Sánchez, Miguel A. Pérez Quercus Software Engineering Group. Extremadura University. SPAIN {jclemente, fernando, toledano}@unex.es Abstract. ...
Lecture Notes in Computer Science, 2012
Nowadays, there is a current trend in software industry to modernize traditional Web Applications... more Nowadays, there is a current trend in software industry to modernize traditional Web Applications (WAs) to Rich Internet Applications (RIAs). RIAs improve the user experience by combining the lightweight distribution architecture of the Web with the interface interactivity and computation power of desktop applications. In this context, Model Driven Web Engineering (MDWE) approaches have been extended with new modeling primitives to obtain the benefits provided by RIA features. However, during the last decade, widespread languagespecific web frameworks have supported actual web system development. In this paper we present a model driven modernization process to obtain RIAs from legacy web systems based on such frameworks. model driven techniques reduce complexity and improve reusability of the process, making the development more systematic and less error prone. Being navigational information of upmost importance for the modernization process of a web application, the paper is focused on presenting the model driven extraction of such concern from the legacy system artifact, presenting the extraction tools and process.
IEEE Access, 2020
Many companies have implemented their business processes in Web applications which must be freque... more Many companies have implemented their business processes in Web applications which must be frequently adapted so as to stay aligned with new business process requirements. Service-oriented architectures (SOAs) constitute an appropriate option to manage the continuous changes in those processes by facilitating their alignment with the changing underlying system services. In this context, firms are trying to migrate their Web applications to new software architectures such as SOAs. However, this migration is usually carried out ad-hoc by means of non-reusable and error-prone manual processes. Similarly, the alignment between the business processes and the underlying services identified is usually done by hand. This work presents a model-driven semiautomatic approach to modernize legacy Web applications to SOAs. The approach is focused on an automatic semantic process aimed at discovering the services that can be used to implement the business processes (defined by the companies), then aligning these processes with the underlying services. A semantic algorithm is provided to aid the migration architect during the alignment process. The case study carried out shows that the alignment process results obtained by the semantic algorithm presented in this paper are similar to those obtained by the experts manually. Finally, SOA orchestration artifacts are generated from the semantic algorithm results. INDEX TERMS Legacy Web applications, service-oriented architecture, semantic algorithms, model-driven techniques.
IEEE Access, 2018
Organizations require their business processes goals and the underlying Information Technology (I... more Organizations require their business processes goals and the underlying Information Technology (IT) to be in synchronization with each other, but the continual changes in business processes make this difficult. To accomplish this synchronization, there needs to be an alignment between the business processes and the IT. Business processes are currently defined using such well-known notations as BPMN, and the IT is made available by different services. Hence, the alignment process can be defined as one between the organization's BPMNs and the services provided by its IT. In practice, however, this process is a complex task which is carried out by hand, and hence is error prone. The present communication analyses the conditions, relations, and incompatibilities between BPMNs and the service descriptions. The incompatibilities are formalized mathematically in order to facilitate their identification and resolution. Then an alignment process is defined taking into account these incompatibilities and their solutions. The wrapper code needed to resolve each incompatibility identified during the alignment process is generated automatically. Finally, a case study is presented to validate and illustrate the use of the proposed alignment process. The results provided by the semiautomatic alignment process were similar to those obtained manually by a group of experts.
IEEE Latin America Transactions, 2017
The migration of legacy web applications (LWA) to Service Oriented Architectures (SOA) has become... more The migration of legacy web applications (LWA) to Service Oriented Architectures (SOA) has become mainstream in the last years due to the architectural flexibility that SOA provides, which allows to easily adapt the existing applications to new requirements. However, these migrations are usually ad-hoc and manually performed leading to tedious and error-prone processes. MigraSOA is an approach to migrate (and modernize) LWA to SOA that makes use of Model-Driven Development techniques to face the complexity of the underlying technologies, web services, business processes definition or executable business processes platforms. In addition to globally introducing MigraSOA, this paper focuses on the alignment of the business processes defined by the company with the underlying web services of the LWA. Moreover, the paper also shows a process to extend the BPMN models in order to keep these models synchronized with the available services. 1
Series on Component-Based Software Development, 2004
Page 123. Chapter 5 Component-based System Design and Composition: An Aspect-oriented Approach&qu... more Page 123. Chapter 5 Component-based System Design and Composition: An Aspect-oriented Approach" PEDRO J. CLEMENTE, JUAN HERNANDEZ, JUAN M. MURILLO, MIGUEL A. PEREZ and FERNANDO SANCHEZ Quercus ...
2014 IEEE World Congress on Services, 2014
Service-oriented architectures (SOA) offer a suitable solution to manage the continuous changes i... more Service-oriented architectures (SOA) offer a suitable solution to manage the continuous changes in companies business processes. SOA facilitates the alignment of business process with underlying system services. There is a high percentage of Legacy Web Applications (LWA) developed by software factories that were implemented by using Model-View Controller (MVC) frameworks and without considering SOA in their development process. In this context, many companies are performing a modernization of their systems to be adapted to SOA. However, this migration is usually carried out ad-hoc by means of not reusable and error-prone manual processes. Additionally, these migration processes are often performed at a low abstraction level, close to code, hindering reusability and maintainability of the obtained systems. In this paper a Model-Driven systematic and semi-automatic approach to modernize legacy web applications to SOA is presented. The approach eases the reutilization of the process at different domains, since the underlying services of the LWA are identified and generated from model-driven techniques, but also of the new generated system since these new services may be offered as an interoperable service layer. Although the paper completely introduces the approach, it mainly focuses on the semantic process defined to discover services of the LWA that may be later associated (aligned) to the company business processes.