Papers by Ricardo Pérez-Castillo
Abstract. Business processes are recognized by organizations as one of the most important intangi... more Abstract. Business processes are recognized by organizations as one of the most important intangible assets, since they let organizations improve their competitiveness. Business processes are supported by enterprise information systems, which can evolve over time and embed particular business rules that are not present anywhere else. Thus, there are many organizations with inaccurate business processes, which prevent the modernization of enterprise information systems in line with the business processes that they support. Therefore, business process mining techniques are often used to retrieve reliable business processes from the event logs recorded during the execution of enterprise systems. Unfortunately, such event logs are represented with purpose-specific notations such as Mining XML and still don’t apply the recent software modernization standard: ISO 19506 (KDM, Knowledge Discovery Metamodel). This paper presents an exogenous model transformation between these two notations. ...
Software modernization advocates reengineering processes for legacy information systems taking mo... more Software modernization advocates reengineering processes for legacy information systems taking model-driven development principles into account. Modernization projects consider different legacy software artifacts as knowledge sources like, for example, source code, databases, user interfaces. In addition, the knowledge necessary to modernize a respective legacy system is extracted by analyzing the legacy artifacts in a static way. Unfortunately, there is a large amount of knowledge that is only known during system execution. Thus, this paper suggests a technique based on dynamic analysis of source code to obtain runtime models representing the system execution events. The technique is contextualized within MARBLE, a modernization framework to obtain business processes form legacy information systems. Firstly, the technique obtains a runtime model that represents events related to the execution of the business activities of the business processes supported by the legacy system. Secon...
Legacy enterprise systems mainly consist of two kinds of artefacts: source code and databases. Ty... more Legacy enterprise systems mainly consist of two kinds of artefacts: source code and databases. Typically, the maintenance of those artefacts is carried out through re-engineering processes in isolated manners. However, for a more effective maintenance of the whole system both should be analysed and evolved jointly according to ADM (Architecture-Driven Modernization) approach. Thus, the ROI and the lifespan of the legacy system are expected to improve. In this sense, this paper proposes the schema elicitation technique for recovering the relational database schema that is minimally used by the source code. For this purpose, the technique analyses database queries embedded in the legacy source code in order to remove the dead parts of the database schema. Also, this proposal has been validated throughout a real-life case study.
This paper presents the Talavera Manifesto for quantum software engineering and programming. This... more This paper presents the Talavera Manifesto for quantum software engineering and programming. This manifesto collects some principles and commitments about the quantum software engineering and programming field, as well as some calls for action. This is the result of the discussion and different viewpoints of academia and industry practitioners who joined at the first International Workshop on QuANtum SoftWare Engineering & pRogramming (QANSWER
Software and Systems Modeling, 2021
Enterprise architecture has become an important driver to facilitate digital transformation in co... more Enterprise architecture has become an important driver to facilitate digital transformation in companies, since it allows to manage IT and business in a holistic and integrated manner by establishing connections among technology concerns and strategical/motivational ones. Enterprise architecture modelling is critical to accurately represent business and their IT assets in combination. This modelling is important when companies start to manage their enterprise architecture, but also when it is remodelled so that the enterprise architecture is realigned in a changing world. Enterprise architecture is commonly modelled by few experts in a manual way, which is error-prone and time-consuming and makes continuous realignment difficult. In contrast, other enterprise architecture modelling proposal automatically analyses some artefacts like source code, databases, services, etc. Previous automated modelling proposals focus on the analysis of individual artefacts with isolated transformation...
Informatica, 2021
Code repositories contain valuable information, which can be extracted, processed and synthesized... more Code repositories contain valuable information, which can be extracted, processed and synthesized into valuable information. It enabled developers to improve maintenance, increase code quality and understand software evolution, among other insights. Certain research has been made during the last years in this field. This paper presents a systematic mapping study to find, evaluate and investigate the mechanisms, methods and techniques used for the analysis of information from code repositories that allow the understanding of the evolution of software. Through this mapping study, we have identified the main information used as input for the analysis of code repositories (commit data and source code), as well as the most common methods and techniques of analysis (empirical/experimental and automatic). We believe the conducted research is useful for developers working on software development projects and seeking to improve maintenance and understand the evolution of software through the use and analysis of code repositories.
Enterprise Information Systems, 2019
Enterprise architecture allows companies to deal with digital transformation through the proactiv... more Enterprise architecture allows companies to deal with digital transformation through the proactive presentation and alignment of business and IT in a holistic manner. One important challenge is EA modelling since it is time-consuming (thus expensive), errorprone, and biased owing to experts' subjective opinions. This challenge might consequently be addressed through automatic EA modelling. We conducted a systematic mapping study to classify and evaluate the research concerning EA mining proposals developed specifically for TOGAF and Archimate. After analysing results, we concluded that the research field is not sufficiently mature and further research on EA mining is necessary.
The volatile IT industry often tempts companies to replace legacy information systems with new on... more The volatile IT industry often tempts companies to replace legacy information systems with new ones. However, legacy systems cannot always be completely discarded because they gradually store a significant amount of valuable business knowledge as a result of progressive maintenance over time. Most migration techniques are proposed and applied in an ad hoc way. As a result, most migration techniques have a lack of automation and formalization, which makes it difficult to reuse such techniques to large, complex legacy information systems. This paper introduces MIMOS, a third-year project aimed at developing a methodological and technological modernization framework to facilitate the migration of legacy systems based on high-level design models. The work in progress during the first year mainly focused on the definition of a business process mining technique to retrieve the business knowledge embedded in source code so that it can be reused in the target system.
Procedia - Social and Behavioral Sciences, 2013
Proceedings of the 27th Annual ACM Symposium on Applied Computing, 2012
2013 IEEE Global Engineering Education Conference (EDUCON), 2013
ABSTRACT Software maintenance is recognized as an important knowledge area within the most common... more ABSTRACT Software maintenance is recognized as an important knowledge area within the most common international curricula in software engineering. Despite this fact, and its importance in the industry, software maintenance and supporting techniques such as reengineering are hardly ever taught in practical lessons. This paper presents a reengineering teaching experience conducted during two last years in lab sessions by using reverse engineering and code generation tools. The experience was carried out by merging traditional methods (such as teaching lessons) with a practical exercise in laboratory. The teaching-learning process was qualitative- and quantitatively assessed by comparing results between an initial and final evaluation, as well as between the experiences conducted during two last years with different syllabus of courses. In fact, the effect of the experience in both syllabi proved to be effective. The reported results show that students do not know reengineering as a software maintenance technique although their satisfaction with the experience was high or very high (62%) or medium (30%). The key learned lessons are that students recognized the usage of reengineering tools as very convenient for their performance as future practitioners and the need to devote additional time in classroom to learn such tools.
Lecture Notes in Computer Science, 2013
Agent-based technology is being used in an increasing variety of applications and domains. Despit... more Agent-based technology is being used in an increasing variety of applications and domains. Despite the substantial research effort on methodologies for analyzing, designing and implementing multi-agent systems (MAS), maintenance and evolution of MAS software is nowadays challenging. This paper presents REAGENT, a reverse engineering technique for retrieving MAS design models from the source code of Jade based MAS implementations. REAGENT support tools have been experimentally evaluated by means of a case study with 19 benchmark programs from textbook. REAGENT has proved to be able to collect accurate and complete agent models in a linear time regarding the size of agent models, which facilitates its applicability to large, complex, industrial MAS.
2009 16th Working Conference on Reverse Engineering, 2009
There is a real need for SOA principles, such as those offering software as services, in the soft... more There is a real need for SOA principles, such as those offering software as services, in the software industry. In this effort, databases (one of the most important artifacts in information systems) can be also seen as a set of services offering access to the stored information. This paper presents PRECISO, a reverse engineering tool to discover and generate Web
Proceedings of the 2011 ACM Symposium on Applied Computing, 2011
Communications in Computer and Information Science, 2013
An appropriate business process management helps companies to quickly adapt to changes while thei... more An appropriate business process management helps companies to quickly adapt to changes while their competitiveness is maintained or even improved. For this reason, business process models are recognized as being important assets for companies and companies are currently demanding mechanisms to ensure business processes with an appropriate quality degree. These business process models can be mined by reverse engineering from existing information systems. Regrettably, these reversed models usually have a lower quality degree and may not exactly reflect the actual business processes. This paper describes detected common problems in business processes retrieved by reverse engineering (e.g., missing, fine-grained or non-relevant elements, ambiguities, etc.). Refactoring is widely-used to fix quality problems in business process models. Despite this, this work suggests addressing the above problems by defining three stages: repairing, refactoring and expert-based improvement. Additionally, some preliminary results from refactoring stage are provided using real-life retrieved business process models.
Lecture Notes in Business Information Processing, 2011
International Journal of Cooperative Information Systems, 2013
Concept location is a key activity during software modernization since it allows maintainers to e... more Concept location is a key activity during software modernization since it allows maintainers to exactly determine what pieces of source code support a specific concept. Real-world business processes and information systems providing operational IT support for respective processes can be misaligned as a consequence of uncontrolled maintenance over time. When concepts supported by an information system are getting outdated or misaligned, concept location becomes a time-consuming and error-prone task. Moreover, enterprise information systems (which implement business processes) embed significant business knowledge over time that is neither present nor documented anywhere else. To support the evolution of existing information systems, the embedded knowledge must first be retrieved and depicted in up-to-date business process models and then be mapped to the source code. This paper addresses this issue through a concept location approach that considers business activities as the key conce...
Information Systems and Technology for Organizational Agility, Intelligence, and Resilience
Open source software systems have poor or inexistent documentation and contributors are often sca... more Open source software systems have poor or inexistent documentation and contributors are often scattered or missing. The reuse-based composition and maintenance of open source software systems therefore implies that program comprehension becomes a critical activity if all the embedded behavior is to be preserved. Program comprehension has traditionally been addressed by reverse engineering techniques which retrieve system design models such as class diagrams. These abstract representations provide a key artifact during migration or evolution. However, this method may retrieve large complex class diagrams which do not ensure a suitable program comprehension. This chapter attempts to improve program comprehension by providing a model-driven reverse engineering technique with which to obtain business processes models that can be used in combination with system design models such as class diagrams. The advantage of this approach is that business processes provide a simple system viewpoin...
2009 16th Working Conference on Reverse Engineering, 2009
Uploads
Papers by Ricardo Pérez-Castillo