We use the analogy of hardware in the PC Domain to illustrate concepts of RobMoSys. Using an analogy, we can describe particular concepts in a given context (the pc domain), which is easier to understand since the context of the PC domain is widely known. One can then transfer information given to the robotics domain. The PC domain is only an analogy that helps to illustrate concepts; the PC domain is different than robotics, so do not read too much into the examples given here.
Using the PC Domain, we illustrate the terms Configuration, Composition, and Integration.
Configuration is like going to a retail store that is specialized in a certain range of products, e.g. Dell or Apple, and as for a computer. What you get is a list of possible configurations of a computer where you can select its components from a list of predefined components. This means going through a product configurator, selecting the base product and selecting some extra options, e.g. hard drive capacity.
This essentially is a product line approach where parts of the product line and its variants is even visible to the customer.
Composition is like going to a computer retail store and buying and assembling the parts in an assisted way: for example, based on the items in the shopping cart, let the customer know:
There are some online computer retailers that provide this kind of features. All this information is available in data sheets, but not all customers have the knowledge and experience to understand it. They need the support described above. Even experts are lost in case there is no data sheet.
In robotics, there is neither a superordinate structure such as PCIe, no data-sheets for components, and no support for selecting components.
Integration is like assembling parts with non-standard interfaces that do not allow to separate and exchange parts afterwards, for example, a battery that is soldered inside a laptop. Even after ripping out the battery, it cannot be used as there is no knowledge about the battery, no data sheet: How much power? How about electrical polarity/pin assignments? One starts to reverse-engineer to discover the properties using a voltmeter and other tools.
In the PC industry, different ecosystem participants can supply and use building blocks to flexibly compose systems based on their needs. There are graphics card suppliers that do not know where their product is being used or for what purpose. They supply their graphics card and adhere to an specified interface (e.g. PCI express) to make sure it can be used with any mainboard. They can build their graphics card using off-the-shelf building blocks (e.g. Nvidia graphics chip and standard memory). They provide data sheets for the graphics card that specifies the properties of the product which are necessary to use it. The data sheet does not need to expose internal details or layouts (protected IP) of the graphics card.
Enablers of composability in the PC domain are:
Thanks to this enablers, the following is possible in the PC domain and RobMoSys aims at the same for robotics:
Thanks to explicated properties in data sheets, specific views on a system can be taken. They are independent and each address concerns of the system. For example:
RobMoSys uses Views to group elements of the composition structure which are addressed by one role.
Thanks to data sheets, one can plan a system and come up with a blueprint for later assembly since data sheets contain all necessary information. The physical devices do not need to be present at that stage and can be assembled by someone else based on the blueprint. The blueprint can be used to verify the system: for example the performance might not be sufficient for the intended application.
Exposing properties in a data sheet does not mean to expose intellectual property (IP). It is only about exposing the information that is relevant to use it (e.g. external view / interface), size of the device, power supply, etc. Information about the internals of the building block (circuit layout, chipset used, capacitors used, etc.)
Adhering to superordinate structures means gaining access to all other building blocks that adhere to the same structure. This gives high flexibility in composing parts.
The below picture illustrated the Ecosystem Organization in composition Tiers using examples of the PC domain.
General-purpose standards for the pc domain are located at Tier 1. USB for example can be used to connect almost any device. Every computer has a need for storage capacity. Within this domain, Universal Mass Storage (UMS, also known as “USB mass storage”) is based on USB and makes USB devices accessible as a hard disk to enable file transfer (Tier 2 in this analogy). Hardware vendors and users can offer or use any particular device with storage capacity that supports UMS on “Tier 3”. With the intention to connect a portable device for the sake of transfering files, any of these devices that supports UMS may be suitable: a particular USB stick, portable SSD Harddisk, Digital Camera, or mobile phone. Additional modeled descriptions must then support the system integrator in choosing the right building block: digital camera might be used to transfer documents, but the USB stick or SSD harddisk is probably the first choice depending on the file's size and other factors.