1,991 research outputs found

    Data-Aware Declarative Process Mining with SAT

    Get PDF
    Process Mining is a family of techniques for analyzing business process execution data recorded in event logs. Process models can be obtained as output of automated process discovery techniques or can be used as input of techniques for conformance checking or model enhancement. In Declarative Process Mining, process models are represented as sets of temporal constraints (instead of procedural descriptions where all control-flow details are explicitly modeled). An open research direction in Declarative Process Mining is whether multi-perspective specifications can be supported, i.e., specifications that not only describe the process behavior from the control-flow point of view, but also from other perspectives like data or time. In this paper, we address this question by considering SAT (Propositional Satisfiability Problem) as a solving technology for a number of classical problems in Declarative Process Mining, namely log generation, conformance checking and temporal query checking. To do so, we first express each problem as a suitable FO (First-Order) theory whose bounded models represent solutions to the problem, and then find a bounded model of such theory by compilation into SAT

    Solving the bank with Rebel: on the design of the Rebel specification language and its application inside a bank

    Get PDF
    Large organizations like banks suffer from the ever growing complexity of their systems. Evolving the software becomes harder and harder since a single change can affect a much larger part of the system than predicted upfront. A large contributing factor to this problem is that the actual domain knowledge is often implicit, incomplete, or out of date, making it difficult to reason about the correct behavior of the system as a whole. With Rebel we aim to capture and centralize the domain knowledge and relate it to the running systems. Rebel is a formal specification language for controlling the intrinsic complexity of software for financial enterprise systems. In collaboration with ING, a large Dutch bank, we developed the Rebel specification language and an Integrated Specification Environment (ISE), currently offering automated simulation and checking of Rebel specifications using a Satisfiability Modulo Theories (SMT) solver. In this paper we report on our design choices for Rebel, the implementation and features of the ISE, and our initial observations on the application of Rebel inside the bank

    Applying Formal Methods to Networking: Theory, Techniques and Applications

    Full text link
    Despite its great importance, modern network infrastructure is remarkable for the lack of rigor in its engineering. The Internet which began as a research experiment was never designed to handle the users and applications it hosts today. The lack of formalization of the Internet architecture meant limited abstractions and modularity, especially for the control and management planes, thus requiring for every new need a new protocol built from scratch. This led to an unwieldy ossified Internet architecture resistant to any attempts at formal verification, and an Internet culture where expediency and pragmatism are favored over formal correctness. Fortunately, recent work in the space of clean slate Internet design---especially, the software defined networking (SDN) paradigm---offers the Internet community another chance to develop the right kind of architecture and abstractions. This has also led to a great resurgence in interest of applying formal methods to specification, verification, and synthesis of networking protocols and applications. In this paper, we present a self-contained tutorial of the formidable amount of work that has been done in formal methods, and present a survey of its applications to networking.Comment: 30 pages, submitted to IEEE Communications Surveys and Tutorial

    Lightweight specification and analysis of dynamic systems with rich configurations

    Get PDF
    Model-checking is increasingly popular in the early phases of the software development process. To establish the correctness of a software design one must usually verify both structural and behavioral(or temporal) properties. Unfortunately, most specification languages, and accompanying model-checkers, excel only in analyzing either one or the other kind. This limits their ability to verify dynamic systems with rich configurations: systems whose state space is characterized by rich structural properties, but whose evolution is also expected to satisfy certain temporal properties.To address this problem, we first propose Electrum, an extension of the Alloy specification language with temporal logic operators, where both rich configurations and expressive temporal properties can easily be de fined. Two alternative model-checking techniques are then proposed, one bounded and the other unbounded, to verify systems expressed in this language, namely to verify that every desirable temporal property holds for every possible configuration.ERDF - European Regional Development Fund()info:eu-repo/semantics/publishedVersio

    Validating the Hybrid ERTMS/ETCS level 3 concept with electrum

    Get PDF
    This paper reports on the development of a formal model for the Hybrid ERTMS/ETCS Level 3 concept in Electrum, a lightweight formal specification language that extends Alloy with mutable relations and temporal logic operators. We show how Electrum and its Analyzer can be used to perform scenario exploration to validate this model, namely to check that all the operational scenarios described in the reference document are admissible, and to reason about expected safety properties, which can be easily specified and model checked for arbitrary track configurations. We also show how the Analyzer can be used to depict scenarios (and counter-examples) in a graphical notation that is logic-agnostic, making them understandable by stakeholders without expertise in formal specification.The authors would like to thank David Chemouil for the support provided during the model checking of the model. This work is financed by the ERDF – European Regional Development Fund through the Operational Programme for Competitiveness and Internationalisation - COMPETE 2020 and by National Funds through the Portuguese funding agency, FCT - Fundação para a Ciência e a Tecnologia within project POCI-01-0145-FEDER-016826

    Clafer: Lightweight Modeling of Structure, Behaviour, and Variability

    Get PDF
    Embedded software is growing fast in size and complexity, leading to intimate mixture of complex architectures and complex control. Consequently, software specification requires modeling both structures and behaviour of systems. Unfortunately, existing languages do not integrate these aspects well, usually prioritizing one of them. It is common to develop a separate language for each of these facets. In this paper, we contribute Clafer: a small language that attempts to tackle this challenge. It combines rich structural modeling with state of the art behavioural formalisms. We are not aware of any other modeling language that seamlessly combines these facets common to system and software modeling. We show how Clafer, in a single unified syntax and semantics, allows capturing feature models (variability), component models, discrete control models (automata) and variability encompassing all these aspects. The language is built on top of first order logic with quantifiers over basic entities (for modeling structures) combined with linear temporal logic (for modeling behaviour). On top of this semantic foundation we build a simple but expressive syntax, enriched with carefully selected syntactic expansions that cover hierarchical modeling, associations, automata, scenarios, and Dwyer's property patterns. We evaluate Clafer using a power window case study, and comparing it against other notations that substantially overlap with its scope (SysML, AADL, Temporal OCL and Live Sequence Charts), discussing benefits and perils of using a single notation for the purpose

    Data-aware Synthetic Log Generation for Declarative Process Models

    Get PDF
    Äriprotsesside juhtimises on protsessikaeve klass meetodeid, mida kasutatakse protsessi struktuuri õppimiseks täitmislogist. Selle struktuur on esindatud kui protsessi mudel: kas menetluslik või deklaratiivne. Näited deklaratiivsetest keeltest on Declare, DPIL ja DCR Graphs. Selleks, et testida ja parandada protsessi kaevandamise algoritme on vaja palju logisid erinevate parameetritega ja alati ei ole võimalik saada piisavalt reaalseid logisid. See on koht, kus tehislikud logid tulevad kasuks. On olemas meetodeid logi genereerimiseks DPIL-ist ja deklaratiivsetest mudelitest, kuid puuduvad vahendid logi genereerimiseks MPDeclare-ist, mis on multiperspektiivne versioon Declare-ist andmete toega. Käesolev magistritöö käsitleb MP-Declare mudelitest logide genereerimist kasutades kaht erinevat mudelite kontrollijat: Alloy ja NuSMV. Selleks, et parandada jõudlust, optimeerisime kirjanduses saadaval olevaid baaslähenemisi. Kõik käsitletud tehnikad implementeeritakse ja testitakse kasutades saadaval olevat sobivuse testimise tööriistu ja meie enda väljatöötatud teste. Meie generaatorite hindamiseks ja võrdluseks olemasolevate lahendustega mõõtsime me logide genereerimise aega ja seda, kuidas see muutub erinevate parameetrite ja mudelitega. Me töötasime välja erinevad mõõdupuud logide varieeruvuse arvutamiseks ja rakendasime neid uuritavatele generaatoritele.In Business Process Management, process mining is a class of techniques for learning process structure from an execution log. This structure is represented as a process model: either procedural or declarative. Examples of declarative languages are Declare, DPIL and DCR Graphs. In order to test and improve process mining algorithms a lot of logs with different parameters are required, and it is not always possible to get enough real logs. And this is where artificial logs are useful. There exist techniques for log generation from DPIL and declare-based models. But there are no tools for generating logs from MP-Declare – multiperspective version of Declare with data support. This thesis introduces an approach to log generation from MP-Declare models using two different model checkers: Alloy and NuSMV. In order to improve performance, we applied optimization to baseline approaches available in the literature. All of the discussed techniques are implemented and tested using existing conformance checking tools and our tests. To evaluate performance of our generators and compare them with existing ones, we measured time required for generating log and how it changes with different parameters and models. We also designed several metrics for computing log variability, and applied them to reviewed generators

    Integrated Model Checking of Static Structure and Dynamic Behavior using Temporal Description Logics

    Get PDF
    This paper presents a new notation for the formal representation of the static structure and dynamic behavior of software, based on description logics and temporal logics. The static structure as described by UML class diagrams is represented formally by description logics while the dynamic behavior is represented by linear temporal logic and state transition systems. We integrate these descriptions of static and dynamic aspects into a single formalism called LTLDL. LTLDL enables a concise and natural yet precise definition of the behavior of software w.r.t. UML class diagrams and state transition diagrams. We demonstrate our approach on the sake warehouse problem. Further, we describe how properties of finite LTLDL models can be analyzed based on bounded model checking and SMT (satisfiability modulo theory) solving. We implemented a restricted SMT solver for finite sets and relations. This SMT solver helped to reduce the model checking runtime significantly as compared to bounded model checking with existing tools
    corecore