Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Paulo Henrique M. Maia is active.

Publication


Featured researches published by Paulo Henrique M. Maia.


international conference on enterprise information systems | 2015

TCG - A Model-based Testing Tool for Functional and Statistical Testing

Laryssa Lima Muniz; Ubiratan S. C. Netto; Paulo Henrique M. Maia

Model-based testing (MBT) is an approach that takes software specification as the base for the formal model creation and, from it, enables the test case extraction. Depending on the type of model, an MBT tool can support functional and statistical tests. However, there are few tools that support both testing techniques. Moreover, the ones that support them offer a limited number of coverage criteria. This paper presents TCG, a tool for the generation and selection of functional and statistical test cases. It provides 8 classic generation techniques and 5 selection heuristics, including a novel one called minimum probability of path.


international conference on enterprise information systems | 2015

Sharding by Hash Partitioning

Caio H. Costa; João Vianney B. M. Filho; Paulo Henrique M. Maia; Francisco Carlos M. B. Oliveira

With the beginning of the 21st century, web applications requirements dramatically increased in scale. Applications like social networks, ecommerce, and media sharing, started to generate lots of data traffic, and companies started to track this valuable data. The database systems responsible for storing all this information had to scale in order to handle the huge load. With the emergence of cloud computing, scaling out a database system has became an affordable solution, making data sharding a viable scalability option. But to benefit from data sharding, database designers have to identify the best manner to distribute data among the nodes of shared cluster. This paper discusses database sharding distribution models, specifically a technique known as hash partitioning. Our objective is to catalog in the format of a Database Scalability Pattern the best practice that consists in sharding the data among the nodes of a database cluster using the hash partitioning technique to nicely balance the load between the database servers. This way, we intend to make the mapping between the scenario and its solution publicly available, helping developers to identify when to adopt the pattern instead of other sharding techniques.


european conference on service-oriented and cloud computing | 2015

Supporting Partial Database Migration to the Cloud Using Non-intrusive Software Adaptations: An Experience Report

Caio H. Costa; Paulo Henrique M. Maia; Nabor C. Mendonça; Lincoln S. Rocha

This paper reports on an early experience of partially migrating a legacy systems’ relational database to a NoSQL database in the Amazon cloud. The migration process involved converting part of the relational database data to the schema-less format supported by the target NoSQL database, and adapting the two software applications that make up the system (developed using Grails and Groovy, respectively) to transparently access both the relational database on-premise and the NoSQL database in the cloud. The required software adaptations were performed using a non-intrusive approach based on aspect-oriented programming (in the case of the Grails application) and meta-programming features (in the case of the Groovy application). This approach allowed the system to be easily adapted and tested, without the need to change its source code directly.


2015 IX Brazilian Symposium on Components, Architectures and Reuse Software | 2015

Just Business: A Framework for Developing Android Applications Using Naked Objects

Fabiano Freitas; Paulo Henrique M. Maia

Naked Objects is an architectural pattern in which the business objects are handled directly in the user interface. In this pattern, developers are responsible only for the creation of business classes and do not need to concern with the implementation of the other layers. Although used in several frameworks for making the development of web and desktop systems faster, there is still a lack of tools that add the benefits of that pattern to the creation of Android applications. This paper introduces Just Business, a Naked Objects-based framework, which aims at supporting fast creation of Android business applications through automatic code generation from mapping the business classes. A case study that describes how it was used and its evaluation is also provided.


software engineering for adaptive and self managing systems | 2017

Lotus@Runtime: a tool for runtime monitoring and verification of self-adaptive systems

Davi Monteiro Barbosa; Rômulo Gadelha de Moura Lima; Paulo Henrique M. Maia; Evilásio Costa Junior

This paper presents Lotus@Runtime, an extensible tool that uses models@runtime to monitor and verify self-adaptive systems. The tool monitors the execution traces generated by a self-adaptive system and annotates the probabilities of occurrence of each system action on their respective transition on the system model, which is created at design time in the tool as a Labelled Transition System (LTS). Then, runtime checks of a set of reachability properties are performed against the updated probabilistic model. If a property is violated, the self-adaptive system can be informed by a notification mechanism provided by Lotus@Runtime. The applicability of the proposed tool has been demonstrated by two service-based self-adaptive systems taken and adapted from the literature.


european conference on software architecture | 2018

Beethoven: An Event-Driven Lightweight Platform for Microservice Orchestration

Davi Monteiro; Rômulo Gadelha; Paulo Henrique M. Maia; Lincoln S. Rocha; Nabor C. Mendonça

The microservice architecture provides an efficient manner to allocate computational resources since each microservice can be individually scaled. Despite its benefits, there are still challenges regarding the cooperation among different microservices in order to provide elaborated business processes. In this paper, we propose Beethoven, an event-driven lightweight platform for microservice orchestration that eases the creation of complex applications that use microservice data flows. The platform is composed of a reference architecture and an orchestration language. The reference architecture has been instantiated by using the Spring Cloud Netflix ecosystem. To demonstrate the feasibility of the Beethoven platform, an example application has been developed. All artifacts produced as part of this work are available.


Proceedings of the VII Brazilian Symposium on Software Components, Architectures, and Reuse | 2018

Analysing the Evolution of Exception Handling Anti-Patterns in Large-Scale Projects: A Case Study

Dêmora Bruna Cunha de Sousa; Paulo Henrique M. Maia; Lincoln S. Rocha; Windson Viana

Previous studies have shown that exception handling bad practices may impact the overall software quality. We believe that quality of exception handling code is directly affected by (i) an absence, or lack of awareness, of an explicit exception handling policy; and (ii) a silent rising and spreading of exception handling anti-patterns. To investigate such phenomenon, we conducted a case study in a large-scale Java Web system, trying to better understand the relationship between (i) and (ii). The study takes into account technical and human aspects. We surveyed 21 developers regarding their perception about exception handling in the systems institution. Next, we analyse the evolution of exception handling anti-patterns across 15 releases of the target system. Finally, we conduct a semi-structured interview with three senior software architects. Our finds beneficiated the systems institution by making it aware of these problems and enabling it to take actions towards to combat them.


Information & Software Technology | 2017

Cloud restriction solver: A refactoring-based approach to migrate applications to the cloud

Marcos Borges; Erick Barros; Paulo Henrique M. Maia

Abstract Context The migration of legacy systems to the Platform as a Service (PaaS) model provides several benefits, but also brings new challenges, such as dealing with the restrictions imposed by the service provider. Furthermore, factors such as time, training and the extensive reengineering activities make the migration process time consuming and error prone. Although there exist several techniques for partial or total migration of legacy applications to the cloud, only a few specifically address the resolution of these constraints. Objective This paper proposes a novel semi-automatic approach, called Cloud Restriction Solver (CRS), for migrating applications to a PaaS environment that avoids the cloud restrictions through user-defined refactorings. Methods The approach is supported by two open and extensible tools. The first one, called CRSAnalyzer, identifies the pieces of code that violate the restrictions of the chosen PaaS platform, while the second one, CRSRefactor, changes those pieces by equivalent cloud-enabled services. Results The applicability of the proposed approach is presented by showing its instantiation for Google App Engine as an Eclipse plugin and by migrating three Java applications to that PaaS successfully. In addition, an instantiation for IBM Bluemix has been created and used to compare the migration of the same application using the developed tools for both cloud providers. Conclusion The proposed approach fosters software reuse, is cloud-independent, and facilitates the migration of applications to PaaS platforms.


DARTS - Dagstuhl Artifacts Series | 2017

Lotus@Runtime: A Tool for Runtime Monitoring and Verification of Self-adaptive Systems (Artifact)

Davi Monteiro Barbosa; Rômulo Gadelha de Moura Lima; Paulo Henrique M. Maia; Evilásio Costa Junior

This paper presents Lotus@Runtime, an extensible tool that uses models@runtime to monitor and verify self-adaptive systems. The tool monitors the execution traces generated by a self-adaptive system and annotates the probabilities of occurrence of each system action on their respective transition on the system model, which is created at design time in the tool as a Labelled Transition System (LTS). Then, runtime checks of a set of reachability properties are performed against the updated probabilistic model. If a property is violated, the self-adaptive system can be informed by a notification mechanism provided by Lotus@Runtime. The applicability of the proposed tool has been demonstrated by two service-based self-adaptive systems taken and adapted from the literature.


international conference on enterprise information systems | 2016

A Naked Objects based Framework for Developing Android Business Applications

Fabiano Freitas; Paulo Henrique M. Maia

Naked Objects is an architectural pattern in which the business objects are handled directly in the user interface. In this pattern, developers are responsible only for the creation of business classes and do not need to concern with the implementation of the other layers. Although used in several frameworks for making the development of web and desktop systems faster, there is still a lack of tools that add the benefits of that pattern to the creation of Android applications. This paper introduces JustBusiness, a Naked Objects based framework that aims at supporting the creation of Android applications through automatic generation of user interfaces and persistence code from mapping the business classes. Two case studies that describe how the framework was used and its evaluation are also provided.

Collaboration


Dive into the Paulo Henrique M. Maia's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar

Lincoln S. Rocha

Federal University of Ceará

View shared research outputs
Top Co-Authors

Avatar

Caio H. Costa

State University of Ceará

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Marcos Borges

State University of Ceará

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Davi Monteiro

State University of Ceará

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Erick Barros

State University of Ceará

View shared research outputs
Researchain Logo
Decentralizing Knowledge