A UML/SPT Model Analysis Methodology for Concurrent Systems Based on Genetic Algorithms

Concurrency problems, such as deadlocks, should be identified early in the design process. This is made increasingly difficult as larger and more complex concurrent systems are being developed. We propose here an approach, based on the analysis of specific models expressed in the Unified Modeling Language (UML) that uses a specifically designed genetic algorithm to detect deadlocks. Our main motivations are (1) to devise practical solutions that are applicable in the context of UML design without requiring additional modeling and (2) to achieve scalable automation. All relevant concurrency information is extracted from systems' UML models that comply with the UML Schedulability, Performance and Time profile, a standardized specialization of UML for real-time, concurrent systems. Our genetic algorithm is then used to search for execution sequences exhibiting deadlocks. Results on three case studies show that our approach can achieve efficient results.

[1]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[2]  Stefan Leue,et al.  Trail-directed model checking , 2001, Workshop on Software Model Checking @ CAV.

[3]  Tom Pender UML Bible , 2003 .

[4]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.

[5]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[6]  Jean Bacon Concurrent Systems: Operating Systems, Database and Distributed Systems: An Integrated Approach , 1997 .

[7]  Roger Duke,et al.  A UML approach to the generation of test sequences for Java-based concurrent systems , 2005, 2005 Australian Software Engineering Conference.

[8]  Allen B. Downey,et al.  The Little Book of Semaphores , 2009 .

[9]  Lionel C. Briand,et al.  Using genetic algorithms for early schedulability analysis and stress testing in real-time systems , 2006, Genetic Programming and Evolvable Machines.

[10]  Chang Wook Ahn,et al.  On the practical genetic algorithms , 2005, GECCO '05.

[11]  Maria Luisa Villani,et al.  DELFIN+: An efficient deadlock detection tool for CCS processes , 2006, J. Comput. Syst. Sci..

[12]  Christian Jacob,et al.  Illustrating Evolutionary Computation with Mathematica , 2001 .

[13]  Thomas Bck,et al.  Self-adaptation in genetic algorithms , 1991 .

[14]  David E. Goldberg,et al.  Parallel Recombinative Simulated Annealing: A Genetic Algorithm , 1995, Parallel Comput..

[15]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[16]  Sarfraz Khurshid,et al.  Exploring very large state spaces using genetic algorithms , 2004, International Journal on Software Tools for Technology Transfer.

[17]  Grigore Rosu,et al.  Monitoring Java Programs with Java PathExplorer , 2001, RV@CAV.