David Harel

David Harel
Weizmann Institute of Science | weizmann

About

462
Publications
53,635
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
27,925
Citations

Publications

Publications (462)
Preprint
Sustainable AI is a subfield of AI for concerning developing and using AI systems in ways of aiming to reduce environmental impact and achieve sustainability. Sustainable AI is increasingly important given that training of and inference with AI models such as large langrage models are consuming a large amount of computing power. In this article, we...
Preprint
Recently, given the docstring for the target problem and the target function signature, large language models (LLMs) have been used not only to generate source code, but also to generate test cases, consisting of test inputs and assertions (e.g., in the form of checking an actual output against the expected output). However, as shown by our empiric...
Preprint
Navigating mobile User Interface (UI) applications using large language and vision models based on high-level goal instructions is emerging as an important research field with significant practical implications, such as digital assistants and automated UI testing. To evaluate the effectiveness of existing models in mobile UI navigation, benchmarks...
Preprint
Foundation Models (FMs) have become essential components in modern software systems, excelling in tasks such as pattern recognition and unstructured data processing. However, their capabilities are complemented by the precision, verifiability, and deterministic nature of executable specifications, such as symbolic programs. This paper explores a ne...
Article
Music therapy has shown efficacy in serious and chronic conditions, mental disorders, and disabilities. However, there is still much to explore regarding the mechanisms through which music interventions exert their effects. A typical session involves interactions between the therapist, the client and the musical work itself, and to help address the...
Article
How will knowing, or not knowing, whether an agent is a human or a machine influence our interactions?
Chapter
An international overview of how policy makers, curriculum developers, and school practitioners can integrate computational thinking into K–12 curricula. In today's digital society, computational thinking (CT) is a critical component of all children's education. In Computational Thinking Curricula in K–12, editors Harold Abelson and Siu-Cheung Kong...
Article
Full-text available
The pharynx of the nematode Caenorhabditis elegans is a neuromuscular organ that exhibits typical pumping motions, which result in the intake of food particles from the environment. In-depth inspection reveals slightly different dynamics at the various pharyngeal areas, rather than synchronous pumping motions of the whole organ, which are important...
Article
Full-text available
Deep learning (DL), which includes deep reinforcement learning (DRL), holds great promise for carrying out real-world tasks that human minds seem to cope with quite readily. That promise is already delivering extremely impressive results in a variety of areas. However, while DL-enabled systems achieve excellent performance, they are far from perfec...
Preprint
Turing's 1950 paper introduced the famed "imitation game", a test originally proposed to capture the notion of machine intelligence. Over the years, the Turing test spawned a large amount of interest, which resulted in several variants, as well as heated discussions and controversy. Here we sidestep the question of whether a particular machine can...
Chapter
Full-text available
Deep reinforcement learning (DRL) has become a dominant deep-learning paradigm for tasks where complex policies are learned within reactive systems. Unfortunately, these policies are known to be susceptible to bugs. Despite significant progress in DNN verification, there has been little work demonstrating the use of modern verification tools on rea...
Article
Full-text available
Deep reinforcement learning agents have achieved unprecedented results when learning to generalize from unstructured data. However, the “black-box” nature of the trained DRL agents makes it difficult to ensure that they adhere to various requirements posed by engineers. In this work, we put forth a novel technique for enhancing the reinforcement le...
Article
Autonomous systems emerge from the need to progressively replace human operators by autonomous agents in a wide variety of application areas. We offer an analysis of the state of art in developing autonomous systems, focusing on design and validation, and showing that the multi-faceted challenges involved go well beyond the limits of weak AI. We ar...
Preprint
Full-text available
Deep reinforcement learning (DRL) has achieved groundbreaking successes in a wide variety of robotic applications. A natural consequence is the adoption of this paradigm for safety-critical tasks, where human safety and expensive hardware can be involved. In this context, it is crucial to optimize the performance of DRL-based agents while providing...
Preprint
Full-text available
Deep reinforcement learning (DRL) has become a dominant deep-learning paradigm for various tasks in which complex policies are learned within reactive systems. In parallel, there has recently been significant research on verifying deep neural networks. However, to date, there has been little work demonstrating the use of modern verification tools o...
Preprint
Deep reinforcement learning has proven remarkably useful in training agents from unstructured data. However, the opacity of the produced agents makes it difficult to ensure that they adhere to various requirements posed by human engineers. In this work-in-progress report, we propose a technique for enhancing the reinforcement learning training proc...
Article
A method for programming reactive systems, called scenario-based algorithmics, can have several advantages, both in programming and in computer science education. We provide new examples, experiments, and perspectives.
Chapter
Dynamical systems, i.e., systems that progress along time according to fixed rules, exhibit many special phenomena like the emergence of interesting patterns, bifurcation of behavior, the appearance of chaos despite determinism and boundedness, and sensitive dependence on initial conditions. Such phenomena are encountered in diverse fields, such as...
Article
italic xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">Editor’s notes: This article advocates the need for a new autonomics foundation with a focus on decision-making logic and its processes for building trustworthy autonomous systems. — Selma Saidi, TU Dortmund</i
Article
Full-text available
Significance Autonomous systems are replacing humans in a variety of tasks, and in the years to come, such systems will become central and crucial to human life. They will include vehicles of all kinds, medical and industrial robots, agricultural and manufacturing facilities, traffic management systems, and much more. While many organizations striv...
Article
In all software development projects, engineers face the challenge of translating the requirements layer into a design layer, then into an implementation-code layer, and then validating the correctness of the result. Many methodologies, languages and tools exist for facilitating the process, including multiple back-and-forth ‘refinement trips’ acro...
Article
Full-text available
Art therapy and music therapy, as well as other arts-based approaches and interventions, help to mitigate symptoms in serious and chronic diseases and to improve the well-being and quality of life for both healthy individuals and patients. Artistic creation is also researched and practiced intending to empower and understand individuals, groups, an...
Preprint
Full-text available
When developing autonomous systems, engineers and other stakeholders make great effort to prepare the system for all foreseeable events and conditions. However, these systems are still bound to encounter events and conditions that were not considered at design time. For reasons like safety, cost, or ethics, it is often highly desired that these new...
Chapter
Scenario-Based Programming (SBP) is an approach to modeling and running complex, event-based, system behavior by composing narrower views of overall behavior. In this paper we introduce significant extensions to the strict interfaces by which scenarios in existing SBP frameworks specify what the system must, may, or must not do, and to the mechanis...
Preprint
Full-text available
In all software development projects, engineers face the challenge of translating the requirements layer into a design layer, then into an implementation-code layer, and then validating the correctness of the result. Many methodologies, languages and tools exist for facilitating the process, including multiple back-and-forth `refinement trips' acro...
Preprint
Full-text available
The potential benefits of autonomous systems have been driving intensive development of such systems, and of supporting tools and methodologies. However, there are still major issues to be dealt with before such development becomes commonplace engineering practice, with accepted and trustworthy deliverables. We argue that a solid, evolving, publicl...
Article
Full-text available
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 develop...
Chapter
Free improvisation is a common technique in music therapy, used to express one’s ideas or feelings in the non-verbal language of music. More broadly, music therapy is used to induce therapeutic and psychosocial effects; i.e., to help alleviate symptoms in serious and chronic diseases, and to empower the wellbeing and quality of life for healthy ind...
Preprint
Full-text available
The pharynx of the nematode Caenorhabditis elegans is a neuromuscular pump that exhibits two typical motions: pumping and peristalsis. While the dynamics of these motions are well characterized, the underlying mechanisms generating most of them are not known. In this paper, we propose comprehensive and detailed mechanisms that can explain the vario...
Article
Full-text available
Music making, in the form of free improvisations, is a common technique in music therapy, used to express one’s feelings or ideas in the non-verbal language of music. In the broader sense, arts therapies, and music therapy in particular, are used to induce therapeutic and psychosocial effects, and to help mitigate symptoms in serious and chronic di...
Data
Depiction of an improvisation of “ugly”. The improvisation was carried out by a 67 year old male; its timeline is shown on the abscissa. The ordinate: the keyboard layout where Cn denotes the note C and the octave number it is in. The black dots represent the keys pressed. Note that there are clusters of more than ten keys pressed in parallel. This...
Data
Improvisations of “ugly” and “beautiful” depicted over time. These two improvisations were carried out by a 29 year old female. (A) The ordinate displays the keyboard marked by the C notes and the octaves they are in, whereas the notes pressed for “ugly” and “beautiful” appear as black and red dots, respectively. (B) The intensity values for the no...
Data
The comprehensive textual report for an improvisation of “ugly”. The improvisation can be heard by playing S1 Audio File. Its graphic depiction appears in S2 Fig in black. (TIF)
Data
The top view of the system’s model. The Statecharts visual formalism [44] modeling the music room and three concurrent/orthogonal states (dashed lines) specifying the entities therein: the Music_work, Client (patient) and Music_Therapist. The figure also shows the events that trigger the beginning of the therapy session and its termination, specifi...
Data
Study setup and procedure. The study was carried out in the recording studio in the Music Department of Bar Ilan University. (A) The apparatus—Roland A-30-MIDI keyboard controller, comprised of 76 keys, 31 of them black and 45 white. Piano sound. The auditory feedback through speakers. (B) The participant playing station. (C) The experimenter contr...
Data
The participants’ de-identified data set. (TXT)
Data
Hierarchical view of the system’s model. The visual modeling of the system using the Statecharts formalism. (Top Panel) The top view of the system, see S4 Fig. (Bottom Panel) The Playing state, zoomed in, is further decomposed into sub-states formulating the music making process. (TIF)
Data
Similarity in parameter comparison of collectives. (PDF)
Data
An improvisation of “ugly”. (MP3)
Data
An improvisation of “beautiful”. (MP3)
Data
Statistical analysis of the demographic study. (PDF)
Data
Statistical analysis of the improvisation tasks study. (PDF)
Conference Paper
Full-text available
Scenario-based modeling (SBM) is an emerging approach for creating executable models of complex reactive systems. In addition to its use in software and system development, SBM has been shown to serve well in modeling biological processes. In this position paper, we show that SBM can be used effectively in modeling biochemical pathways at the molec...
Chapter
Modern software systems are so complex that at times engineers find it difficult to understand why a system behaves as it does under certain conditions, and, in particular, which conditions trigger specific behavior. This adds a significant burden to tasks like debugging or maintenance. Scenario-based specifications can mitigate some of the problem...
Conference Paper
Scenario-based modeling (SBM) is an emerging approach for creating executable models of complex reactive systems. In addition to its use in software and system development, SBM has been shown to serve well in modeling biological processes. In this position paper, we show that SBM can be used effectively in modeling biochemical pathways at the molec...
Conference Paper
Scenario-basedmodeling(SBM)isanapproachforcreatingexecutable models for reactive systems where each artifact specifies a separate aspect of over- all system behavior. SBM has many advantages, including structural alignment with requirements, intuitiveness and incrementality, and it is available in visual languages (e.g., LSC), textual languages (e....
Chapter
In scenario-based programming (SBP), the semantics, which enables direct execution of these intuitive specifications, calls, among others, for synchronizing concurrent scenarios prior to every event-selection decision. Doing so even when the running scenarios are distributed across multiple physical system components, may degrade system performance...
Article
A broad, long-term research project is described, which will lead to the computer becoming an equal member of the system-development team, continuously making proactive contributions, akin to those expected from an experienced and knowledgeable customer or user, a conscientious QA engineer, a strict regulatory auditor, an engineering -team leader,...
Article
Full-text available
This is the second part of a two-part series that describes a pilot programming course in which high school students majoring in computer science were introduced to the visual, scenario-based programming language of live sequence charts. The main rationale for the course was that computer science students should be exposed to at least two very diff...
Article
Full-text available
This article describes a pilot programming course in which high school students were introduced, through the visual programming language of live sequence charts (LSC), to a new paradigm termed scenario-based programming. The rationale underlying this course was teaching high school students a second, very different programming paradigm. Using LSC f...
Article
Rats’ large whiskers (macrovibrissae) are used to explore their nearby environment, typically using repetitive protraction-retraction “whisking” motions that are coordinated with head and body movements [ 1–8 ]. Once objects are detected, the rat can further explore the object tactually by using both the macrovibrissae and an array of shorter, stat...
Conference Paper
Full-text available
In recent years, scenario-based modeling has been proposed to help mitigate some of the underlying difficulties in modeling complex reactive systems, by allowing modelers to specify system behavior in a way that is intuitive and directly executable. This modeling approach simplifies the specification of systems that include events occurring in dist...
Article
Full-text available
In 1950 Alan Turing proposed his imitation game, better known as the Turing test, for determining whether a computer system claimed to adequately exhibit intelligence indeed does so. This work was carried out although no such system was anywhere in sight at the time, and we are still far from it now, many decades later. The current paper raises the...
Conference Paper
Full-text available
Despite many advances in automating system and software engineering, the knowledge, skills and experience of human engineers and domain experts are, and will continue to be, critical factors in the success of complex system development projects. In a new research direction we term towards wise computing we aim to make some of these abilities availa...
Article
Full-text available
Background Research related to cancer is vast, and continues in earnest in many directions. Due to the complexity of cancer, a better understanding of tumor growth dynamics can be gleaned from a dynamic computational model. We present a comprehensive, fully executable, spatial and temporal 3D computational model of the development of a cancerous tu...
Article
Full-text available
The authors present an initial wise development framework: a development environment that proactively and interactively assists the software engineer in modeling complex reactive systems. Their framework repeatedly analyzes models of the system under development at various levels of abstraction, and then reasons about these models in order to detec...
Conference Paper
We introduce a novel method for creating mobile applications, integrating the Android SDK into PlayGo, a scenario-based behavioral programming framework. The method allows creating mobile applications simply by using a visual GUI editor, and then incrementally "playing in" scenarios that construct the application's behavior. This allows the develop...
Article
Full-text available
Nondeterminism (ND) is a fundamental concept in computer science, and comes in two main flavors. One is the kind of ND that appears in automata theory and formal languages, and is the one that students are usually introduced to. It is known to be hard to teach. We present here a study, in which we introduced students to the second kind of ND, which...
Conference Paper
Full-text available
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 propertie...
Conference Paper
Full-text available
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, descrip...
Conference Paper
Full-text available
We present a method for the automatic compositional verification of certain classes of concurrent programs. Our approach is based on the casting of the model checking problem into a theory of transition systems within CVC4, a DPLL(T) based SMT solver. Our transition system theory then cooperates with other theories supported by the solver (e.g., ar...
Article
Full-text available
The ability to visualize the ongoing events of a computational model of biology is critical, both in order to see the dynamics of the biological system in action and to enable interaction with the model from which one can observe the resulting behavior. To this end, we have built a new interactive animation tool, SimuLife, for visualizing reactive...
Chapter
We propose a simple, user-friendly way of creating computer programs for hybrid systems whose execution involves animation. This is done by adapting behavioral programming, a recently proposed approach to software development that is aligned with how people describe system behavior, for use in programming animation. Users can define discrete and co...
Article
Full-text available
Art therapy, as well as other arts-based therapies and interventions, is used to reduce pain, stress, depression, breathlessness and other symptoms in a wide variety of serious and chronic diseases, such as cancer, Alzheimer and schizophrenia. Arts-based approaches are also known to contribute to one's well-being and quality of life. However, much...
Article
Full-text available
Encouraged by significant advances in algorithms and tools for verification and analysis, high level modeling and programming techniques, natural language programming, etc., we feel it is time for a major change in the way complex software and systems are developed. We present a vision that will shift the power balance between human engineers and t...
Article
Full-text available
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/comp...
Conference Paper
Full-text available
Behavioral programming (BP) is a decentralized scenario-based paradigm for the programming of reactive software, geared towards incremental and intuitive development. In this work we apply the principles of BP to a large, real-world case-study: a web-server. We discuss the conclusions learned from our attempt and propose several extension idioms to...
Article
Full-text available
In this article, we discuss the possible connection between the programming language and the paradigm behind it, and programmers'tendency to adopt an external or internal perspective of the system they develop. Based on a qualitative analysis, we found that when working with the visual, interobject language of live sequence charts (LSC), programmer...
Article
Full-text available
We show how, under certain conditions, programs written in the behavioral programming approach can be modified (e.g., as a result of new requirements or discovered bugs) using automatically-generated code modules. Given a trace of undesired behavior, one can generate a relatively small piece of code, whose execution is interwoven at run time with t...
Conference Paper
Full-text available
We examine how students work in scenario-based and object-oriented programming (OOP) languages, and qualitatively analyze the use of abstraction through the prism of the differences between the paradigms. The findings indicate that when working in a scenario-based language, programmers think on a higher level of abstraction than when working with O...
Article
Programming, i.e., the act of creating a runnable artifact applicable to multiple inputs/tasks, is an art that requires substantial knowledge of programming languages and development techniques. As the use of software is becoming far more prevalent in all aspects of life, programming has changed and the need to program has become relevant to a much...
Article
As part of expanding the implementation and use of the behavioral programming (BP) approach in a variety of languages and configurations, we tackle some of the challenges associated with applying the approach in a truly distributed, decentralized manner, where different modules run on separate machines. BP supports the development of reactive appli...
Chapter
Scenario-based modeling in live sequence charts (LSC) involves specifying multi-modal inter-object scenarios, in which events can be mandatory (hot) or possible (cold). In translating LSCs into automata over infinite words, an intermediate step constructs a kind of transition system that we call a modal state structure (MSS). Here we present MSSs a...
Conference Paper
Full-text available
In behavioral programming, a program consists of separate modules called behavior threads, each representing a part of the system’s allowed, necessary or forbidden behavior. An execution of the program is a series of synchronizations between these threads, where at each synchronization point an event is selected to be carried out. As a result, the...