Contemporary tools for the design of embedded systems, task-specific electronic devices, arebuilt on a paradigm that has not fundamentally changed since the era of pen-and-paper
drafting despite new computational tools that enable new, better workflows for designers
and engineers. Embedded systems are the glue we use to connect the digital and physical
worlds, letting us leverage the connectivity and automation of computers to solve problems
from home automation to battlefield awareness. More user friendly tooling would reduce skill
requirements, speed up design cycles, and allow more people to solve their problems with
embedded systems. Contemporary Electronic Design Automation (EDA) tools are designed
around a single step in the design process, board layout, where an electrical schematic is
turned into a design for a printed circuit board, the copper and fiberglass base that connects
all the other components in a system. However, engineers go through a series of phases before
they reach board layout: exploring the problem they are trying to solve, sketching out a
high-level system architecture, and refining that into a well-defined electrical circuit. Better
EDA tools would fit more naturally into this workflow, existing to support users in earlier
phases, presenting them with information as it becomes relevant, and automating routine or
repetitive work.
This dissertation describes two such tools, both built by formulating the design process
in mathematical terms and using algorithms to reason about our formalisms, all while
wrapped in user-friendly interfaces. The first tool, Embedded Design Generation (EDG) is
a proof-of-concept system meant to push the limits of automation in the embedded design
process. Given a high-level specification for a device it uses satisfiability solvers to synthesize,
from whole cloth, a design meeting that spec. The second, Polymorphic Blocks, uses block
diagrams to represent designs in arbitrary stages of construction and propagator semantics
for error checking, predictive suggestions, and other features.