Chapter 3 Flashcards
What do you understand by component specification ?
It defines the interface of a component and its dependencies.
What do you understand by component interfaces?
Component interfaces document the capabilities provided by a component and define the intended usage of a particular component.
What do you understand by component dependencies?
They specify the capabilities that a component requires of other components in order to operate properly.
It defines the interfaces that need to be provided by other components.
In an embedded System Domain, what are the communication paradigms that a component interfaces could be based on ?
They are
1. Data-flow-based interfaces: it consists of data inputs that are processed by the component, and yield changed values at data outputs.
- Event-based interfaces: they accept asynchronous events that will be processed by the receiver component.
- Synchronous interfaces define operations that a component offers. These operations are comparable to functions in imperative programming languages.
How does components collaborate with each other?
They do so by using the communication paradigms data-flow-based interfaces, Event-based interfaces and Synchronous interfaces.
Name two different views associated with components
They are
- Static interface and
- Interface semantics specified using the protocol state machine.
What do you understand by the concept of views in component specification?
The concepts of interfaces, contracts and protocol state machines were used for creating component specifications. These concepts define the interface of components from different viewpoint.
Name two classes of views for component specification?
- Functional views for specifying functional component properties. They define the externally visible behaviour of components without providing a detailed realisation.
- Non-functional views that represent non-functional requirements like timeline, safety or reliability.
How does the functional views of component specification implement the basic computer science information hiding?
The specification views explicitly do not provide realisation for the component.
Sequence diagram consists of?
Instances and lifeline.
Instances model the concrete component instances while the lifeline represent the timeline.
Sequence diagrams always document interactions between component instances.
How are events modelled in sequence diagram?
They are modelled with the use of arrows, the arrow denote an event and its parameters; return values are modelled with arrow in the opposite direction.
What is the difference between sequence diagrams and communication diagrams?
Sequence diagrams model event sequences and their timing relations while communication diagrams focus on system architecture.
Communication diagrams model the interaction behaviour between component instances by specifying the event flow between those instances.
NOTE:
Communication diagrams do not define timeline, instead the event ordering is defined by numbering events. Communication diagrams also define a very limited set of language elements.
Name two properties of safety critical embedded systems
Safety analysis and evaluation which are realised with fault trees that provide a safety-centric view of the developed system.
What does required data flow interfaces and provided interfaces model?
They model data inputs and outputs respectively.
What do you understand by data flow interfaces?
Data flow interfaces specify typed data values that are continuously available to components, and that are continuously transformed into output values.
What do you understand by event-based interfaces?
Here events are transmitted from a sender to receiver components to trigger a specific processing, they do not model continuously available data values.
They implement asynchronous communication semantics.
Explain provided interface and required interface in event based interface
Provided interface define signals that are understood by their component and maybe sent to that component by other components.
Required interface define signals that are sent by their associated component to other components.
Control-flow interfaces
define operations that are provided or required by a component.
Operations define synchronous semantics.
Invocation of an operation results in control flow transfer from the caller to the called component.
Explain provided and required interfaces in control flow interfaces
Components providing interfaces add the respective interfaces as provided interfaces, while components that require operations of other components add the respective interfaces as required interfaces.
Why is strong types particularly important in embedded systems?
It is important because of domain-specific requirements for reliability and safety.
The benefit of using specialised types are type safety and documentation.
What is the benefit of using different views in specifying a software component?
It reduces the complexity of a component descriptions by separating them into multiple well-focused and self contained entities.
Highlight three different types of branching operators for modelling alternatives in sequence diagram
They are
1. Alt: Define a set of alternatives that are protected by guards, they need not be mutually exclusive. It may define an else clause which contains a sequence of events that describe the components behaviour if no guard is valid.
- Opt: Defines a sequence of events that appear optionally if a guard holds.
- Break: specialisation of the opt operator that supports exception handling.
Where is sequence diagram more suitable in component modelling?
It is more suitable for creating those parts of component specifications that cover the externally visible behaviour of components or interaction scenarios of component substructures.
What are the benefits of type system?
- Optimisation
- Safety
- Documentation and maintainability
- Abstraction
5 Parts of MARTE
- Non-functional properties
- The time profile
- General Resource Management
- Allocation part of MARTE
- General Component Model
For the definition of non-functional properties, the non-functional properties and timing profile of MARTE are relevant.
Three notation of time provided by MARTE are?
- Chronometric time
- Logical time
- Synchronous time