Permalink
Cannot retrieve contributors at this time
<?xml version="1.0" encoding="UTF-8"?> | |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" | |
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> | |
<html xmlns="http://www.w3.org/1999/xhtml" | |
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" | |
xmlns:owl="http://www.w3.org/2002/07/owl#" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema#" | |
xmlns:foaf="http://xmlns.com/foaf/0.1/" | |
xmlns:dc="http://purl.org/dc/elements/1.1/"> | |
<head> | |
<meta http-equiv="content-type" content="text/html; charset=UTF-8" /> | |
<title>SPICE Vocabulary</title> | |
<meta name="generator" content="Amaya, see http://www.w3.org/Amaya/" /> | |
<link media="screen" href="../css/spec-rec.css" type="text/css" | |
rel="stylesheet" /> | |
</head> | |
<body> | |
<h1>SPICE Vocabulary</h1> | |
<p><a href="http://en.wikipedia.org/wiki/SPICE">SPICE</a> (Simulation Program | |
with Integrated Circuit Emphasis) is a general-purpose, open source analog | |
electronic circuit simulator. It is a powerful program that is used in | |
integrated circuit and board-level design to check the integrity of circuit | |
designs and to predict circuit behavior.</p> | |
<p>The purpose of the SPICE Vocabulary is to enable SPICE models to be created | |
and used in a Web-friendly form. The SPICE Vocabulary will be defined in <a | |
href="http://www.w3.org/RDF/">RDF</a>.</p> | |
<p><strong><a | |
href="https://workflowy.com/shared/36d7c6c7-ae01-81bc-c738-0f2eae4e31cb/">Resource | |
List</a></strong> (editable)</p> | |
<p>The current plan is to create the RDF Vocabulary as a direct mapping of the | |
SPICE notation language.</p> | |
<p></p> | |
<p><strong>Status: surveying for background resources and | |
information</strong></p> | |
<p></p> | |
<p><strong>Contact</strong> : <a href="mailto:danny.ayers@gmail.com">Danny | |
Ayers</a></p> | |
<p></p> | |
<h2>Motivation</h2> | |
<p>Circuits can already be developed using Web technologies, as demonstrated by | |
the remarkable <a href="https://www.circuitlab.com">Circuit Lab</a>. </p> | |
<p>However traditional circuit development tends to be a fairly isolated | |
affair, a given circuit being developed locally. This can potentially be | |
augmented by using the distributed, social nature of the Web. Circuits are | |
graph-shaped, and defined through nodes and connections between those nodes. | |
The Web is a <a href="http://dig.csail.mit.edu/breadcrumbs/node/215">Giant | |
Global Graph</a>. Why not bring them together?</p> | |
<p>SPICE offers a standard notation for expressing circuit models and many | |
tools can be used to simulate the circuits or assist in the development of | |
circuit boards. The <a | |
href="http://en.wikipedia.org/wiki/Resource_Description_Framework">Resource | |
Description Framework</a> offers a standard way of expressing such models on | |
the Web. </p> | |
<p>If circuits are expressed in RDF as <a href="http://linkeddata.org/">linked | |
data</a>, then potentially very powerful search and discovery becomes | |
available. As well as being able to search for circuits by name or description, | |
the components used and circuit topologies are "visible" in the RDF model, and | |
can be pattern-matched using the <a | |
href="http://www.w3.org/TR/sparql11-query/">SPARQL</a> query language.</p> | |
<p>See also : <a | |
href="http://dannyayers.com/2011/02/23/Adding-SPICE-to-the-Semantic-Web">Adding | |
SPICE to the Semantic Web</a></p> | |
<p></p> | |
<h3>Use Cases</h3> | |
<p><em>purely informative</em></p> | |
<ul> | |
<li>the Web as circuit repository using Linked Data discovery & | |
search</li> | |
<li>Web-based simulation - decoupled from the circuit descriptions</li> | |
<li>distributed circuits : the I/O of one circuit make be connected to the | |
I/O of any other circuit on the Web</li> | |
<li>collaborative development : possibly layered over existing distributed | |
version control</li> | |
<li>social net : Facebook-like community infrastructure over the topic of | |
electronics</li> | |
</ul> | |
<h2>Requirements</h2> | |
<h3>Vocabulary</h3> | |
<ul> | |
<li>basic modeling of circuit structure</li> | |
<li>vocabulary of core SPICE terms</li> | |
<li>extension model for additional terms</li> | |
<li>correspondences with existing vocabularies</li> | |
</ul> | |
<h3>Tools</h3> | |
<ul> | |
<li>SPICE notation to Turtle notation converter(s)</li> | |
<li>Turtle to SPICE converter(s)</li> | |
<li>testbed repository (online triplestore with UI optimised for | |
circuits)</li> | |
<li>testbed simulator (server-side and/or client side, derived from existing | |
tools)</li> | |
</ul> | |
<h3>Documentation</h3> | |
<ul> | |
<li>documentation for all the above</li> | |
<li>examples</li> | |
<li>guidelines for integration</li> | |
</ul> | |
<p></p> | |
<p><em><strong>Misc. Notes</strong></em></p> | |
<p>NB. by default circuit nodes (as numbered in SPICE) should probably be blank | |
nodes</p> | |
<p></p> | |
<p>hash or slash URIs??</p> | |
<p></p> | |
<p>example term:</p> | |
<p></p> | |
<p><code>@prefix dc: <http://purl.org/dc/elements/1.1/> .</code></p> | |
<p><code>@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> | |
.</code></p> | |
<p><code>@prefix : <http://purl.org/spice/> .</code></p> | |
<p><code>+xsd</code></p> | |
<p><code></code></p> | |
<p><code>:Resistor a rdfs:Class ;</code></p> | |
<p><code>rdfs:label "Resistor" ;</code></p> | |
<p><code>dc:title "Resistor" ;</code></p> | |
<p><code>dc:description "a two-terminal passive electronic component which | |
implements electrical resistance" ;</code></p> | |
<p><code>rdfs:isDefinedBy <http://purl.org/spice/> ;</code></p> | |
<p><code>rdfs:subClassOf <http://dbpedia.org/resource/Resistor> | |
;</code></p> | |
<p><code>:terminalCount "2"^^xsd:int ;</code></p> | |
<p><code>:spiceInstanceTemplate "R<name> <(+) node> <(-) | |
node> [model name] <value>+ [TC = <TC1> [,<TC2>]]" | |
;</code></p> | |
<p><code>:spiceModelTemplate ".MODEL <model name> RES [model parameters]" | |
;</code></p> | |
<p><code>:spiceExample "RLOAD 15 0 2K" .</code></p> | |
<p></p> | |
<h3>Open Questions</h3> | |
<p>Best bet here is probably follow the modeling of SPICE, e.g. a resistor is | |
<em>fairly</em> idealised (ideal value but can have temperature coefficient and | |
can generate noise).</p> | |
<p>Need to consider how to model actual resistor classes (e.g. all 10k 5% | |
carbon film) and instances of those - punning..?</p> | |
<p></p> | |
</body> | |
</html> |