Assaf Marron

dblp:98/5121 · DBLP profile ↗
← Back
33ranked-venue papers
5as first author
10since 2021 · last 2026
0000-0001-5904-5105ORCID · verified

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

Software engineering, systems software and programming languages · 23 · 4 first-author · 8 since 2021Applied, interdisciplinary, general and emerging computing · 4 · 2 since 2021Artificial intelligence and machine learning · 3Theory of computation · 3 · 2 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1Human-computer interaction and ubiquitous computing · 1
YearPublicationVenuePosition
2026 A Specification's Realm: Characterizing the Knowledge Required for Executing a Given Algorithm Specification
Assaf Marron, David Harel
MODELSWARD1
2025 Early Fault-Detection in the Development of Exceedingly Complex Reactive Systems
Assaf Marron, David Harel
MODELSWARD1
2025 An infrastructure software perspective toward computation offloading between executable specifications and foundation models
Dezhi Ran, Mengzhou Wu, Assaf Marron, David Harel, Tao Xie 0001
Sci. China Inf. Sci.4
2025 From Executable Specifications to Hard-to-Specify Requirements: Challenges in Describing Reactive System Behavior
abstract
System and Software Engineering is about implementing “what the user wanted” (colloquial phrasing borrowed from the famous tree-swing cartoon; seeFig. 1). We begin this paper by revisiting briefly the decades-long continuous pursuit of answers to some of the underlying engineering challenges, carried out by the first-listed author and his colleagues. Along this road, concepts like executable specifications, visual formalisms, hierarchies, abstractions, and scenarios play major roles. We then reflect upon the observation that the very discovery of “what the user wanted,” which often appears to require only elicitation in some structured requirement engineering process, actually poses significant challenges of its own. Documenting in advance the requirements for a real-world reactive system, such as an autonomous vehicle—and more generally, producing a textual and visual description of what a system does or needs to do—is becoming ever harder, and in certain cases impossible. Furthermore, producing quality specifications is critical not only for eventually satisfying the user, but for early detection of critical faults. We conclude by outlining future approaches and tools that may be able to mitigate the severity of this issue.
David Harel, Assaf Marron
IEEE Trans. Software Eng.2
2024 On Augmenting Scenario-Based Modeling with Generative AI
David Harel, Guy Katz, Assaf Marron, Smadar Szekely
MODELSWARD3
2024 Categorizing methods for integrating machine learning with executable specifications
David Harel, Raz Yerushalmi, Assaf Marron, Achiya Elyasaf
Sci. China Inf. Sci.3
2023 Toward Automated Modeling of Abstract Concepts and Natural Phenomena: Autoencoding Straight Lines
Yuval Bayer, David Harel, Assaf Marron, Smadar Szekely
MODELSWARD3
2023 Challenges in Modeling and Unmodeling Emergence, Rule Composition, and Networked Interactions in Complex Reactive Systems
Assaf Marron, Irun R. Cohen, Guy Frankel, David Harel, Smadar Szekely
MODELSWARD1
2022 Scenario-assisted Deep Reinforcement Learning
Raz Yerushalmi, Guy Amir, Achiya Elyasaf, David Harel, Guy Katz, Assaf Marron
MODELSWARD6
2021 Introducing Dynamical Systems andChaos Early in Computer Science andSoftware Engineering Education Can Help Advance Theory and Practice ofSoftware Development and Computing
David Harel, Assaf Marron
ISoLA2
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
AAAI2
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
MODELSWARD2
2019 Using Reactive-System Modeling Techniques to Create Executable Models of Biochemical Pathways
Hadas Lapid, Assaf Marron, Smadar Szekely, David Harel
MODELSWARD2
2018 Towards Systematic and Automatic Handling of Execution Traces Associated with Scenario-based Models
Joel Greenyer, Daniel Gritzner, David Harel, Assaf Marron
MODELSWARD4
2017 A reactive specification formalism for enhancing system development, analysis and adaptivity
abstract
During system development, external reviewers, especially ones with expertise in the problem domain or in system and software engineering (SE), often contribute insights that up to that point were not noticed by the engineers and other project stakeholders. These reviewers apparently do so by employing special human competencies that presently are not, or even cannot be, automated. Consider, for example, the competencies that enable the following review comments about a home-assistant robot: (a) during code review: "I see that the robot can defers command execution until it charges its battery for the task; When done charging, does the robot check if the action is still needed?"; (b) following a demo: "Will the robot trip over a thin ,transparent phone cord?"; and (c) "Some clear voice commands had to be repeated. Perhaps sometimes the robot isn't listening?".
Assaf Marron
MEMOCODE1
2017 Distributing Scenario-based Models: A Replicate-and-Project Approach
Shlomi Steinberg, Joel Greenyer, Daniel Gritzner, David Harel, Guy Katz, Assaf Marron
MODELSWARD6
2017 ScenarioTools - A tool suite for the scenario-based modeling and analysis of reactive systems
Joel Greenyer, Daniel Gritzner, Timo Gutjahr, Florian König, Nils Glade, Assaf Marron, Guy Katz
Sci. Comput. Program.6
2016 An Initial Wise Development Environment for Behavioral Models
abstract
We present a development environment that proactively and interactively assists the software engineer in modeling complex reactive systems. Our framework repeatedly analyzes models of the system under development at various levels of abstraction, and then reasons about these models in order to detect possible errors and to derive emergent properties of interest. Upon request, the environment can then augment the system model in order to repair or avoid detected behavior that is undesired, or instrument it in order to monitor the execution for certain behaviors. Specialized automated and human-assisted techniques are incorporated to direct and prioritize the analysis and related tasks, based on the relevance of the observed properties and the expected impact of actions to be taken. Our development environment is an initial step in the direction of the very recent Wise Computing vision, which calls for turning the computer (namely, the development environment) into an equal member of the development team: knowledgeable, independent, concerned and proactively involved in the development process. Our tool is implemented within the context of behavioral programming (BP), a scenario-based modeling approach, where components are aligned with how humans often describe desired system behavior. Thus, our work further enhances the naturalness and incrementality of developing in BP.
David Harel, Guy Katz, Rami Marelly, Assaf Marron
MODELSWARD4
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
CONCUR4
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
MODELSWARD3
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.2
2015 Towards behavioral programming in distributed architectures
David Harel, Amir Kantor, Guy Katz, Assaf Marron, Gera Weiss, Guy Wiener
Sci. Comput. Program.4
2015 Special issue on programming based on actors, agents and decentralized control
Alessandro Ricci, Gul A. Agha, Rafael H. Bordini, Assaf Marron
Sci. Comput. Program.4
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
EMSOFT4
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-IEEE2
2012 Non-intrusive Repair of Reactive Programs
David Harel, Guy Katz, Assaf Marron, Gera Weiss
ICECCS3
2012 Spaghetti for the main course?: observations on the naturalness of scenario-based programming
abstract
Scenario-based programming is an approach to software development which calls for developing independent software modules to describe different behaviors that a system should or should not follow, and then coordinating the interwoven execution of these modules at run time. We show that patterns previously shown to exist in programs written in the Scratch environment, which is not specifically scenario oriented, by children who did not have other training, and were not guided to write in a scenario-based manner, are also characteristic to scenario-based programming. These patterns include extremely fine-grain decomposition and bottom-up development. This result suggests that scenario-based programming concepts are "natural" in some ways. Thus, with an appropriate environment and a matching set of tools, scenario-based programming concepts could have an important role in early-stage computer-programming curricula.
Michal Gordon, Assaf Marron, Orni Meerbaum-Salant
ITiCSE2
2012 The quest for runware: on compositional, executable and intuitive models
David Harel, Assaf Marron
Softw. Syst. Model.2
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
EMSOFT3
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
ICPC4
2010 Programming Coordinated Behavior in Java
David Harel, Assaf Marron, Gera Weiss
ECOOP2
1990 Learning String Patterns and Tree Patterns from Examples
Ker-I Ko, Assaf Marron, Wen-Guey Tzeng
ML2
1987 Identification of Pattern Languages from Examples and Queries
Assaf Marron, Ker-I Ko
Inf. Comput.1