Design and validation of computer protocols
Design and validation of computer protocols
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
An axiomatic basis for computer programming
Communications of the ACM
Slicing Software for Model Construction
Higher-Order and Symbolic Computation
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Mining Process Models from Workflow Logs
EDBT '98 Proceedings of the 6th International Conference on Extending Database Technology: Advances in Database Technology
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
SPINning Parallel Systems Software
Proceedings of the 9th International SPIN Workshop on Model Checking of Software
Concurrency and Automata on Infinite Sequences
Proceedings of the 5th GI-Conference on Theoretical Computer Science
On Combining Functional Verification and Performance Evaluation Using CADP
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
ICATPN '97 Proceedings of the 18th International Conference on Application and Theory of Petri Nets
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
Specifying Performance Measures for PEPA
ARTS '99 Proceedings of the 5th International AMAST Workshop on Formal Methods for Real-Time and Probabilistic Systems
Combining Static Analysis and Model Checking for Software Analysis
Proceedings of the 16th IEEE international conference on Automated software engineering
Workflow Mining: Discovering Process Models from Event Logs
IEEE Transactions on Knowledge and Data Engineering
Verification of a sliding window protocol in μCRL and PVS
Formal Aspects of Computing
Model-checking processes with data
Science of Computer Programming
Model checking large network protocol implementations
NSDI'04 Proceedings of the 1st conference on Symposium on Networked Systems Design and Implementation - Volume 1
Modelling Distributed Systems (Texts in Theoretical Computer Science. An EATCS Series)
Modelling Distributed Systems (Texts in Theoretical Computer Science. An EATCS Series)
Verifying Parallel Programs with MPI-Spin
Proceedings of the 14th European PVM/MPI User's Group Meeting on Recent Advances in Parallel Virtual Machine and Message Passing Interface
Symbolic Reachability for Process Algebras with Recursive Data Types
Proceedings of the 5th international colloquium on Theoretical Aspects of Computing
Efficient large-scale model checking
IPDPS '09 Proceedings of the 2009 IEEE International Symposium on Parallel&Distributed Processing
Inferring Finite-State Models with Temporal Constraints
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Behavioural Analysis of an I2C Linux Driver
FMICS '09 Proceedings of the 14th International Workshop on Formal Methods for Industrial Critical Systems
Design and implementation of the gLite CREAM job management service
Future Generation Computer Systems
Process Algebra: Equational Theories of Communicating Processes
Process Algebra: Equational Theories of Communicating Processes
seL4: formal verification of an operating-system kernel
Communications of the ACM
Verified design of an automated parking garage
FMICS'06/PDMC'06 Proceedings of the 11th international workshop, FMICS 2006 and 5th international workshop, PDMC conference on Formal methods: Applications and technology
Model checking nonblocking MPI programs
VMCAI'07 Proceedings of the 8th international conference on Verification, model checking, and abstract interpretation
Mining program workflow from interleaved traces
Proceedings of the 16th ACM SIGKDD international conference on Knowledge discovery and data mining
Experiences in developing the mCRL2 toolset
Software—Practice & Experience
CADP 2010: a toolbox for the construction and analysis of distributed processes
TACAS'11/ETAPS'11 Proceedings of the 17th international conference on Tools and algorithms for the construction and analysis of systems: part of the joint European conferences on theory and practice of software
Process mining and verification of properties: an approach based on temporal logic
OTM'05 Proceedings of the 2005 Confederated international conference on On the Move to Meaningful Internet Systems - Volume >Part I
Design and analysis techniques for concurrent blackboard systems
IEEE Transactions on Systems, Man, and Cybernetics, Part A: Systems and Humans
Analysing the control software of the compact muon solenoid experiment at the large hadron collider
FSEN'11 Proceedings of the 4th IPM international conference on Fundamentals of Software Engineering
Sound formal verification of linux's USB BP keyboard driver
NFM'12 Proceedings of the 4th international conference on NASA Formal Methods
Formal Analysis of SystemC Designs in Process Algebra
Fundamenta Informaticae
Hi-index | 0.00 |
DIRAC (Distributed Infrastructure with Remote Agent Control) is the grid solution designed to support production activities as well as user data analysis for the Large Hadron Collider ''beauty'' experiment. It consists of cooperating distributed services and a plethora of light-weight agents delivering the workload to the grid resources. Services accept requests from agents and running jobs, while agents actively fulfill specific goals. Services maintain database back-ends to store dynamic state information of entities such as jobs, queues, or requests for data transfer. Agents continuously check for changes in the service states and react to these accordingly. The logic of each agent is rather simple; the main source of complexity lies in their cooperation. These agents run concurrently and communicate using the services' databases as a shared memory for synchronizing the state transitions. Despite the effort invested in making DIRAC reliable, entities occasionally get into inconsistent states. Tracing and fixing such behaviors is difficult, given the inherent parallelism among the distributed components and the size of the implementation. In this paper we present an analysis of DIRAC with mCRL2, process algebra with data. We have reverse engineered two critical and related DIRAC subsystems, and subsequently modeled their behavior with the mCRL2 toolset. This enabled us to easily locate race conditions and livelocks which were confirmed to occur in the real system. We further formalized and verified several behavioral properties of the two modeled subsystems.