Developing software from models is a growing practice and there exist many model-based tools (e.g., editors, interpreters, debuggers, and simulators) for supporting model-driven engineering. Even though these tools facilitate the automation of software engineering tasks and activities, such tools are typically engineered manually. However, many of these tools have a common semantic foundation centered around an underlying modeling language, which would make it possible to automate their development if the modeling language specification were formalized. Even though there has been much work in formalizing programming languages, with many successful tools constructed using such formalisms, there has been little work in formalizing modeling languages for the purpose of automation. This paper discusses possible semantics-based approaches for the formalization of modeling languages and describes how this formalism may be used to automate the construction of modeling tools.
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 challenging and error prone task. A solution to this problem is to define a generic omniscient debugger for all xDSMLs. However, generically supporting any xDSML both compromises the efficiency and the usability of such an approach. Our contribution relies on a partly generic omniscient debugger supported by generated domain-specific trace management facilities. Being domain-specific, these facilities are tuned to the considered xDSML for better efficiency. Usability is strengthened by providing multidimensional omniscient debugging. Results show that our approach is on average 3.0 times more efficient in memory and 5.03 more efficient in time when compared to a generic solution that copies the model at each step.
This paper summarizes our mid-project results in developing and evaluating a CS Principles (CSP) professional development (PD) model for training several cohorts of teachers across an entire state geography. CS4Alabama is an NSF-funded project that has adopted the successful practices of a national AP training program developed by the National Math and Science Initiative (NMSI) in pursuit of scalable deployment and sustainable persistence of new CSP courses across Alabama. We have created a CSP curriculum and PD program based on year-long in-person training and distance learning collaboration, which also was offered as a national MOOC as part of Google CS4HS. A statewide Teacher Leader (TL) model is used, where those who have previously taught rigorous CS courses serve as mentors in training new peer cohorts as they establish CSP courses in their schools. Teachers in these cohorts collaborate together on content and pedagogical learning experiences, fostered by the TLs. This paper reports on assessment results that are uncovering the facets of our model that are most suitable for building a sustainable network of CSP teachers. The paper summarizes our PD model, offers various lessons learned, and details the findings of the project's external evaluation team.