While contemporary projectional editors make sure that the edited programs conform to the programming language’s metamodel, they do not enforce that they are also well-formed, that is, that they obey the type and other well-formedness rules defined for the language. We show how, based on a constraint-based capture of well-formedness, projectional editors can be empowered to enforce well-formedness in much the same way they enforce conformance with the metamodel. The resulting robust edits may be more complex than ordinary, well-formedness breaking edits, and hence may require more user involvement; yet, maintaining well-formedness at all times ensures that necessary corrections of a program are linked to the edit that necessitated them, and that the projectional editor’s services are never compromised by inconsistent programs. Robust projectional editing is not a straitjacket, however: If a programmer prefers to work without it, its constraint-based capture of well-formedness will still catch all introduced errors — unlike many other editor services, well-formedness checking and robust editing are based on the same implementation, and are hence guaranteed to behave consistently.
Mon 23 Oct
|13:30 - 13:53|
|13:53 - 14:15|
Luis Eduardo de Souza AmorimDelft University of Technology, Netherlands, Michael J. SteindorferDelft University of Technology, Eelco VisserDelft University of TechnologyDOI
|14:16 - 14:38|
Robert BillVienna University of Technology, Patrick NeubauerUniversity of York, UK, Manuel WimmerTU WienDOI
|14:38 - 15:00|