BEZERRA, A. S.; http://lattes.cnpq.br/2849440258913113; BEZERRA, Amanda Saraiva.
Resumo:
Verify Distributed Systems is very hard. Some techniques, Model Checking for example,
trying to grant the behavioral correctness analyzing all the execution paths for these systems. However, this technique is limited to check small systems. The Design by Contract technique (DbC) suggests makes a set of assertions that should
be verified at runtime. These assertions are instant checks, which could be satisfied or violated. As DbC does not support the verification of temporal assertions, which check should be done over a lot of instant time for the execution, so we built a technique that verifies the Distributed Systems' behavior, verifying if the system execution is in accordance with the behavior requirements for it Initially is necessary the requirement definition, which should describe the desired system behavior. These requirements should be continuous checks, so we use the Linear Temporal Logic (LTL) to describe the evolution of the behavior over the time. The LTL is used to define set of behavioral properties specified for a Java Distributed System. Each behavioral property should be verified over defined objects of the system, they are the points of interest. These points should obey to the behavioral property defined for them. During the execution the information catch of each point of interest is done by the Aspect Oriented Programming (AOP). The language AspecU makes possible the capture of runtime information without intrusiveness.
During the system execution starts the monitoring, being necessary a partial order of the
events of the distributed system processes. The ordering is done based on the relation of
cause and effect between events, so we use the Logical Clocks to do this partial order.
After the capture and the organization of the events, the behavioral verification is done
in accordance with the specified properties defined for this system. If some violation was
detected during the system verification, so we found an inconsistent or unexpected behavior, in accordance with the specification. This violation is showed to the system developer or tester, which will correct the analyzed system. In this work we implemented the DistributedDesignMonitor (DDM) tool to prove our concept, monitoring Distributed Systems implemented in Java language. O DDM is presented and discussed using experiments, showed how use the monitoring technique