Genetic programming: on the programming of computers by means of natural selection
Genetic programming: on the programming of computers by means of natural selection
Parallel recombinative simulated annealing: a genetic algorithm
Parallel Computing
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Practical genetic algorithms
Illustrating evolutionary computation with Mathematica
Illustrating evolutionary computation with Mathematica
Concurrent Systems: Operating Systems, Database and Distributed Systems: An Integrated Approach
Concurrent Systems: Operating Systems, Database and Distributed Systems: An Integrated Approach
MDA Explained: The Model Driven Architecture: Practice and Promise
MDA Explained: The Model Driven Architecture: Practice and Promise
Exploring very large state spaces using genetic algorithms
International Journal on Software Tools for Technology Transfer (STTT) - Special section on tools and algorithms for the construction and analysis of systems
A UML Approach to the Generation of Test Sequences for Java-Based Concurrent Systems
ASWEC '05 Proceedings of the 2005 Australian conference on Software Engineering
Using genetic algorithms for early schedulability analysis and stress testing in real-time systems
Genetic Programming and Evolvable Machines
DELFIN+: An efficient deadlock detection tool for CCS processes
Journal of Computer and System Sciences
A UML/MARTE Model Analysis Method for Detection of Data Races in Concurrent Systems
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Deterministic UML Models for Interconnected Activities and State Machines
MODELS '09 Proceedings of the 12th International Conference on Model Driven Engineering Languages and Systems
Search-based model transformation by example
Software and Systems Modeling (SoSyM)
Hi-index | 0.00 |
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.