382 research outputs found
Boosting Multi-Core Reachability Performance with Shared Hash Tables
This paper focuses on data structures for multi-core reachability, which is a
key component in model checking algorithms and other verification methods. A
cornerstone of an efficient solution is the storage of visited states. In
related work, static partitioning of the state space was combined with
thread-local storage and resulted in reasonable speedups, but left open whether
improvements are possible. In this paper, we present a scaling solution for
shared state storage which is based on a lockless hash table implementation.
The solution is specifically designed for the cache architecture of modern
CPUs. Because model checking algorithms impose loose requirements on the hash
table operations, their design can be streamlined substantially compared to
related work on lockless hash tables. Still, an implementation of the hash
table presented here has dozens of sensitive performance parameters (bucket
size, cache line size, data layout, probing sequence, etc.). We analyzed their
impact and compared the resulting speedups with related tools. Our
implementation outperforms two state-of-the-art multi-core model checkers (SPIN
and DiVinE) by a substantial margin, while placing fewer constraints on the
load balancing and search algorithms.Comment: preliminary repor
Modeling Role-Based Systems with Exogenous Coordination
The concept of roles is a promising approach to cope with context dependency and adaptivity of modern software systems. While roles have been investigated in conceptual modeling, programming languages and multi-agent systems, they have been given little consideration within component-based systems.
In this paper, we propose a hierarchical role-based approach for modeling relationships and collaborations between components. In particular, we consider the channel-based, exogenous coordination language Reo and discuss possible realizations of roles and related concepts. The static requirements on the binding of roles are modeled by rule sets expressed in many-sorted second-order logic and annotations on the Reo networks for role binding, context and collaborations, while Reo connectors are used to model the coordination of runtime role playing. The ideas presented in this paper may serve as a basis for the formalization and formal analysis of role-based software systems
Family-Based Modeling and Analysis for Probabilistic Systems
Feature-based formalisms provide an elegant way to specify families of systems that share a base functionality and differ in certain features. They can also facilitate an all-in-one analysis, where all systems of the family are analyzed at once on a single family model instead of one-by-one. This paper presents the basic concepts of the tool ProFeat, which provides a guarded-command language for modeling families of probabilistic systems and an automatic translation of family models to the input language of the probabilistic model checker PRISM. This translational approach enables a family-based quantitative analysis with PRISM. Besides modeling families of systems that differ in system parameters such as the number of identical processes or channel sizes, ProFeat also provides special support for the modeling and analysis of (probabilistic) product lines with dynamic feature switches, multi-features and feature attributes. By means of several case studies we show how ProFeat eases family-based modeling and compare the one-by-one and all-in-one analysis approach
An overview of existing modeling tools making use of model checking in the analysis of biochemical networks
Model checking is a well-established technique for automaticallyverifying complex systems. Recently, model checkers have appearedin computer tools for the analysis of biochemical (and generegulatory) networks. We survey several such tools to assess thepotential of model checking in computational biology. Next, our overviewfocuses on direct applications of existing model checkers, as well ason algorithms for biochemical network analysis influenced by modelchecking, such as those using binary decision diagrams or Booleansatisfiability solvers. We conclude with advantages and drawbacks ofmodel checking for the analysis of biochemical networks
Ontology-based methodology for error detection in software design
Improving the quality of a software design with the goal of producing a high quality software product continues to grow in importance due to the costs that result from poorly designed software. It is commonly accepted that multiple design views are required in order to clearly specify the required functionality of software. There is universal agreement as to the importance of identifying inconsistencies early in the software design process, but the challenge is how to reconcile the representations of the diverse views to ensure consistency. To address the problem of inconsistencies that occur across multiple design views, this research introduces the Methodology for Objects to Agents (MOA). MOA utilizes a new ontology, the Ontology for Software Specification and Design (OSSD), as a common information model to integrate specification knowledge and design knowledge in order to facilitate the interoperability of formal requirements modeling tools and design tools, with the end goal of detecting inconsistency errors in a design. The methodology, which transforms designs represented using the Unified Modeling Language (UML) into representations written in formal agent-oriented modeling languages, integrates object-oriented concepts and agent-oriented concepts in order to take advantage of the benefits that both approaches can provide. The OSSD model is a hierarchical decomposition of software development concepts, including ontological constructs of objects, attributes, behavior, relations, states, transitions, goals, constraints, and plans. The methodology includes a consistency checking process that defines a consistency framework and an Inter-View Inconsistency Detection technique. MOA enhances software design quality by integrating multiple software design views, integrating object-oriented and agent-oriented concepts, and defining an error detection method that associates rules with ontological properties
White-box validation of quantitative product lines by statistical model checking and process mining
We propose a novel methodology for validating software product line (PL)
models by integrating Statistical Model Checking (SMC) with Process Mining
(PM). Our approach focuses on the feature-oriented language QFLan in the PL
engineering domain, allowing modeling of PLs with rich cross-tree and
quantitative constraints, as well as aspects of dynamic PLs like staged
configurations. This richness leads to models with infinite state-space,
requiring simulation-based analysis techniques like SMC. For instance, we
illustrate with a running example involving infinite state space. SMC involves
generating samples of system dynamics to estimate properties such as event
probabilities or expected values. On the other hand, PM uses data-driven
techniques on execution logs to identify and reason about the underlying
execution process. In this paper, we propose, for the first time, applying PM
techniques to SMC simulations' byproducts to enhance the utility of SMC
analyses. Typically, when SMC results are unexpected, modelers must determine
whether they stem from actual system characteristics or model bugs in a
black-box manner. We improve on this by using PM to provide a white-box
perspective on the observed system dynamics. Samples from SMC are fed into PM
tools, producing a compact graphical representation of observed dynamics. The
mined PM model is then transformed into a QFLan model, accessible to PL
engineers. Using two well-known PL models, we demonstrate the effectiveness and
scalability of our methodology in pinpointing issues and suggesting fixes.
Additionally, we show its generality by applying it to the security domain.Comment: Pre-print Special Issue on Managing Variability in Complex
Software-Intensive Systems of the Journal of Systems and Softwar
A hybrid framework for the specification of automated material handling systems
This paper presents a hybrid framework that specifies and characterizes the capabilities of generic components in an automated material handling system (AMHS). The framework also provides rules and mechanism for binding these capabilities together so as to facilitate the process of task planning for AMHSs. As a hybrid framework, the formal mathematics of Communicating Sequential Process (CSP) is tightly integrated to the Unified Modeling Language (UML) to provide three important entities, namely, the object structure diagram, object communication diagram and CSP-based statechart to extend the capability of a UML model in specifying the key properties of AMHSs including synchronization, parallelism and communication. The results will bring us a step closer to the generation of a fully automated task-planning executive for AMHSs.published_or_final_versio
- ā¦