1,991 research outputs found
Data-Aware Declarative Process Mining with SAT
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
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
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
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
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
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
Ä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
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
- …