Jonathan Corley

Learn More
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. While some General-Purpose Languages (GPLs) already have support for omniscient debugging, developing such a complex tool for any executable Domain-Specific Modeling Language (xDSML) remains a(More)
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(More)
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(More)
Model transformations (MTs) are central artifacts in model-driven engineering (MDE) that define core operations on models. Like other software artifacts, MTs may possess defects (bugs). Some MDE tools provide support for debug-ging. In this paper, we describe an omniscient debugging technique. Our technique enhances stepwise execution support for MTs by(More)
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 developed a Massively-Open Online Course (MOOC) over the past two years that serves as a professional development (PD) offering for CS Principles. Additionally, we have(More)
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(More)
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(More)
This paper discusses a technique for supporting omniscient debugging for model transformations, which are used to define core operations on software and system models. Similar to software systems developed using general-purpose languages, model transformations are also subject to human error and may possess defects. Existing model-driven engineering tools(More)