Team:BU Wellesley Software/Puppetshow
From 2011.igem.org
(Difference between revisions)
Line 48: | Line 48: | ||
<!-- Comp people's content here--> | <!-- Comp people's content here--> | ||
- | Our solution comprises a five-layer stack as illustrated in the | + | <div class="project_abstract"> |
+ | Our solution comprises a five-layer stack as illustrated in the figure on the right. Using the Clotho | ||
platform, we develop two applications for specifying and executing | platform, we develop two applications for specifying and executing | ||
biological protocols. The Assembly Planner is the end-point of an | biological protocols. The Assembly Planner is the end-point of an | ||
Line 56: | Line 57: | ||
provides an environment for writing, testing, debugging, and executing biological protocols. | provides an environment for writing, testing, debugging, and executing biological protocols. | ||
- | The protocols are written in a new high-level language called Puppeteer. The Language layer | + | The protocols are written in a new python-based high-level language called Puppeteer. The Language layer |
comprises the Puppeteer interpreter and linker. A protocol specified in Puppeteer may contain | comprises the Puppeteer interpreter and linker. A protocol specified in Puppeteer may contain | ||
Puppeteer instructions as well as references to previously created Puppeteer programs available in a | Puppeteer instructions as well as references to previously created Puppeteer programs available in a | ||
library. The Language layer expands and translates a Puppeteer protocol to a sequence of low-level | library. The Language layer expands and translates a Puppeteer protocol to a sequence of low-level | ||
- | commands expressed in a Common Robot Instruction Set ( | + | commands expressed in a Common Human Robot Instruction Set (CHRIS). CHRIS provides a standardized |
instruction set that high level biological protocol languages like Puppeteer may assume to be | instruction set that high level biological protocol languages like Puppeteer may assume to be | ||
supported by any robot. Any high-level language may produce CRIS programs and any robot vendor may | supported by any robot. Any high-level language may produce CRIS programs and any robot vendor may | ||
- | support a superset of | + | support a superset of CHRIS: this decouples robot hardware details from biological protocol and |
specification details and supports our goal of portability and protocol library reuse. The Hardware | specification details and supports our goal of portability and protocol library reuse. The Hardware | ||
Layer---the external control and I/O interface of a robot---is wrapped under a Hardware Abstraction | Layer---the external control and I/O interface of a robot---is wrapped under a Hardware Abstraction | ||
Line 75: | Line 76: | ||
the Language layer, analogous to a ``system call'' suite. This interface supports our goal of | the Language layer, analogous to a ``system call'' suite. This interface supports our goal of | ||
removing the minutiae of resource management from the protocol specification language. | removing the minutiae of resource management from the protocol specification language. | ||
- | + | </div> | |
Revision as of 22:13, 10 September 2011
Computational Team
Our solution comprises a five-layer stack as illustrated in the figure on the right. Using the Clotho
platform, we develop two applications for specifying and executing
biological protocols. The Assembly Planner is the end-point of an
end-to-end design workflow that produces an assembly plan for synthetic
biological devices, with each assembly step annotated with the name of a biological protocol. Each
such protocol itself may be fully specified using another Clotho application called PuppetShow, which
provides an environment for writing, testing, debugging, and executing biological protocols.
The protocols are written in a new python-based high-level language called Puppeteer. The Language layer
comprises the Puppeteer interpreter and linker. A protocol specified in Puppeteer may contain
Puppeteer instructions as well as references to previously created Puppeteer programs available in a
library. The Language layer expands and translates a Puppeteer protocol to a sequence of low-level
commands expressed in a Common Human Robot Instruction Set (CHRIS). CHRIS provides a standardized
instruction set that high level biological protocol languages like Puppeteer may assume to be
supported by any robot. Any high-level language may produce CRIS programs and any robot vendor may
support a superset of CHRIS: this decouples robot hardware details from biological protocol and
specification details and supports our goal of portability and protocol library reuse. The Hardware
Layer---the external control and I/O interface of a robot---is wrapped under a Hardware Abstraction
Layer (HAL). Vendor-provided software for programming the robot may be proprietary and is used to
control the robot. An interface to it is provided by a software bridge, which maps protocols
expressed in CRIS to sequences of native robot instructions.
The Resource Management layer maintains resource state information and provides a standardizable
high-level interface for initializing, requesting, naming, aggregating, and accessing resources to
the Language layer, analogous to a ``system call'' suite. This interface supports our goal of
removing the minutiae of resource management from the protocol specification language.