Verificação de requisitos funcionais e não funcionais em Arquiteturas Orientadas a Serviços - Oliveira, Kênia Santos de (2020)
This research work formally presents two methods for scenarios verification of functional and non-functional requirements in Service-Oriented Architecture (SOA) models and also two methods for detecting and removing negative requirements of deadlock type in SOA. SOA represents business processes and it is modeled by a Interorganizational WorkFlow net that is not necessarily deadlock-free. The first method is related to the verification of scenarios of service requirements (behavior) in SOA. The verification is based on the construction of Linear Logic proof trees and precedence graphs derived from proof trees correctly finalized. The precedence graphs of the requirement and architectural models are compared using a type of bisimulation defined in this work in order to verify if all existing scenarios of the requirement model also exist in the corresponding architecture. The second method is related to the verification of performance of service requirements in SOA. The Linear Logic proof trees constructed for the first method are reused with the addition of symbolic dates associated with each atom of the produced trees. At the end of the execution of each scenario, symbolic date intervals are generated to compare if the scenarios that are equivalents in terms of behavior are also equivalents in terms of performance. The third method is related to the detection of negative requirements of deadlock type in SOA. Starting from a feared marking, which represents a partial state of the model, all sequences of actions will be identified, that is, all scenarios that can turn a service requirement into a negative requirement of deadlock type. To identify these sequences of actions, an inverse reasoning will be used in the architecture model, applying the same idea used in the method to verify functional requirements. The fourth method is related to deadlock control. To prevent deadlock situations that are caused by the exchange of messages in an interorganizational workflow, the synchronization of local processes will be used. Synchronization forces local workflow processes to perform certain activities simultaneously; thereby, removing the deadlock situation from the model. The methods are validated through a case study that is also simulated in the CPN Tools simulator. The validation and the complexity analysis performed, show that the methods can be effective to identify whether an SOA-based system satisfies the behavior and performance of the business needs specified by a public requirements model and also to identify and correct negative requirements of deadlock type.