Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Fathiyeh Faghih is active.

Publication


Featured researches published by Fathiyeh Faghih.


ACM Transactions on Autonomous and Adaptive Systems | 2015

SMT-Based Synthesis of Distributed Self-Stabilizing Systems

Fathiyeh Faghih; Borzoo Bonakdarpour

A self-stabilizing system is one that guarantees reaching a set of legitimate states from any arbitrary initial state. Designing distributed self-stabilizing protocols is often a complex task and developing their proof of correctness is known to be significantly more tedious. In this article, we propose an SMT-based method that automatically synthesizes a self-stabilizing protocol, given the network topology of distributed processes and description of the set of legitimate states. Our method can synthesize synchronous, asynchronous, symmetric, and asymmetric protocols for two types of stabilization, namely weak and strong. We also report on successful automated synthesis of a set of well-known distributed stabilizing protocols such as Dijkstra’s token ring, distributed maximal matching, graph coloring, and mutual exclusion in anonymous networks.


formal methods | 2013

Recommendations for improving the usability of formal methods for product lines

Joanne M. Atlee; Sandy Beidu; Nancy A. Day; Fathiyeh Faghih; Pourya Shaker

While there may be general agreement on what it means for a formal method to be usable (e.g., ease of modelling, automated and scalable analysis), there is no consensus in the software-engineering or formal-methods communities on what strategies lead to more usable formalisms. In this paper, we aim to raise discussion around such strategies by proposing fourteen concrete recommendations for achieving practical formal methods. Our recommendations apply to research in formal modelling, automated analysis, and automated transformation (e.g., transforming a model into the input to an analysis tool). Our recommendations focus on formal methods for functional requirements of software product lines, as per our experience in this area as part of a research project in collaboration with an automotive manufacturer; however, most of the recommendations apply to formal methods in general. We also provide a brief overview of a formal modelling language and an underdevelopment tool chain that realizes our recommendations.


Symposium on Self-Stabilizing Systems | 2014

SMT-Based Synthesis of Distributed Self-stabilizing Systems

Fathiyeh Faghih; Borzoo Bonakdarpour

A self-stabilizing system is one that guarantees reaching a set of legitimate states from any arbitrary initial state. Designing distributed self-stabilizing protocols is often a complex task and developing their proof of correctness is known to be significantly more tedious. In this paper, we propose an SMT-based method that automatically synthesizes a self-stabilizing protocol, given the network topology of distributed processes and description of the set of legitimate states. We also report successful automated synthesis of Dijkstra’s token ring and distributed maximal matching.


formal techniques for (networked and) distributed systems | 2016

Specification-Based Synthesis of Distributed Self-Stabilizing Protocols

Fathiyeh Faghih; Borzoo Bonakdarpour; Sébastien Tixeuil; Sandeep S. Kulkarni

In this paper, we introduce an SMT-based method that automatically synthesizes a distributed self-stabilizing protocol from a given high-level specification and the network topology. Unlike existing approaches, where synthesis algorithms require the explicit description of the set of legitimate states, our technique only needs the temporal behavior of the protocol. We also extend our approach to synthesize ideal-stabilizing protocols, where every state is legitimate. Our proposed methods are implemented and we report successful synthesis of Dijkstras token ring and a self-stabilizing version of Raymonds mutual exclusion algorithm, as well as ideal-stabilizing leader election and local mutual exclusion.


international conference on distributed computing systems | 2015

Synthesizing Self-Stabilizing Protocols under Average Recovery Time Constraints

Saba Aflaki; Fathiyeh Faghih; Borzoo Bonakdarpour

A self-stabilizing system is one that converges to a legitimate state from any arbitrary state. Such an arbitrary state may be reachable due to wrong initialization or the occurrence of transient faults. Average recovery time of self-stabilizing systems is a key factor in evaluating their performance, especially in the domain of network and robotic protocols. This paper introduces a groundbreaking result on automated repair and synthesis of self-stabilizing protocols whose average recovery time is required to satisfy certain constraints. We show that synthesizing and repairing weak-stabilizing protocols under average recovery time constraints is NP-complete. To cope with the exponential complexity (unless P = NP), we propose a polynomial-time heuristic.


international symposium on stabilization safety and security of distributed systems | 2017

ASSESS: A Tool for Automated Synthesis of Distributed Self-stabilizing Algorithms

Fathiyeh Faghih; Borzoo Bonakdarpour

A distributed self-stabilizing system is one that always recovers to its legitimate behavior with no external intervention, even if it is initialized in an arbitrary state. It is well known that designing and reasoning about the correctness of such protocols are highly tedious and complex tasks. We present Assess (Automated Synthesizer for SElf-Stabilizing Systems), a tool that automatically synthesizes distributed self-stabilizing algorithms from their high-level specification. Assess takes as input (1) the network topology of the distributed system, (2) the legitimate behavior of the system (either explicitly as a state predicate, or implicitly as a set of ltl formulas), and (3) a set of high-level requirements such as the timing model (asynchronous or synchronous) and stabilization type (weak, strong, and monotonic). The tool utilizes powerful SMT-solving techniques and returns a self-stabilizing protocol as a set of guarded commands that realize the input specification. Since the output is correct by construction, it will not need any proof correctness. We expect the designers and researchers in the area of self-stabilization to significantly benefit from the tool.


IEEE Transactions on Dependable and Secure Computing | 2016

Symbolic Synthesis of Timed Models with Strict 2-Phase Fault Recovery

Fathiyeh Faghih; Borzoo Bonakdarpour

In this article, we focus on efficient synthesis of fault-tolerant timed models from their fault-intolerant version. Although the complexity of the synthesis problem is known to be polynomial time in the size of the time-abstract bisimulation of the input model, the state of the art currently lacks synthesis algorithms that can be efficiently implemented. This is in part due to the fact that synthesis is in general a challenging problem and its complexity is significantly magnified in the context of timed systems. We propose an algorithm that takes as input a timed automaton, a set of fault actions, and a set of safety and bounded-time response properties, and utilizes a space-efficient symbolic representation of the timed automaton (called zone graph) to synthesize a fault-tolerant timed automaton as output. The output automaton satisfies strict phased recovery, where it is guaranteed that the output model behaves similarly to the input model in the absence of faults and in the presence of faults, fault recovery is achieved in two phases, each satisfying certain safety and timing constraints.


Logical Methods in Computer Science | 2018

Automated Synthesis of Distributed Self-Stabilizing Protocols

Fathiyeh Faghih; Borzoo Bonakdarpour; Sébastien Tixeuil; Sandeep S. Kulkarni

In this paper, we introduce an SMT-based method that automatically synthesizes a distributed self-stabilizing protocol from a given high-level specification and network topology. Unlike existing approaches, where synthesis algorithms require the explicit description of the set of legitimate states, our technique only needs the temporal behavior of the protocol. We extend our approach to synthesize ideal-stabilizing protocols, where every state is legitimate. We also extend our technique to synthesize monotonic-stabilizing protocols, where during recovery, each process can execute an most once one action. Our proposed methods are fully implemented and we report successful synthesis of well-known protocols such as Dijkstras token ring, a self-stabilizing version of Raymonds mutual exclusion algorithm, ideal-stabilizing leader election and local mutual exclusion, as well as monotonic-stabilizing maximal independent set and distributed Grundy coloring.


international symposium on stabilization safety and security of distributed systems | 2013

Zone-Based Synthesis of Strict 2-Phase Fault Recovery

Fathiyeh Faghih; Borzoo Bonakdarpour

In this paper, we focus on efficient synthesis of fault-tolerant timed models from their fault-intolerant version. We propose an algorithm that takes a timed automaton, a set of fault actions, and a set of safety and bounded-time response properties as input, and utilizes a space-efficient symbolic representation of the timed automaton (called the zone graph) to synthesize a fault-tolerant timed automaton as output. The output automaton satisfies strict phased recovery, where it is guaranteed that the output model behaves similarly to the input model in the absence of faults and in the presence of faults, fault recovery is achieved in two phases, each satisfying certain safety and timing constraints.


international conference on software engineering | 2012

Model translations among big-step modeling languages

Fathiyeh Faghih

Model Driven Engineering (MDE) is a progressive area that tries to fill the gap between problem definition and software development. There are many modeling languages proposed for use in MDE. A challenge is how to provide automatic analysis for these models without having to create new analyzers for each different language. In this research, we tackle this problem for a family of modeling languages using a semantically configurable model translation framework.

Collaboration


Dive into the Fathiyeh Faghih's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Saba Aflaki

University of Waterloo

View shared research outputs
Top Co-Authors

Avatar

Sandy Beidu

University of Waterloo

View shared research outputs
Top Co-Authors

Avatar

Sébastien Tixeuil

Pierre-and-Marie-Curie University

View shared research outputs
Researchain Logo
Decentralizing Knowledge