skip to main content
US FlagAn official website of the United States government
dot gov icon
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
https lock icon
Secure .gov websites use HTTPS
A lock ( lock ) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.


Title: The Ceptre Editor: A Structure Editor for Rule-Based System Simulation
Systems understanding is a skill required to solve many of the world’s most important problems, from climate change to immunotherapy to social decision-making. However, these problems also require communication among experts with diverse skill sets and academic backgrounds. Our long-term goal is to facilitate systems understanding across a range of disciplines through end-user computational modeling tools. This paper presents the Ceptre Editor, a structure editor for the rule-based programming language Ceptre. The Ceptre Editor runs in the browser and offers a visual interface and integrated development environment for Ceptre, following design recommendations from end-user programming, with the goal of providing discoverable affordances for program construction and maintaining syntactic well-formedness at each edit state. We performed a preliminary evaluation of the tool through a qualitative study, assessing the editors effectiveness at helping users understand and extended a system model, and found promising results regarding learnability and mental model accuracy.  more » « less
Award ID(s):
1755922
PAR ID:
10133864
Author(s) / Creator(s):
;
Date Published:
Journal Name:
2019 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
Page Range / eLocation ID:
133 to 137
Format(s):
Medium: X
Sponsoring Org:
National Science Foundation
More Like this
  1. null (Ed.)
    We describe a tangible block editor for the educational programming language Scratch that allows blind and visually impaired (BVI) students to learn computer programming concepts alongside their sighted peers in mainstream classrooms. In this late breaking work, we provide a description of the design that incorporates many of the key elements of the Scratch visual code editor that promote engagement and lower hurdles to programming. The environment allows a BVI student to work collaboratively with other BVI and sighted students, being accessible to all. Key elements of the design include: the use of magnets and local shape to ensure only blocks with valid syntax can be connected, the allowance of nested expressions through expansion of code structures with telescoping tubing, and a channel grid work surface that provides structure to aid students working with the much narrower field of view of haptics, as compared to vision. 
    more » « less
  2. We present GhostAR, a time-space editor for authoring and acting Human-Robot-Collaborative (HRC) tasks in-situ. Our system adopts an embodied authoring approach in Augmented Reality (AR), for spatially editing the actions and programming the robots through demonstrative role-playing. We propose a novel HRC workflow that externalizes user’s authoring as demonstrative and editable AR ghost, allowing for spatially situated visual referencing, realistic animated simulation, and collaborative action guidance. We develop a dynamic time warping (DTW) based collaboration model which takes the real-time captured motion as inputs, maps it to the previously authored human actions, and outputs the corresponding robot actions to achieve adaptive collaboration. We emphasize an in-situ authoring and rapid iterations of joint plans without an offline training process. Further, we demonstrate and evaluate the effectiveness of our workflow through HRC use cases and a three-session user study. 
    more » « less
  3. Data analytics and computational thinking are essential for processing and analyzing data from sensors, and presenting the results in formats suitable for decision-making. However, most undergraduate construction engineering and management students struggle with understanding the required computational concepts and workflows because they lack the theoretical foundations. This has resulted in a shortage of skilled workforce equipped with the required competencies for developing sustainable solutions with sensor data. End-user programming environments present students with a means to execute complex analysis by employing visual programming mechanics. With end-user programming, students can easily formulate problems, logically organize, analyze sensor data, represent data through abstractions, and adapt the results to a wide variety of problems. This paper presents a conceptual system based on end-user programming and grounded in the Learning-for-Use theory which can equip construction engineering and management students with the competencies needed to implement sensor data analytics in the construction industry. The system allows students to specify algorithms by directly interacting with data and objects to analyze sensor data and generate information to support decision-making in construction projects. An envisioned scenario is presented to demonstrate the potential of the system in advancing students’ data analytics and computational thinking skills. The study contributes to existing knowledge in the application of computational thinking and data analytics paradigms in construction engineering education. 
    more » « less
  4. Version control systems typically rely on apatch language, heuristicpatch synthesis algorithmslike diff, andthree-way merge algorithms. Standard patch languages and merge algorithms often fail to identify conflicts correctly when there are multiple edits to one line of code or code is relocated. This paper introduces Grove, a collaborative structure editor calculus that eliminates patch synthesis and three-way merge algorithms entirely. Instead, patches are derived directly from the log of the developer’s edit actions and all edits commute, i.e. the repository state forms a commutative replicated data type (CmRDT). To handle conflicts that can arise due to code relocation, the core datatype in Grove is a labeled directed multi-graph with uniquely identified vertices and edges. All edits amount to edge insertion and deletion, with deletion being permanent. To support tree-based editing, we define a decomposition from graphs intogroves, which are a set of syntax trees with conflicts—including local, relocation, and unicyclic relocation conflicts—represented explicitly using holes and references between trees. Finally, we define a type error localization system for groves that enjoys atotalityproperty, i.e. all editor states in Grove are statically meaningful, so developers can use standard editor services while working to resolve these explicitly represented conflicts. The static semantics is defined as a bidirectional marking system in line with recent work, with gradual typing employed to handle situations where errors and conflicts prevent type determination. We then layer on a unification-based type inference system to opportunistically fill type holes and fail gracefully when no solution exists. We mechanize the metatheory of Grove using the Agda theorem prover. We implement these ideas as theGrove Workbench, which generates the necessary data structures and algorithms in OCaml given a syntax tree specification. 
    more » « less
  5. Structure editors operate directly on a program’s syntactic tree structure. At first glance, this allows for the exciting possibility that such an editor could enforce correctness properties: programs could be well-formed and sometimes even well-typed by construction. Unfortunately, traditional approaches to structure editing that attempt to rigidly enforce these properties face a seemingly fundamental problem, known in the literature asviscosity. Making changes to existing programs often requires temporarily breaking program structure—but disallowing such changes makes it difficult to edit programs! In this paper, we present a scheme for structure editing which always maintains a valid program structure without sacrificing the fluidity necessary to freely edit programs. Two key pieces help solve this puzzle: first, we develop a novel generalization ofselectionfor tree-based structures that properly generalizes text-based selection and editing, allowing users to freely rearrange pieces of code by cutting and pasting one-hole contexts; second, we type these one-hole contexts with a category oftype diffsand explore the metatheory of the system that arises for maintaining well-typedness systematically. We implement our approach as an editor calledPantograph, and we conduct a study in which we successfully taught students to program with Pantograph and compare their performance against a traditional text editor. 
    more » « less