BARBOSA, P. E. S.; http://lattes.cnpq.br/9229454955533353; BARBOSA, Paulo Eduardo e Silva.
Résumé:
Every programmer or software engineer deals with a chronic problem during the conception of their systems: violations in the project requirements. These violations need to be discovered early be cause they generally produce errors that can be discovered later, at a very expensive cost to repair. In recent years, researchers in computer science are obtaining a notable progress in the development of techniques and tools to automatically verify requirements and designs. The most evidently approach is called model-checking. Model checking is a formal and algorithmic technique to perform properties verification in a finite state space of systems. Its main advantages are the automation power and the quality of the produced results. However this technique suffers from one big and foundamental problem - the state space explosion which is the absense of computational resources available today’s to deal with large amounts of information about the behavior of the systems under verification. This work investigates a solution to verify models in a distributed way using computational grids which runs bag-of-tasks applications, alleviating the mentioned problem. Bagof-tasks applications are those parallel applications which tasks arei ndependent of each other and are the applications most suited for computational grids because they allow heterogeneity between resources. We employ computational grid tools as a layer between between the verificationtooland the distributed shared resources. This verification is performed by adapted CTL algorithms to the bag-of-tasks philosophy.
So we intend to obtain improvements in speed-up and scalability in the systems to be checked when compared to centralized versions of verifiers produced in side the group. Moreover,the employed middleware in the distribution is very attractive in the cost and control aspects. By sharing a single machine, the system engineer obtains access to a community that provides large amounts of heterogeneous resources automatically managed to perform parallel computation. This work included the production of the following tools: a generic API to the distributed generation of graphs that describes the behavior of concurrent systems under bag-of-tasks computational grids platforms, a prototype to check for CTL properties using on-the-fly algorithms or iterating over the generated fragments of the distributed graph. We also implemented simplified versions of simulators of concurrent systems following some formalisms based on Petri nets. Experimental results are also presented.