Greyboxing: towards domain-specific representations for domain-specific languages in electronics design
While domain-specific languages (DSLs) can be powerful, textual code interfaces can be unfamiliar to domain practitioners compared to mainstream graphical tools. For example, in board-level electronics design, DSLs enable libraries that automate design calculations, but graphical schematics and their visual patterns dominate mainstream practice. An underappreciated yet inexpensive technique to bridge the power-familiarity gap is to exploit existing and familiar graphical tools, but augmented with DSL semantics and interoperability by hijacking graphical notions of annotation and naming. In this short paper, we apply this technique to our electronics DSL by supporting the importing of graphical schematics. Unlike simple format conversions, we map schematic components to DSL library elements and constructs, augmenting a familiar graphical representation with powerful DSL semantics. We believe this technique can generalize to other domains and help blend the power of DSLs with the familiarity of conventional tools.