Component based software engineering data types.
Currently only draft types with known problems. Use with caution!
Holds information about a component.
Todo
Should be split up in static (structure) and dynamic part (timing, state, buffer filling levels, ...)
Code author: Arne Nordmann <anordman@techfak.uni-bielefeld.de>
Type : | ASCII-STRING |
---|
Not documented
Type : | rst.cbse.ComponentState |
---|
Not documented
Type : | rst.cbse.InputPort |
---|
Not documented
Type : | rst.cbse.OutputPort |
---|
Not documented
Type : | rst.timing.Duration |
---|
Not documented
Type : | rst.timing.Frequency |
---|
Not documented
message ComponentInfo {
required string id = 1;
required ComponentState lifecycle = 2;
required InputPort inputs = 3;
required OutputPort outputs = 4;
optional timing.Duration uptime = 5;
optional timing.Frequency freqency = 6;
}
Holds information about an output port.
Code author: Arne Nordmann <anordman@techfak.uni-bielefeld.de>
Type : | ASCII-STRING |
---|
Not documented
Type : | UINT64 |
---|
@unit(number-or-bytes?)
Type : | UINT64 |
---|
@unit(number-or-bytes?)
message OutputPort {
required string scope = 1;
// @unit(number-or-bytes?)
optional uint64 buffersize = 2;
// @unit(number-or-bytes?)
optional uint64 filling = 3;
}
Holds information about an input port.
Code author: Arne Nordmann <anordman@techfak.uni-bielefeld.de>
Type : | ASCII-STRING |
---|
Not documented
Type : | UINT64 |
---|
@unit(number-or-bytes?)
Type : | UINT64 |
---|
@unit(number-or-bytes?)
message InputPort {
required string scope = 1;
// @unit(number-or-bytes?)
optional uint64 buffersize = 2;
// @unit(number-or-bytes?)
optional uint64 filling = 3;
}
Holds information about a component`s lifecycle state. May also be used to trigger a component to transition to the according state. Feel free to extend the State enum.
Code author: Arne Nordmann <anordman@techfak.uni-bielefeld.de>
Type : | rst.cbse.ComponentState.State |
---|
Not documented
message ComponentState {
/**
* Possible lifecycle states
*/
enum State {
// Not running / off / stopped
OFF = 1;
// Running / on / online -- rather generic, try to use more specific
// state, see below
ON = 2;
// Paused
PAUSED = 3;
// On and running / executing
EXECUTION = 4;
// Online learning, but still responsive
ONLINELEARNING = 5;
// Offline learning and not responsive
OFFLINELEARNING = 6;
// Resetted
RESET = 7;
// Component was just loaded from persisted state
LOADED = 8;
// Component state was just persisted
PERSISTED = 9;
}
required State state = 1;
}
Possible lifecycle states
Not running / off / stopped
Running / on / online – rather generic, try to use more specific state, see below
Paused
On and running / executing
Online learning, but still responsive
Offline learning and not responsive
Resetted
Component was just loaded from persisted state
Component state was just persisted
enum State {
// Not running / off / stopped
OFF = 1;
// Running / on / online -- rather generic, try to use more specific
// state, see below
ON = 2;
// Paused
PAUSED = 3;
// On and running / executing
EXECUTION = 4;
// Online learning, but still responsive
ONLINELEARNING = 5;
// Offline learning and not responsive
OFFLINELEARNING = 6;
// Resetted
RESET = 7;
// Component was just loaded from persisted state
LOADED = 8;
// Component state was just persisted
PERSISTED = 9;
}
Tick sent to a component in a component circuit (as used by a global heartbeat). Including support for virtual (simulation) time often found in robotics applications.
Code author: Arne Nordmann <anordman@techfak.uni-bielefeld.de>
Type : | UINT32 |
---|
Sequence number of the tick. This sequence number is unique “within” the sending heartbeat.
Type : | rst.timing.Timestamp |
---|
Unit: microseconds
Real time timestamp
Type : | rst.timing.Timestamp |
---|
Unit: microseconds
Virtual (simulation) timestamp
Type : | rst.timing.Duration |
---|
Unit: microseconds
(Real) Timestep since last tick
Type : | rst.timing.Duration |
---|
Unit: microseconds
Virtual (simulation) timestep since last tick
message Tick {
/**
* Sequence number of the tick. This sequence number is unique "within" the
* sending heartbeat.
*/
required uint32 sequence_number = 1;
/**
* Real time timestamp
*/
// @unit(microseconds)
required timing.Timestamp timestamp = 2;
/**
* Virtual (simulation) timestamp
*/
// @unit(microseconds)
optional timing.Timestamp virtual_timestamp = 3;
/**
* (Real) Timestep since last tick
*/
// @unit(microseconds)
optional timing.Duration timestep = 4;
/**
* Virtual (simulation) timestep since last tick
*/
// @unit(microseconds)
optional timing.Duration virtual_timestep = 5;
}
Enter search terms or a module, class or function name.