Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Gera Weiss

dblp:52/1274 · DBLP profile ↗
← Back
37ranked-venue papers
1as first author
12since 2021 · last 2025
0000-0002-5832-8768ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 18 · 7 since 2021Artificial intelligence and machine learning · 8 · 2 since 2021Theory of computation · 6 · 1 first-author · 2 since 2021Graphics, computer vision, multimedia, augmented reality and games · 5 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 4Systems, architecture and hardware · 2Security and privacy · 1Databases, data management, data science and information retrieval · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Theoretical computer science
6 papers
Computational complexity · 25% Logic in computer science · 24% Mathematical optimization · 23%
Software engineering, system software, and programming languages
4 papers
Software testing · 71% Program verification · 16% Requirements engineering and software design · 12%
Artificial intelligence
6 papers
Planning, search and constraint satisfaction · 63% Probabilistic and Bayesian machine learning · 25% Multi-agent systems · 12%

Topics — the 17 heaviest of 19, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software testing
model-based testing
1.322023
Generalized Coverage Criteria for Combinatorial Sequence Testing · IEEE Trans. Software Eng. 2023
Provengo: A Tool Suite for Scenario Driven Model-Based Testing · ASE 2023
Knowledge, reasoning and agents › Planning, search and constraint satisfaction › planning under uncertainty
probabilistic planning
1.342019
Estimating the probability of meeting a deadline in schedules and plans · Artif. Intell. 2019
Efficient Optimal Approximation of Discrete Random Variables for Estimation of Probabilities of Missing Deadlines · AAAI 2019
Optimal Approximation of Random Variables for Estimating the Probability of Meeting a Plan Deadline · AAAI 2018
Computational complexity
kolmogorov complexity
0.812024
Efficient optimal Kolmogorov approximation of random variables · Artif. Intell. 2024
Mathematical optimization
discrete optimization
0.722019
Efficient Optimal Approximation of Discrete Random Variables for Estimation of Probabilities of Missing Deadlines · AAAI 2019
Optimal Approximation of Random Variables for Estimating the Probability of Meeting a Plan Deadline · AAAI 2018
Software testing › test adequacy
coverage criteria
0.712023
Generalized Coverage Criteria for Combinatorial Sequence Testing · IEEE Trans. Software Eng. 2023
Logic in computer science
formal specification
0.712023
What Petri Nets Oblige us to Say Comparing Approaches for Behavior Composition · IEEE Trans. Software Eng. 2023
Automated reasoning and model checking
reactive synthesis
0.512021
Adapting Behaviors via Reactive Synthesis · CAV (1) 2021
Knowledge, reasoning and agents › Planning, search and constraint satisfaction
heuristic search
0.412019
Labor Division with Movable Walls: Composing Executable Specifications with Machine Learning and Search (Blue Sky Idea) · AAAI 2019
Knowledge, reasoning and agents › Multi-agent systems
multi-agent collaboration
0.412019
Labor Division with Movable Walls: Composing Executable Specifications with Machine Learning and Search (Blue Sky Idea) · AAAI 2019
Requirements engineering and software design › specification
executable specification
0.412019
Labor Division with Movable Walls: Composing Executable Specifications with Machine Learning and Search (Blue Sky Idea) · AAAI 2019
Knowledge, reasoning and agents › Planning, search and constraint satisfaction
hierarchical planning
0.212015
Estimating the Probability of Meeting a Deadline in Hierarchical Plans · IJCAI 2015
Software testing › test generation
test suite generation
0.212023
Generalized Coverage Criteria for Combinatorial Sequence Testing · IEEE Trans. Software Eng. 2023
Automata and formal languages
petri nets
0.212023
What Petri Nets Oblige us to Say Comparing Approaches for Behavior Composition · IEEE Trans. Software Eng. 2023
Performance modeling and evaluation
simulation
0.112019
Estimating the probability of meeting a deadline in schedules and plans · Artif. Intell. 2019
Automated reasoning and model checking
automata-based verification
0.112008
Ranking Automata and Games for Prioritized Requirements · CAV 2008
Logic in computer science
infinite games
0.112008
Ranking Automata and Games for Prioritized Requirements · CAV 2008
Algorithmic game theory and mechanism design › mechanism design › contest design
ranking games
0.112008
Ranking Automata and Games for Prioritized Requirements · CAV 2008

Methods — techniques the papers use, named apart from their topics

kolmogorov approximation · 1.5automata theory · 1.1reactive synthesis · 1.0trimming algorithm · 0.8probabilistic scheduling · 0.8polynomial-time approximation · 0.8monte carlo simulation · 0.8machine learning · 0.8probability distribution approximation · 0.7petri net translation · 0.7dynamic programming · 0.7combinatorial testing · 0.7behavioral programming · 0.7bayesian risk assessment · 0.7probabilistic inference · 0.2hierarchical planning · 0.2game theory · 0.1
YearPublicationVenuePosition
2025 Exploring and Evaluating Interplays of BPpy with Deep Reinforcement Learning and Formal Methods
Tom Yaacov, Gera Weiss, Adiel Ashrov, Guy Katz, Jules Zisser
ENASE2
2025 Guarded Process Trees: Translation to Petri Nets and Application in Process Mining
abstract
Process mining extracts models from event logs to provide insights into workflows. Current techniques often struggle to capture counting-based dependencies between activities. We address this challenge by introducing guarded process trees, an enhancement of traditional process trees with guards that control transitions based on activity occurrence counts. We present a two-step method for translating guarded process trees to Petri nets: first, converting to a guarded Petri net, then removing the guards while preserving the counting semantics. We formally define and prove the correctness of both translation steps. To demonstrate practical applicability, we develop a method for learning guarded process trees from event logs and implement it using grammatical evolution. Through experiments on both synthetic and real-world datasets, we show that our approach significantly improves precision compared to existing techniques while maintaining model interpretability. The evaluation demonstrates average precision improvements of $15.31 \%$ across datasets when enhancing the Inductive Miner with guards, with individual improvements ranging from $2.06 \%$ to $70.51 \%$.
Ido Shapira, Gera Weiss
ICPM2
2025 Automata Models for Effective Bug Pattern Description
abstract
Debugging complex systems is a crucial yet time-consuming task. This paper presents the use of automata learning and testing techniques to obtain concise and informative bug descriptions. We introduce the concepts of Failure Explanations (FE), Eventual Failure Explanations (EFE), and Early Detection (ED) to provide meaningful summaries of failing behavior patterns. By factoring out irrelevant information and focusing on essential test patterns, our approach aims to enhance bug detection and understanding. We evaluate our methods using various test patterns and real-world benchmarks, demonstrating their effectiveness in producing compact and informative bug descriptions.
Tom Yaacov, Gera Weiss, Gal Amram, Avi Hayoun
MODELS2
2024 Keeping Behavioral Programs Alive: Specifying and Executing Liveness Requirements
abstract
One of the benefits of using executable specifications such as Behavioral Programming (BP) is the ability to align the system implementation with its requirements. This is facilitated in BP by a protocol that allows independent implementation modules that specify what the system may, must, and must not do. By that, each module can enforce a single system requirement, including negative specifications such as “don't do X after Y.” The existing BP protocol, however, allows only the enforcement of safety requirements and does not support the execution of liveness properties such as “do X at least three times.” To model liveness requirements in BP directly and independently, we propose idioms for tagging states with “must-finish;’ indicating that tasks are yet to be completed. We show that this idiom allows a direct specification of known requirements patterns from the literature. We also offer semantics and two execution mechanisms, one based on a translation to Büchi automata and the other based on a Markov decision process (MDP). The latter approach offers the possibility of utilizing deep reinforcement learning (DRL) algorithms, which bear the potential to handle large software systems effectively. This paper presents a qualitative and quantitative assessment of the proposed approach using a proof-of-concept tool. A formal analysis of the MDP-based execution mechanism is given in an appendix.
Tom Yaacov, Achiya Elyasaf, Gera Weiss
RE3
2024 Efficient optimal Kolmogorov approximation of random variables
Liat Cohen, Tal Grinshpoun, Gera Weiss
Artif. Intell.3
2023 A Normalized Edit Distance on Infinite Words
Dana Fisman, Joshua Grogin, Gera Weiss
CSL3
2023 Provengo: A Tool Suite for Scenario Driven Model-Based Testing
abstract
We present Provengo, a comprehensive suite of tools designed to facilitate the implementation of Scenario-Driven Model-Based Testing (SDMBT), an innovative approach that utilizes scenarios to construct a model encompassing the user's perspective and the system's business value while also defining the desired outcomes. With the assistance of Provengo, testers gain the ability to effortlessly create natural user stories and seamlessly integrate them into a model capable of generating effective tests. The demonstration illustrates how SDMBT effectively addresses the bootstrapping challenge commonly encountered in model-based testing (MBT) by enabling incremental development, starting from simple models and gradually augmenting them with additional stories.
Michael Bar-Sinai, Achiya Elyasaf, Gera Weiss, Yeshayahu Weiss
ASE3
2023 Generalized Coverage Criteria for Combinatorial Sequence Testing
abstract
We present a new model-based approach for testing systems that use sequences of actions and assertions as test vectors. Our solution includes a method for quantifying testing quality, a tool for generating high-quality test suites based on the coverage criteria we propose, and a framework for assessing risks. For testing quality, we propose a method that specifies generalized coverage criteria over sequences of actions, which extends previous approaches. Our publicly available tool demonstrates how to extract effective test suites from test plans based on these criteria. We also present a Bayesian approach for measuring the probabilities of bugs or risks, and show how this quantification can help achieve an informed balance between exploitation and exploration in testing. Finally, we provide an empirical evaluation demonstrating the effectiveness of our tool in finding bugs, assessing risks, and achieving coverage.
Achiya Elyasaf, Eitan Farchi, Oded Margalit, Gera Weiss, Yeshayahu Weiss
IEEE Trans. Software Eng.4
2023 What Petri Nets Oblige us to Say Comparing Approaches for Behavior Composition
abstract
We identify and demonstrate a weakness of Petri Nets (PN) in specifying composite behavior of reactive systems. Specifically, we show how, when specifying multiple requirements in one PN model, modelers are obliged to specify mechanisms for combining these requirements. This yields, in many cases, over-specification and incorrect models. We demonstrate how some execution paths are missed, and some are generated unintentionally. To support this claim, we analyze PN models from the literature, identify the combination mechanisms, and demonstrate their effect on the correctness of the model. To address this problem, we propose to model the system behavior using behavioral programming (BP), a software development and modeling paradigm designed for seamless integration of independent requirements. Specifically, we demonstrate how the semantics of BP, which define how to interweave scenarios into a single model, allow for avoiding the over-specification. Additionally, while BP maintains the same mathematical properties as PN, it provides means for changing the model dynamically, thus increasing the agility of the specification. We compare BP and PN in quantitative and qualitative measures by analyzing the models, their generated execution paths, and the specification process. Finally, while BP is supported by tools that allow for applying formal methods and reasoning techniques to the model, it lacks the legacy of PN tools and algorithms. To address this issue, we propose semantics and a tool for translating BP models to PN and vice versa.
Achiya Elyasaf, Tom Yaacov, Gera Weiss
IEEE Trans. Software Eng.3
2022 The Normalized Edit Distance with Uniform Operation Costs Is a Metric
abstract
We introduce ω^ ̅-NED, an edit distance between infinite words, that is a natural extension of NED, the normalized edit distance between finite words. We show it is a metric on (equivalence classes of) infinite words. We provide a polynomial time algorithm to compute the distance between two ultimately periodic words, and a polynomial time algorithm to compute the distance between two regular ω-languages given by non-deterministic Büchi automata.
Dana Fisman, Joshua Grogin, Oded Margalit, Gera Weiss
CPM4
2022 Polynomial-Time Verification and Testing of Implementations of the Snapshot Data Structure
Gal Amram, Avi Hayoun, Lior Mizrahi, Gera Weiss
DISC4
2021 Adapting Behaviors via Reactive Synthesis
abstract
Abstract In the Adapter Design Pattern, a programmer implements a Target interface by constructing an Adapter that accesses an existing Adaptee code. In this work, we present a reactive synthesis interpretation to the adapter design pattern, wherein an algorithm takes an Adaptee and a Target transducers, and the aim is to synthesize an Adapter transducer that, when composed with the Adaptee, generates a behavior that is equivalent to the behavior of the Target. One use of such an algorithm is to synthesize controllers that achieve similar goals on different hardware platforms. While this problem can be solved with existing synthesis algorithms, current state-of-the-art tools fail to scale. To cope with the computational complexity of the problem, we introduce a special form of specification format, called Separated GR(k), which can be solved with a scalable synthesis algorithm but still allows for a large set of realistic specifications. We solve the realizability and the synthesis problems for Separated GR(k), and show how to exploit the separated nature of our specification to construct better algorithms, in terms of time complexity, than known algorithms for GR(k) synthesis. We then describe a tool, called SGR(k), that we have implemented based on the above approach and show, by experimental evaluation, how our tool outperforms current state-of-the-art tools on various benchmarks and test-cases.
Gal Amram, Suguman Bansal, Dror Fried, Lucas M. Tabajara, Moshe Y. Vardi, Gera Weiss
CAV (1)6
2020 Patience Control: A Modular and Dynamic Construction of Composite Controllers
abstract
The problem of designing controllers for achieving composite goals is well studied in the literature and is considered an open problem. In this paper we propose a controller architecture that builds on approaches for designing reactive decision making systems developed in the field of computer science. Specifically, we propose an extension of the Behavioural Programming (BP) approach that is tailored to allow controller design. As the name of the paper suggests, we identify the issue of "patience" as a key feature of the new approach - in many composite control problems it is not possible to advance all goals at all time, i.e., some goals need to "patiently" wait while others are being advanced. We demonstrate how the proposed approach is capable of handling elaborated multi-objective situations that include patience in an intuitive and effective way.
Aviran Sadon, Shai A. Arogeti, Gera Weiss
CoDIT3
2020 Verification of Liveness and Safety Properties of Behavioral Programs Using BPjs
Michael Bar-Sinai, Gera Weiss
ISoLA (4)2
2019 Efficient Optimal Approximation of Discrete Random Variables for Estimation of Probabilities of Missing Deadlines
Liat Cohen, Gera Weiss
AAAI2
2019 Labor Division with Movable Walls: Composing Executable Specifications with Machine Learning and Search (Blue Sky Idea)
abstract
Artificial intelligence (AI) techniques, including, e.g., machine learning, multi-agent collaboration, planning, and heuristic search, are emerging as ever-stronger tools for solving hard problems in real-world applications. Executable specification techniques (ES), including, e.g., Statecharts and scenario-based programming, is a promising development approach, offering intuitiveness, ease of enhancement, compositionality, and amenability to formal analysis. We propose an approach for integrating AI and ES techniques in developing complex intelligent systems, which can greatly simplify agile/spiral development and maintenance processes. The approach calls for automated detection of whether certain goals and sub-goals are met; a clear division between sub-goals solved with AI and those solved with ES; compositional and incremental addition of AI-based or ES-based components, each focusing on a particular gap between a current capability and a well-stated goal; and, iterative refinement of sub-goals solved with AI into smaller sub-sub-goals where some are solved with ES, and some with AI. We describe the principles of the approach and its advantages, as well as key challenges and suggestions for how to tackle them.
David Harel, Assaf Marron, Ariel Rosenfeld, Moshe Y. Vardi, Gera Weiss
AAAI5
2019 On-the-Fly Construction of Composite Events in Scenario-Based Modeling using Constraint Solvers
abstract
Scenario-Based Programming is a methodology for modeling and constructing complex reactive systems from simple, stand-alone building blocks, called scenarios. These scenarios are designed to model different traits of the system, and can be interwoven together and executed to produce cohesive system behavior. Existing execution frameworks for scenario-based programs allow scenarios to specify their view of what the system must, may, or must not do only through very strict interfaces. This limits the methodology's expressive power and often prevents users from modeling certain complex requirements. Here, we propose to extend Scenario-Based Programming's execution mechanism to allow scenarios to specify how the system should behave using rich logical constraints. We then leverage modern constraint solvers (such as SAT or SMT solvers) to resolve these constraints at every step of running the system, towards yielding the desired overall system behavior. We provide an implementation of our approach and demonstrate its applicability to various systems that could not be easily modeled in an executable manner by existing Scenario-Based approaches.
Guy Katz, Assaf Marron, Aviran Sadon, Gera Weiss
MODELSWARD4
2019 Estimating the probability of meeting a deadline in schedules and plans
Liat Cohen, Solomon Eyal Shimony, Gera Weiss
Artif. Intell.3
2018 Optimal Approximation of Random Variables for Estimating the Probability of Meeting a Plan Deadline
abstract
In planning algorithms and in other domains, there is often a need to run long computations that involve summations, maximizations and other operations on random variables, and to store intermediate results. In this paper, as a main motivating example, we elaborate on the case of estimating probabilities of meeting deadlines in hierarchical plans. A source of computational complexity, often neglected in the analysis of such algorithms, is that the support of the variables needed as intermediate results may grow exponentially along the computation. Therefore, to avoid exponential memory and time complexities, we need to trim these variables. This is similar, in a sense, to rounding intermediate results in numerical computations. Of course, to maintain the quality of algorithms, the trimming procedure should be efficient and it must maintain accuracy as much as possible. In this paper, we propose an optimal trimming algorithm with polynomial time and memory complexities for the purpose of estimating probabilities of deadlines in plans. More specifically, we show that our algorithm, given the needed size of the representation of the variable, provides the best possible approximation, where approximation accuracy is considered with a measure that fits the goal of estimating deadline meeting probabilities.
Liat Cohen, Tal Grinshpoun, Gera Weiss
AAAI3
2017 Mapping prefer-opposite to prefer-one de Bruijn sequences
Amir Rubin, Gera Weiss
Des. Codes Cryptogr.2
2015 On the Succinctness of Idioms for Concurrent Programming
abstract
The ability to create succinct programs is a central criterion for comparing programming and specification methods. Specifically, approaches to concurrent programming can often be thought of as idioms for the composition of automata, and as such they can then be compared using the standard and natural measure for the complexity of automata, descriptive succinctness. This measure captures the size of the automata that the evaluated approach needs for expressing the languages under discussion. The significance of this metric lies, among other things, in its impact on software reliability, maintainability, reusability and simplicity, and on software analysis and verification. Here, we focus on the succinctness afforded by three basic concurrent programming idioms: requesting events, blocking events and waiting for events. We show that a programming model containing all three idioms is exponentially more succinct than non-parallel automata, and that its succinctness is additive to that of classical nondeterministic and "and" automata. We also show that our model is strictly contained in the model of cooperating automata à la statecharts, but that it may provide similar exponential succinctness over non-parallel automata as the more general model - while affording increased encapsulation. We then investigate the contribution of each of the three idioms to the descriptive succinctness of the model as a whole, and show that they each have their unique succinctness advantages that are not subsumed by their counterparts. Our results contribute to a rigorous basis for assessing the complexity of specifying, developing and maintaining complex concurrent software.
David Harel, Guy Katz, Robby Lampert, Assaf Marron, Gera Weiss
CONCUR5
2015 Estimating the Probability of Meeting a Deadline in Hierarchical Plans
Liat Cohen, Solomon Eyal Shimony, Gera Weiss
IJCAI3
2015 The Effect of Concurrent Programming Idioms on Verification - A Position Paper
abstract
In recent years formal verification techniques have become an important part of the development cycle of concurrent software. In order to tackle the state explosion problem and verify larger systems, a great deal of work has been put into improving the scalability of verification tools. In this work, we seek to draw attention to an alternative/complementary approach to improving scalability, which sometimes receives less notice: the effect the concurrent programming model itself has on one’s ability to verify programs encoded within it. Recent work suggests that a suitable choice of model, tailored to the problem at hand, may render the produced software more amenable to verification techniques. We recapitulate some recent and new results demonstrating this effect in programming models for discrete, synchronous reactive systems, and outline some directions for future work. We hope that the paper will trigger additional research on this important topic.
David Harel, Guy Katz, Assaf Marron, Gera Weiss
MODELSWARD4
2015 A use-case for behavioral programming: An architecture in JavaScript and Blockly for interactive applications with cross-cutting scenarios
Adiel Ashrov, Assaf Marron, Gera Weiss, Guy Wiener
Sci. Comput. Program.3
2015 Towards behavioral programming in distributed architectures
David Harel, Amir Kantor, Guy Katz, Assaf Marron, Gera Weiss, Guy Wiener
Sci. Comput. Program.5
2013 On composing and proving the correctness of reactive behavior
abstract
We present a method and a tool for composing a reactive system and for accompanying the development and documentation process with a proof of its correctness. The approach is based on behavioral programming (BP) and the Z3 SMT solver. We show how program verification can be automated and streamlined by combining properties of individual modules, specified and verified separately, with application-independent specifications both of the BP semantics and of general theories. The method may yield an exponential acceleration of the verification process when compared with model-checking the composite application. We show that formalization of properties of independent modules in preparation for the correctness proofs can be useful as documentation for future development. We view this work as a further step towards making formal correctness proofs standard practice in the development of reactive systems, and carried out by programmers at large.
David Harel, Amir Kantor, Guy Katz, Assaf Marron, Lior Mizrahi, Gera Weiss
EMSOFT6
2012 A software engineering framework for switched fuzzy systems
abstract
We propose a framework for the development of switched fuzzy systems, in which the discrete characteristics of the mode-switching logic are implemented using the paradigm of behavioral programming: they are coded as independent behavior threads and are interwoven at runtime. We demonstrate how such mode switching enables the simplification of fuzzy rules, and reduces their total number, as well as the number of rules evaluated in a computation cycle. The ability of the behavioral programming approach to describe independent simultaneous aspects of behavior in a modular and incremental manner, which aligns with how people often specify requirements, is shown to complement the intuitive nature of fuzzy logic. Our approach is backed by a Java package that provides an initial infrastructure for implementations.
David Harel, Assaf Marron, Amir Nissim, Gera Weiss
FUZZ-IEEE4
2012 Non-intrusive Repair of Reactive Programs
David Harel, Guy Katz, Assaf Marron, Gera Weiss
ICECCS4
2011 Model-checking behavioral programs
abstract
System specifications are often structured as collections of scenarios and use-cases that describe desired and forbidden sequences of events. A recently proposed behavioral programming approach, which evolved from the visual language of live sequence charts (LSCs), calls for coding software modules in alignment with such scenarios. We present a methodology and a supporting model-checking tool for verifying behavioral Java programs, without having to first translate them into a specific input language for the model checker. Our method facilitates early discovery of conflicting or under-specified scenarios, which can often be resolved by adding new scenarios rather than by changing existing code. Also, counterexamples provided by the tool are themselves event sequences that can serve directly for refinements and corrections. Our tool reduces the size of the execution state-space using an abstraction that focuses on behaviorally interesting states and treats transitions between them as atomic.
David Harel, Robby Lampert, Assaf Marron, Gera Weiss
EMSOFT4
2011 On Visualization and Comprehension of Scenario-Based Programs
abstract
We address the problem of comprehending cause and effect relationships between relatively independent behavior components of a single application. Our focus is on the paradigm of behavioral, scenario-based, programming, as captured by the language of live sequence charts (LSC) or its Java-based counterpart, BPJ. In this programming paradigm, multi-modal behaviors can be specified separately, and are integrated only at run time. We present a tool, with which the user can easily follow the decisions of the collective execution mechanism. It shows the behaviors and events that were executed at each point in time, and those that were delayed or abandoned, as well as the causes and reasons behind these run-time choices. The dynamic effects of such decisions on the system's behavior can be seen easily too.
Nir Eitan, Michal Gordon, David Harel, Assaf Marron, Gera Weiss
ICPC5
2010 Programming Coordinated Behavior in Java
David Harel, Assaf Marron, Gera Weiss
ECOOP3
2009 On Omega-Languages Defined by Mean-Payoff Conditions
Rajeev Alur, Aldric Degorre, Oded Maler, Gera Weiss
FoSSaCS4
2009 Specification and Analysis of Network Resource Requirements of Control Systems
Gera Weiss, Sebastian Fischmeister, Madhukar Anand, Rajeev Alur
HSCC1
2009 Modeling and Analysis of Multi-hop Control Networks
abstract
We propose a mathematical framework, inspired by the Wireless HART specification, for modeling and analyzing multi-hop communication networks. The framework is designed for systems consisting of multiple control loops closed over a multi-hop communication network. We separate control, topology, routing, and scheduling and propose formal syntax and semantics for the dynamics of the composed system. The main technical contribution of the paper is an explicit translation of multi-hop control networks to switched systems. We describe a Mathematica notebook that automates the translation of multihop control networks to switched systems, and use this tool to show how techniques for analysis of switched systems can be used to address control and networking co-design challenges.
Rajeev Alur, Alessandro D'Innocenzo, Karl Henrik Johansson, George J. Pappas, Gera Weiss
IEEE Real-Time and Embedded Technology and Applications Symposium5
2008 Ranking Automata and Games for Prioritized Requirements
Rajeev Alur, Aditya Kanade 0001, Gera Weiss
CAV3
2008 RTComposer: a framework for real-time components with scheduling interfaces
abstract
We present a framework for component-based design and scheduling of real-time embedded software. Each component has a clearly specified interface that includes the methods used for sensing, computation, and actuation, along with a requirement given as a regular set of macro-schedules. Each macro-schedule is an infinite sequence that specifies, for every time slot, the set of component methods invoked in that slot. The macro-scheduler composes the specifications of all the components, along with the platform specification that constrains which methods can be executed within a single slot, to generate a feasible macro-schedule. Within a slot, we use logical execution time semantics, and this micro-scheduling is implemented on top of a native priority-based scheduler. With this approach, each component can be specified and analyzed in a platform-independent way, and at the same time, the performance can vary with changing load and changing processing speed. We describe an implementation using Real-Time Java. Scheduling specifications can be given as periodic tasks, or using temporal logic, or as omega-automata. Components can be added dynamically, and non-real-time components are allowed. We demonstrate the benefits of the approach using case studies.
Rajeev Alur, Gera Weiss
EMSOFT2
2008 Regular Specifications of Resource Requirements for Embedded Control Software
abstract
For embedded control systems, a schedule for the allocation of resources to a software component can be described by an infinite word whose ith symbol models the resources used at the ith sampling interval. Dependency of performance on schedules can be formally modeled by an automaton (omega-regular language) which captures all the schedules that keep the system within performance requirements. We show how such an automaton is constructed for linear control designs and exponential stability or settling time performance requirements. Then, we explore the use of the automaton for online scheduling and for schedulability analysis. As a case study, we examine how this approach can be applied for the LQG control design. We demonstrate, by examples, that online schedulers can be used to guarantee performance in worst-case condition together with good performance in normal conditions. We also provide examples of schedulability analysis.
Rajeev Alur, Gera Weiss
IEEE Real-Time and Embedded Technology and Applications Symposium2