Ramtin Khosravi's research while affiliated with University of Tehran and other places

What is this page?


This page lists the scientific contributions of an author, who either does not have a ResearchGate profile, or has not yet added these contributions to their profile.

It was automatically created by ResearchGate to create a record of this author's body of work. We create such pages to advance our goal of creating and maintaining the most comprehensive scientific repository possible. In doing so, we process publicly available (personal) data relating to the author as a member of the scientific community.

If you're a ResearchGate member, you can follow this page to keep up with this author's work.

If you are this author, and you don't want us to display this page anymore, please let us know.

Publications (69)


Correction to: Actors Upgraded for Variability, Adaptability, and Determinism
  • Chapter

June 2024

·

2 Reads

Ramtin Khosravi

·

·

·

Share

Figure 1: An overview of the actor's structure in Inferactor.
Figure 4: The running example (second scenario) modeled in Inferactor
Knowledge-Related Policy Analysis in an Inference-Enabled Actor Model
  • Article
  • Full-text available

April 2024

·

17 Reads

JOURNAL OF UNIVERSAL COMPUTER SCIENCE

People provide their information to distributed systems to receive the desired services. This information may be disclosed to the agents of the system as part of messages transmitted among them. As the agents of the system are smart, they can infer new information from their obtained information, that they may not be authorized to know. So preserving privacy in such systems is an important and yet challenging issue. We study the problem of analyzing the disclosure of private information in distributed asynchronous systems. Our approach to prevent private information disclosure is to require the system to follow knowledge-related policies defined for the system at design time. To achieve this, we construct a model of the system and assume the policies as the system properties and check whether these properties are satisfied in the system or not. In order to construct a model of the system, we extend the actor model, which is a well known reference model for distributed asynchronous systems, by enriching actors by the knowledge base and inference capability. As our knowledge-related policies should not be violated in any state of the system, we propose an efficient invariant model checking algorithm to verify the satisfaction of the policies in our actor model.

Download


Actors Upgraded for Variability, Adaptability, and Determinism

January 2024

·

21 Reads

·

1 Citation

The Rebeca modeling language is designed as an imperative actor-based language with the goal of providing an easy-to-use language for modeling concurrent and distributed systems, with formal verification support. Rebeca has been extended to support time and probability. We extend Rebeca further with inheritance, polymorphism, interface declaration, and annotation mechanisms. These features allow us to handle variability within the model, support non-disruptive model evolution, and define method priorities. This enables Rebeca to be used more effectively in different domains, like in Software Product Lines, and holistic analysis of Cyber-Physical Systems. We develop specialized analysis techniques to support these extensions, partly integrated into Afra, the model checking tool of Rebeca.


Afra: An Eclipse-Based Tool with Extensible Architecture for Modeling and Model Checking of Rebeca Family Models

August 2023

·

3 Reads

·

3 Citations

Afra is an Eclipse-based tool for the modeling and model checking of Rebeca family models. Together with the standard enriched editor, easy to trace counter-example viewer, modular temporal property definition, exporting a model and its transition system to some other formats facilities are features of Afra. Rebeca family provides actor-based modeling languages which are designed to bridge the gap between formal methods and software engineering. Faithfulness to the system being modeled, and the usability of Rebeca family languages help in ease of modeling and analysis of the model, together with the synthesis of the system based on the model. In this paper, architectural decisions and design strategies we made in the development of Afra are presented. This makes Afra an extensible and reusable application for the modeling and analysis of Rebeca family models. Here, we show how different compilers can be developed for the family of languages which are the same in general language constructs but have some minor differences. Then we show how the model checking engine for these different languages is designed. Despite the fact that Afra has a layered object-oriented design and is developed in Java technology, we use C++ codes for developing its model checking for the performance purposes. This decision made the design of the application even harder.KeywordsActorsRebecaAfraModel CheckingEclipse


Automated Testing of an Industrial Stock Market Trading Platform Based on Functional Specification

November 2022

·

33 Reads

·

1 Citation

Science of Computer Programming

·

Ramtin Khosravi

·

·

[...]

·

Seyede Mehrnaz Shamsabadi

Developing an automatic functional testing solution for high-capability software systems is challenging as these systems often have a complex architecture, resulting from satisfying a wide range of non-functional requirements. In this paper, we show how a specification-based approach can be used to generate test cases for providing a high level of confidence about the functional correctness of these systems. In this approach, the domain logic of a high-capability software system is specified in the Gallina language. The developed specification is used for both measuring coverage metrics and as the test oracle. Test cases are generated using a search-based approach, having the fitness functions defined in terms of the structural coverage of the specification. To illustrate the applicability of the approach, we applied it on an industrial stock market matching engine. The experiment indicates promising results in the effectiveness of our proposed approach, which is finding critical bugs in the system, although it has an acceptable number of manually developed test cases.


Decentralized runtime verification of message sequences in message-based systems

October 2022

·

45 Reads

·

3 Citations

Acta Informatica

Message-based systems are usually distributed in nature, and distributed components collaborate via asynchronous message passing. In some cases, particular ordering among the messages may lead to violation of the desired properties such as data confidentiality. Due to the absence of a global clock and usage of off-the-shelf components, such unwanted orderings can be neither statically inspected nor verified by revising their codes at design time. We propose a choreography-based runtime verification algorithm that given an automata-based specification of unwanted message sequences detects the formation of the unwanted sequences. Our algorithm is fully decentralized in the sense that each component is equipped with a monitor, as opposed to having a centralized monitor, and also the specification of the unwanted sequences is decomposed among monitors. In this way, when a component sends a message, its monitor inspects if there is a possibility for the formation of unwanted message sequences. As there is no global clock in message-based systems, monitors cannot determine the exact ordering among messages. In such cases, they decide conservatively and declare a sequence formation even if that sequence has not been formed. We prevent such conservative declarations in our algorithm as much as possible and then characterize its operational guarantees. We evaluate the efficiency and scalability of our algorithm in terms of the communication overhead, the memory consumption, and the latency of the result declaration through simulation.




Adaptive Behavioral Model Learning for Software Product Lines

July 2022

·

20 Reads

Behavioral models enable the analysis of the functionality of software product lines (SPL), e.g., model checking and model-based testing. Model learning aims at constructing behavioral models for software systems in some form of a finite state machine. Due to the commonalities among the products of an SPL, it is possible to reuse the previously learned models during the model learning process. In this paper, an adaptive approach (the $\text{PL}^*$ method) for learning the product models of an SPL is presented based on the well-known $L^*$ algorithm. In this method, after model learning of each product, the sequences in the final observation table are stored in a repository which will be used to initialize the observation table of the remaining products to be learned. The proposed algorithm is evaluated on two open-source SPLs and the total learning cost is measured in terms of the number of rounds, the total number of resets and input symbols. The results show that for complex SPLs, the total learning cost for the $\text{PL}^*$ method is significantly lower than that of the non-adaptive learning method in terms of all three metrics. Furthermore, it is observed that the order in which the products are learned affects the efficiency of the $\text{PL}^*$ method. Based on this observation, we introduced a heuristic to determine an ordering which reduces the total cost of adaptive learning in both case studies.


Citations (47)


... But developing an effective automatic testing solution which confidently covers all functional requirements for enterprise software systems is crucial because a defect in the system may have a huge business impact [15]. A good example where Tests should be Automated is for Algorithmic Trading, where manual inputs can be slow and may not perform the desired action at a specified time, but Automation tests can be fast enough to verify Algorithmic Trading checks. ...

Reference:

Quality Assurance in Investment Banking Domain
Automated Testing of an Industrial Stock Market Trading Platform Based on Functional Specification
  • Citing Article
  • November 2022

Science of Computer Programming

... It implements different strategies (globally optimal, locally optimal) and effectively compares them by measuring bandwidth and computation used. In [44] runtime enforcement of message sequences is introduced, where nodes have a monitor that prevents sending messages that might produce unwanted message sequences. This is a limitation compared to asynchronous networks, where there is no possible way of ordering messages. ...

Decentralized runtime verification of message sequences in message-based systems

Acta Informatica

... The transition system of each component is provided in a detailed technical report [24]. We use the finite state machines of the components constructed from the transition system representations in [35] and compose several random samples utilising the interleaving parallel composition (Definition 2) to build the product FSMs. We automatically constructed 100 FSMs consisting of a minimum of two and a maximum of nine components in this case study. ...

Adaptive behavioral model learning for software product lines

... Test cases have been generated based on a variety of data sources and methods, including program differences [2,6], specifications [1,27,34,38], GUI runtime models [8,30,36], and fuzzing technique [10,22]. Li et al. [20,33] indicate that bug reports can effectively guide testers to find bugs in similar applications and develop Bugine [20] to recommend bug reports from similar applications to aid in bug finding. ...

Towards Automatic Test Case Generation for Industrial Software Systems Based on Functional Specifications

... Many researchers have investigated model checking using temporal logic for formulating constraints for automated multi-agent systems and then checking for any inconsistency. 10,11 Temporal logic properties are commonly expressed using computation tree logic (CTL), linear temporal logic (LTL), or a combination of both. For stochastic processes, system specifications make use of probabilistic temporal logic like Probabilistic CTL (PCTL). ...

Verification of visibility-based properties on multiple moving robots in an environment with obstacles
International Journal of Advanced Robotic Systems

International Journal of Advanced Robotic Systems

... These time ticks happen when all participants "agree" for time elapse. The standard semantics of Timed Rebeca is defined in terms of TTS as described in [KKS18]. In the following, the brief description of this semantics is presented based on [KKS18]. ...

An efficient TCTL model checking algorithm and a reduction technique for verification of timed actor models
  • Citing Article
  • February 2018

Science of Computer Programming

... Furthermore, in [4], the authors propose identifying a purpose with a business process, and using formal models of inter-process communication to audit or derive privacy policies whereas in [27], the authors define a semantic model for purpose-based privacy policies, a modal logic, and a corresponding model-checking algorithm to verify whether a particular system complies to them. Other related work includes [39], specifying purposes as work flows modeled by Petri nets and model-checked against actor models, and [14], proposing semantics of purpose-based privacy policies in temporal logic and defining a run-time monitoring methodology. The present work is distinguished from these approaches mainly in its aim to provide a methodology for modeling systems during the design phase of the software engineering cycle and for verifying that they satisfy GDPR-based privacy provisions. ...

Purpose-Based Policy Enforcement in Actor-Based Systems

... More recently, Sheshkalani et al. 19,20 focused on the verification of certain properties on an MRS in a continuous environment. In Sheshkalani et al., 19 the robots were assumed to move along the boundaries of a given polygon. ...

Verification of Visibility-Based Properties on Multiple Moving Robots
  • Citing Conference Paper
  • July 2017

Lecture Notes in Computer Science

... As the actor model can be treated as a component-based approach to engineer a distributed system, compositional variability management seems a good match for engineering families of actor systems. In [5], handling variability in an actor-based modeling language Rebeca [6] is studied where both annotative and compositional methods are used. However, expressing variability logic in actors has the risk of making the core functionality of the actors messy. ...

Reducing the Model Checking Cost of Product Lines Using Static Analysis Techniques
  • Citing Conference Paper
  • September 2011