Building Block(s) - CSA-FEDERATE/Proposed-BuildingBlocks GitHub Wiki
Building Block(s) were defined as executable code or usable library within the car itself or within the cloud or within the development environment. This could include proprietary implementations as well as open-source software or interfaces and application programming interfaces (APIs), which need to be implemented by specific components.
Building Block(s) are also used to develop, verify or validate, to operate, support and maintain Software Components, Tools or Processes during the whole “Product Life Cycle” and afterwards.
Building Block Enablers are defined as technical solutions, which are not executed within the car during runtime. Building Block Enablers support the development, deployment, quality assurance and other areas of the product without being part of the product itself.
Building Block Definitions meant joint procedures, rules, standards and other definitions, which did not fall into Building Blocks or Enablers.
All the above-mentioned examples of Building Blocks can be combined into groups to enable a simplified representation at different abstraction levels. To classify and separate this kind of Building Blocks different tags for Building Blocks were introduced to classify them, additionally different Areas were defined to differentiate where a Building Block be localized. With these definitions it’s still not possible without ambiguity where a BB is executed or in which target environment. To provide a concept to describe a Building Block in a simple and clear way – a tagging concept was introduced.
Three main types for BB(s) are identified above. This (Three) type(s) classifies a BB as:
- Executable/library (Stack/Software Components)
- Tool (Engineering/Support Tools)
- or support documents (Standards, Specifications, Shared Data Models, Rules, EU or NationalRegulations, …) which are relevant for the BB.
A further differentiation was made with respect to the Area (localisation) where the Building Block exists:
- In-Vehicle or On-Board Building Blocks
- Cloud or Off-Board Building Blocks
A BB can be used in several Areas (see the definition Building Block Area(s) below for detailed description of the different Areas.) in parallel and be used at different points in time of SDV life cycle. The considerations above resulted in the following tagging concept.