Refereed Journal and Book Chapters

Omniscient Debugging for Model Transformation

Abstract: This paper discusses a technique for supporting omniscient debugging for model transformations (MTs), which are used to define core operations on software and systems models. Similar to how errors are present in software systems developed using general-purpose languages (GPLs), MTs are also subject to human error and may possess defects. Existing Model-Driven Engineering (MDE) tools provide stepwise execution to aid developers in locating and removing defects. In this paper, we describe our investigation into the application of omniscient debugging features for MTs. Omniscient debugging enables enhanced navigation and exploration features during a debugging session beyond those possible in a strictly stepwise execution environment. Finally, the runtime performance is comparatively evaluated against stepwise execution, and the scalability (in terms of memory usage) is empirically investigated.

Authors: Jonathan Corley, Brian P. Eddy, Eugene Syriani, and Jeff Gray

Published: Special Issue of Software Quality Journal on Program Debugging: Research, Practice and Challenges


Cloud-based Multi-View Modeling Environments

Abstract: Complex systems typically involve many stakeholder groups working in a coordinated manner on different aspects of a system. In Model-Driven Engineering (MDE), stakeholders work on models in order to design, transformation, simulate, and analyze the system. Therefore there is a growing need for collaborative platforms for modelers to work together. A cloud-based system allows them to concurrently work together. This chapter presents the challenges for building such environments. It also presents the architecture of a cloud-based multi-view modeling environment based on AToMPM.

Authors: Jonathan Corley, Huseyin Ergin, Simon Van Mierlo, Eugene Syriani

Published: Modern Software Engineering Methodologies for Mobile and Cloud Environments


Refereed Conference, Workshop, and Symposia

An Experience Report Assessing A Professional Development MOOC for CS Principles

Abstract: CS Principles is a new AP course being developed by the College Board and introduced into High Schools across the nation. To aid and encourage the adoption of the new CSP course, we have offered a Massively-Open Online Course (MOOC) for the past several years that serves as a professional development offering for CS Principles. Additionally, we have provided a parallel face-to-face workshop for a smaller group of MOOC participants. In this paper, we discuss our experiences conducting professional development using a MOOC. We investigate the impact of the face-to-face event and online community on participants' completion and performance in the course.

Authors: Jeff Gray, Jonathan Corley, and Brian Eddy

Published: SIGCSE 2016


Modeling as a Service: Scalability and Performance of the Cloud Architecture of AToMPM

Abstract: In model-driven engineering, stakeholders work on models in order to design, transform, simulate, and analyze systems. Complex systems typically involve many stakeholder groups working in a coordinated manner on different aspects of a system. Therefore, there is a need for collaborative platforms to allow modelers to work together. Previously, we introduced the cloud-based multi-user tool AToMPM, designed to address the challenges for building a collaborative platform for modeling. This paper presents on the multi-user, multi-view architecture of AToMPM and an initial evaluation of its performance and scalability.

Authors: Jonathan Corley, Eugene Syriani, and Huseyin Ergin

Published: MODELSWARD 2016


Bringing Efficient Rich Omniscient Debugging to xDSMLs

Abstract: Omniscient debugging is a promising technique that relies on execution traces to enable free traversal of the states reached by a system during an execution. Typically, to provide omniscient debugging for an Executable Domain-Specific Modeling Languages (xDSML), language developers must either use a generic trace structure that does not support the development of domain-specific trace manipulations, or develop new tooling for each language, which is time-consuming and error-prone. In this paper, we describe a generative approach to support omniscient debugging of executable models conforming to any xDSML. Our debugger provides generic facilities supporting omniscient debugging that rely on generated domain-specific trace metamodels. We apply our work to the fUML language to evaluate runtime performance and memory consumption.

Authors: Erwan Bousse, Jonathan Corley, Benoit Combemale, Jeff Gray, and Benoit Baudry

Published: SLE 2015


Towards Efficient and Scalable Omniscient Debugging for Model Transformations

Abstract: Model transformations (MTs) are central artifacts in model-driven engineering (MDE) that define core operations on models. Like other software artifacts, MTs are subject to human error and, therefore, may possess defects (bugs). Some MDE tools provide basic support for debugging to aid developers in locating and removing these defects. In this paper, we describe an omniscient debugging technique. Our technique is designed to enhance stepwise execution support for MTs by providing the ability to traverse the full extent (i.e., forward or backward) of the execution history of a live debugging session. We also introduce a proof of concept prototype applying the described technique and a preliminary study of the scalability, in terms of memory consumption, and performance, in terms of time to execute.

Authors: Jonathan Corley, Brian Eddy, and Jeff Gray

Published: DSM @ SPLASH 2014


Supporting Debugging in a Heterogeneous, Globally Distributed Environment

Abstract: Model-Driven Engineering has emerged as a software development paradigm that can assist in separating the issues of the problem space of a software system from the complexities of implementation in the solution space. As software systems have become more complex, a need for multiple abstractions to describe a single system has emerged. The development teams of these massive systems are also often geographically distributed. These emerging concerns for MDE systems have led to a need for a heterogeneous, and potentially globally distributed, modeling environment. As these modeling environments are being explored, new challenges are being uncovered. In this paper, we discuss the need for debugging support in heterogeneous, globally distributed modeling systems and identify a number of challenges related to debugging that must be overcome to support this evolving paradigm for software development.

Authors: Jonathan Corley and Jeff Gray

Published: GEMOC @ MoDELS 2014


Exploring Omniscient Debugging for Model Transformations

Abstract: Model transformations (MTs) are central artifacts in model-driven engineering (MDE) because they define core operations on models. Like other software artifacts, MTs are also subject to human error and, thus, may possess defects (or bugs). Several MDE tools provide basic support for debugging to aid developers in locating and removing defects. In this paper, I describe my investigation into the application of omniscient debugging features to enhance stepwise execution support for MTs. Omniscient debugging enables enhanced navigation and exploration features during a debugging session.

Authors: Jonathan Corley

Published: SRC @ MoDELS 2014


Debugging for Model Transformations

Abstract: In Model-Driven Engineering, the evolution of models is commonly defined using model transformation languages, which can be used to specify the distinct needs of a requirements or engineering change at the software modeling level. Model transformations are also a type of software abstraction that can be subject to human error. This paper presents a research proposal to investigate applying traditional approaches to bug localization to model transformations.

Authors: Jonathan Corley

Published: DocSymp MoDELS 2013


Using App Inventor in a K-12 Summer Camp

Abstract: Educators are often seeking new ways to motivate or inspire students to learn. Our past efforts in K-12 outreach included robotics and media computation as the contexts for teaching Computer Science (CS). With the deep interest in mobile technologies among teenagers, our recent outreach has focused on using smartphones as a new context. This paper is an experience report describing our approach and observations from teaching a summer camp for high school students using App Inventor (AI). The paper describes two separate methods (one using a visual block language, and another using Java) that were taught to high school students as a way to create Android applications. We observed that initiating the instruction with the block language, and then showing the direct mapping to an equivalent Java version, assisted students in understanding app development in Java. Our evaluation of the camp includes observations of student work and artifact assessment of student projects. Although the assessment suggests the camp was successful in several areas, we present numerous lessons learned based on our own reflection on the camp content and instruction.

Authors: Amber Wagner, Jeff Gray, Jonathan Corley, David Wolber

Published: SIGCSE 2013


Brain-Computer Interface Virtual Keyboard for Accessibility

Abstract: This paper describes our experiences in building a virtual keyboard implemented using a Brain-Computer Interface (BCI) that interacts with the eMotiv EPOC Neural Headset. The contribution of the work is an alternative input device for those who have a motor disability and are challenged by traditional input devices. The advantages of a virtual keyboard based on BCI are summarized and we describe its design and implementation. We also present the results of a preliminary study that has suggested several improvements for enhancing the effectiveness of the virtual keyboard.

Authors: Jonathan Corley, Dustin Heaton, Jeff Gray, Jeff Carver, Randy Smith

Published: IASTED-HCI 2012


Refereed Poster and Abstract

Searching for Answers: An Exploratory Study of the Formation, Use, and Impact of Queries During Debugging

Abstract: This paper presents the results of an exploratory study investigating the formation, use, and impact of queries during debugging tasks. The results of this study provide additional evidence regarding the impact of query-based debuggers and can inform efforts that are focused on developing and improving query-based debuggers.

Authors: Jonathan Corley and Brian Eddy

Published: Poster @ SPLASH 2014


A Cloud Architecture for an Extensible Multi-Paradigm Modeling Environment

Abstract: We present the cloud architecture of AToMPM, an open-source framework for designing domain-specific modeling environments, performing model transformations, manipulating and managing models. AToMPMā€™s cloud-based architecture makes it independent from any operating system, platform, or device it may execute on as well as any visualization of the modeling structures (e.g., textual or graphical). AToMPM offers an online collaborative experience for modeling. Its unique architecture makes the framework scalable while also providing a flexible and completely customizable modeling environment.

Authors: Jonathan Corley and Eugene Syriani

Published: Poster @ MoDELS 2014


A First-Year Experience Report on a Model for Statewide Deployment of CS Principles Courses

Abstract: This poster describes our first-year experience in developing and evaluating a CS Principles professional development model for training a cohort of teachers across an entire state geography. The scalable deployment and sustainable persistence of the new CS Principles course adopts the successful practices of a national AP training program developed by the National Math and Science Initiative (NMSI). It applies those practices in a professional development program based on year-long in-person training and distance learning collaboration. A statewide "Teacher Leader" model is being explored where those already teaching more rigorous CS courses will assist in training new peer cohorts as they establish CS Principles in their schools. Teachers in these cohorts collaborate together on content and pedagogical learning experiences, fostered by peer leaders. The assessment is uncovering the facets of our model that are most suitable for building a sustainable network of CS Principles teachers. This poster is focused on a description of our first-year experiences and extensive evaluation results. The poster will describe the curriculum that is being developed by our teachers, a set of lessons learned from our PD experiences, and the details of our evaluation. The Teacher Leaders will be available near the poster to discuss their experience with anyone who has an interest in our professional development model for CS Principles.

Authors: Jeff Gray, Mokter Hossain, Jonathan Corley, Amber Wagner, Cassidy Lamm, Mary Boehm, Carol Crawford, Kathleen Haynie, Sheryl Packman, Deepa Muralidhar, Jeff Baker, Roy Black, Sandy Falgout, Leella Holt, Albert Lilly, Gina McCarley, James Morse, Jennie Rountree, Jill Westerlund, and Carol Yarbrough

Published: Poster @ SIGCSE 2014


Generic Debugging Facilities for Model Transformation

Authors: Jonathan Corley

Published: ACM midSE 2013