José Miguel Pérez-Álvarez
Current Organizations / Institutes
The organizations/institutes from the scholar's latest article
Research Subjects
Research Interests
José Miguel Pérez-Álvarez has a total of 17 co-authors. Here are the top co-authors by number of shared publications:
- María Teresa Gómez-López
Universidad de Sevilla
6 shared publications - Rafael Martinez Gasca
Universidad de Sevilla, Spain
4 shared publications - Adrian Mos
Naver Labs Europe, Meylan, France
2 shared publications - Benjamin V. Hanrahan
Microsoft, Redmond, WA, USA
2 shared publications - Iyadunni J. Adenuga
Department of Computer Science and Technology, The Dorothy and George Hennings College of Science, Mathematics and Technology, Kean University, Union, NJ 07083, USA
2 shared publications María Teresa Gómez-López
Universidad de Sevilla
2 shared publications
Latest Publications
- Open Access
- 1 May 2022
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 113-124
Lowering Barriers to Application Development With Cloud-Native Domain-Specific Functions
Creating and maintaining a modern, heterogeneous set of client applications remains an obstacle for many businesses and individu-als. While simple domain-specific graphical languages and libraries can empower a variety of users to create application behaviors and logic, using these languages to produce and maintain a set of heterogeneous client applications is a challenge. Primarily because each client typically requires the developers to both understand and embed the domain-specific logic. This is because application logic must be encoded to some extent in both the server and client sides. In this paper, we propose an alternative approach, which allows the specification of application logic to reside solely on the cloud. We have built a system where reusable application components can be assembled on the cloud in different logical chains and the client is largely decoupled from this logic and is solely concerned with how data is displayed and gathered from users of the application. In this way, the chaining of requests and responses is done by the cloud and the client side has no knowledge of the application logic. This means that the experts in the domain can build these modular cloud components, arrange them in various logical chains, generate a simple user interface to test the application, and later leave it to client-side developers to customize the presentation and gathering of data types to and from the user. An additional effect of our approach is that the client side developer is able to immediately see any changes they make, while executing the logic residing on the cloud. This further allows more novice programmers to perform these customizations, as they do not need to ‘get the full application working’ and are able to see the results of their code as they go, thereby lowering the obstacles to businesses and individuals to produce and maintain applications. Furthermore, this decoupling enables the quick generation and customization of a variety of application clients, ranging from web to mobile devices and personal assistants, while customizing one or more as needed. Creating new computer applications, distributing them to users, and maintaining them, is complex and time-consuming. Building even a simple application requires years of study. Furthermore, given the number of devices we have today (from smartphones to voice assistants), the task is further complicated and difficult even for experienced programmers. The world is undergoing a digital transformation, and computer applications are now part of our everyday existence and building them is a requirement for many organizations and businesses. How-ever, only companies and individuals with large budgets and skills can build these applications, a consequence of which is an increased digital gap between those with means and those without. We see a clear need to lower the barriers to building these applications so a more diverse set of voices are able to participate and shape our digital futures, as underrepresented groups are often left out of designing and building these platforms. Previous researchers have proposed approaches where applications can be easily specified by people without (or with few) technical skills. However, handling different device platforms and maintenance/distribution were neglected in these efforts. In this paper we propose an approach where the program is executed on the cloud, while the client only needs to display and gather data from users. A result of our approach is that generic front-end applications adapt to any changes to the program being executed on the cloud. Our programs work with end-user apps on any device, the application that the user sees automatically adapts to any changes.
- 1 May 2022
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 113-124
Open AccessLowering Barriers to Application Development With Cloud-Native Domain-Specific Functions
Creating and maintaining a modern, heterogeneous set of client applications remains an obstacle for many businesses and individu-als. While simple domain-specific graphical languages and libraries can empower a variety of users to create application behaviors and logic, using these languages to produce and maintain a set of heterogeneous client applications is a challenge. Primarily because each client typically requires the developers to both understand and embed the domain-specific logic. This is because application logic must be encoded to some extent in both the server and client sides. In this paper, we propose an alternative approach, which allows the specification of application logic to reside solely on the cloud. We have built a system where reusable application components can be assembled on the cloud in different logical chains and the client is largely decoupled from this logic and is solely concerned with how data is displayed and gathered from users of the application. In this way, the chaining of requests and responses is done by the cloud and the client side has no knowledge of the application logic. This means that the experts in the domain can build these modular cloud components, arrange them in various logical chains, generate a simple user interface to test the application, and later leave it to client-side developers to customize the presentation and gathering of data types to and from the user. An additional effect of our approach is that the client side developer is able to immediately see any changes they make, while executing the logic residing on the cloud. This further allows more novice programmers to perform these customizations, as they do not need to ‘get the full application working’ and are able to see the results of their code as they go, thereby lowering the obstacles to businesses and individuals to produce and maintain applications. Furthermore, this decoupling enables the quick generation and customization of a variety of application clients, ranging from web to mobile devices and personal assistants, while customizing one or more as needed. Creating new computer applications, distributing them to users, and maintaining them, is complex and time-consuming. Building even a simple application requires years of study. Furthermore, given the number of devices we have today (from smartphones to voice assistants), the task is further complicated and difficult even for experienced programmers. The world is undergoing a digital transformation, and computer applications are now part of our everyday existence and building them is a requirement for many organizations and businesses. How-ever, only companies and individuals with large budgets and skills can build these applications, a consequence of which is an increased digital gap between those with means and those without. We see a clear need to lower the barriers to building these applications so a more diverse set of voices are able to participate and shape our digital futures, as underrepresented groups are often left out of designing and building these platforms. Previous researchers have proposed approaches where applications can be easily specified by people without (or with few) technical skills. However, handling different device platforms and maintenance/distribution were neglected in these efforts. In this paper we propose an approach where the program is executed on the cloud, while the client only needs to display and gather data from users. A result of our approach is that generic front-end applications adapt to any changes to the program being executed on the cloud. Our programs work with end-user apps on any device, the application that the user sees automatically adapts to any changes.
- 1 November 2021
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1174-1176
Decoupling Server and Client Code Through Cloud-Native Domain-Specific Functions
Simple domain-specific graphical languages and libraries can empower a variety of users to create application behavior and logic. However, it remains challenging to produce and maintain a heterogeneous set of client applications based on these descriptions, as each client typically requires the developers to both understand and embed the domain-specific logic. This is because application logic must be encoded to some extent in both the server and client sides.In this paper, we propose an alternative approach, which allows the specification of application logic to reside solely on the cloud. In our system, reusable application components are assembled on the cloud in different logical chains and the client is solely concerned with how data is displayed and gathered from users. In this way, the chaining of requests and responses is done by the cloud and the client side has no knowledge of the application logic. This means that the experts in the domain build modular cloud components, arrange them in logical chains, generate a simple user interface, and later leave it to client-side developers to customize the presentation.
- 1 November 2021
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1174-1176
Decoupling Server and Client Code Through Cloud-Native Domain-Specific Functions
Simple domain-specific graphical languages and libraries can empower a variety of users to create application behavior and logic. However, it remains challenging to produce and maintain a heterogeneous set of client applications based on these descriptions, as each client typically requires the developers to both understand and embed the domain-specific logic. This is because application logic must be encoded to some extent in both the server and client sides.In this paper, we propose an alternative approach, which allows the specification of application logic to reside solely on the cloud. In our system, reusable application components are assembled on the cloud in different logical chains and the client is solely concerned with how data is displayed and gathered from users. In this way, the chaining of requests and responses is done by the cloud and the client side has no knowledge of the application logic. This means that the experts in the domain build modular cloud components, arrange them in logical chains, generate a simple user interface, and later leave it to client-side developers to customize the presentation.
- 3 January 2020
- Published by Springer Nature in Knowledge and Information Systems
- Vol. 62 (7) , 2653-2683
Verifying the manipulation of data objects according to business process and data models
- 3 January 2020
- Published by Springer Nature in Knowledge and Information Systems
- Vol. 62 (7) , 2653-2683
Verifying the manipulation of data objects according to business process and data models
- 1 November 2018
- Published by Elsevier in Computers in Industry
- Vol. 102, 23-39
Tactical Business-Process-Decision Support based on KPIs Monitoring and Validation
- 1 November 2018
- Published by Elsevier in Computers in Industry
- Vol. 102, 23-39
Tactical Business-Process-Decision Support based on KPIs Monitoring and Validation
- 17 January 2018
- Published by Springer Nature
- p. 757-769
An Architecture for Querying Business Process, Business Process Instances, and Business Data Models
- 17 January 2018
- Published by Springer Nature
- p. 757-769
An Architecture for Querying Business Process, Business Process Instances, and Business Data Models
- 6 May 2017
- Published by Springer Nature
- p. 239-251
Guiding the Creation of Choreographed Processes with Multiple Instances Based on Data Models
- 6 May 2017
- Published by Springer Nature
- p. 239-251
Guiding the Creation of Choreographed Processes with Multiple Instances Based on Data Models
- 6 May 2017
- Published by Springer Nature
- p. 208-219
Governance Knowledge Management and Decision Support Using Fuzzy Governance Maps
- 6 May 2017
- Published by Springer Nature
- p. 208-219
Governance Knowledge Management and Decision Support Using Fuzzy Governance Maps
- 10 October 2016
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1-8
Process Instance Query Language to Include Process Performance Indicators in DMN
Companies are increasingly incorporating commercial Business Process Management Systems (BPMSs) as mechanisms to automate their daily procedures. These BPMSs manage the information related to the instances that flow through the model (business data), and recover the information concerning the process performance (Process Performance Indicators). Process Performance Indicators (PPIs) tend to be used for the detection of possible deviations of expected behaviour, and help in the post-mortem analysis and redesign by improving the goals of the processes. However, not only are PPIs important in terms of their ability to measure and detect a derivation, but they should also be included at decision points to make the business processes more adaptable to the process reality at runtime. In this paper, we propose a complete solution that allows the incorporation of the PPIs into decision tasks, following the Decision Model and Notation (DMN) standard, with the aim of enriching the decisions that can be taken during the process execution. Our proposal firstly includes an extension of the decision rule grammar of the DMN standard, by incorporating the definition and the use of a Process Instance Query Language (PIQL) that offers information about the instances related to the PPIs involved. In order to achieve this objective, a framework has also been developed to support the enrichment of process instance query expressions (PIQEs). This framework combines a set of mature technologies to evaluate the decisions about PPIs at runtime. As an illustration a real sample has been used whose decisions are improved thanks to the incorporation of the PPIs at runtime.
- 10 October 2016
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- p. 1-8
Process Instance Query Language to Include Process Performance Indicators in DMN
Companies are increasingly incorporating commercial Business Process Management Systems (BPMSs) as mechanisms to automate their daily procedures. These BPMSs manage the information related to the instances that flow through the model (business data), and recover the information concerning the process performance (Process Performance Indicators). Process Performance Indicators (PPIs) tend to be used for the detection of possible deviations of expected behaviour, and help in the post-mortem analysis and redesign by improving the goals of the processes. However, not only are PPIs important in terms of their ability to measure and detect a derivation, but they should also be included at decision points to make the business processes more adaptable to the process reality at runtime. In this paper, we propose a complete solution that allows the incorporation of the PPIs into decision tasks, following the Decision Model and Notation (DMN) standard, with the aim of enriching the decisions that can be taken during the process execution. Our proposal firstly includes an extension of the decision rule grammar of the DMN standard, by incorporating the definition and the use of a Process Instance Query Language (PIQL) that offers information about the instances related to the PPIs involved. In order to achieve this objective, a framework has also been developed to support the enrichment of process instance query expressions (PIQEs). This framework combines a set of mature technologies to evaluate the decisions about PPIs at runtime. As an illustration a real sample has been used whose decisions are improved thanks to the incorporation of the PPIs at runtime.
- 1 March 2015
- Published by Elsevier in Information Systems
- Vol. 48, 26-43
Compliance validation and diagnosis of business data constraints in business processes at runtime
- 1 March 2015
- Published by Elsevier in Information Systems
- Vol. 48, 26-43
Compliance validation and diagnosis of business data constraints in business processes at runtime
- 16 December 2014
- Published by World Scientific Pub Co Pte Ltd in International Journal of Cooperative Information Systems
- Vol. 23 (04)
Decision-Making Support for the Correctness of Input Data at Runtime in Business Processes
In a business process, the information that flows between the activities can be introduced by those users who interact with the process. This introduced information could be incorrect due to a lack of knowledge or a mistake. For this reason and to make the business process execution consistent, we propose a Decision Support System (DSS) to inform the user about the possible and correct values that the input data can take. The DSS takes into account the business process model and the policy of the company. The policy concerning the input data and dataflow that the company manages can be represented by constraints (called Business Data Constraints (BDCs)). In order to ascertain all the possible values of the input data that permit the execution of the process following the defined goals, the DSS analyzes the business process model and the BDC, using the constraint programming paradigm.
- 16 December 2014
- Published by World Scientific Pub Co Pte Ltd in International Journal of Cooperative Information Systems
- Vol. 23 (04)
Decision-Making Support for the Correctness of Input Data at Runtime in Business Processes
In a business process, the information that flows between the activities can be introduced by those users who interact with the process. This introduced information could be incorrect due to a lack of knowledge or a mistake. For this reason and to make the business process execution consistent, we propose a Decision Support System (DSS) to inform the user about the possible and correct values that the input data can take. The DSS takes into account the business process model and the policy of the company. The policy concerning the input data and dataflow that the company manages can be represented by constraints (called Business Data Constraints (BDCs)). In order to ascertain all the possible values of the input data that permit the execution of the process following the defined goals, the DSS analyzes the business process model and the BDC, using the constraint programming paradigm.