Hardware Composition definition language
From Openprojects
The aim of this project is to define a language to describe:
- The parts in a machine
- How they are connected
Note that:
- It's a really, really basic thing. There's no point in making it too powerful and too complicated. I think it's best to have a very simple language that allows us to build more things on top of it.
- It does not allow abstract things to be defined. At least, that's not the original idea. Things like "Motherboard with 3-6 PCIs" cannot be represented, the number of PCI sockets should be concrete, not a range.
Here's what it ought to capture:
- Part:
- Class
- Name
- Sockets (might be optional), each with its type and unique name within a part.
- More info
- Connection:
- Part-name (name), socket (name), Part-name (name), socket (name).
It might be defined using DTDs or maybe an ontology with OWL or something like that:
- DTD based
- If connections between components are nested as part of the component definition, then there's no easy way to represent loops.
- If connections between components are not nested, the language is quite simpler, and everything's neat. However, ontologies might be a better solution.
- OWL based
- This allows some things to be automatically included.
[edit]
Examples
There are several configurations that should be captured:
- A hardware composed by other hardware. Optionally, you can define interconnections among such components. If you do, a system would be able to infer some properties of the whole composition.
- A hardware with it's own sockets.
- A hardware that is an instance of other hardware.
[edit]
