Overview

This document specifies what is and how should look used withProject Architecture (Arhitecture) Swart Service (Service).
Architecture describes topology and componentwise organization of the client’s project. The client is obligate to provide Architecture and to follow the
rules how to define it explained in this document, if he wants to use Service.
There are two ways how components are treated: as regular sw component and as layer. is component that holds other sw components and itLayer
is used for structuring components organization. Component is treated as layer if:

  • property has no value – component is in root
  • has values for properties layer and layerorder

Undefined Software Component is used to store objects that do not belong to any specified component. It must be treated as regular component and
included in a component list. Using component’s properties client can specify in which Layer to put the component.
Undefined Ram Space Component is used to store Ram space that do not belong to any specified component. It must be treated as regular
component and included in a component list. Using component’s properties client can specify in which Layer to put the component.
Undefined Rom Space Component is used to store Rom space that do not belong to any specified component. It must be treated as regular
component and included in a component list. Using component’s properties client can specify in which Layer to put the component.

General Architecture rules

  • Architecture should contain only component relative data and nothing else
  • Architecture should be encoded with settings UTF8
  • Every component should be in a separate row
  • There should be no empty space between rows
  • Architecture should be saved as text file (for example: .txt on Windows OS)
  • Component Undefined Software Component must be included in a components list
  • Component must be included in a component listUndefined Ram Space Component
  • Component must be included in a component list

Component rules

  • Every component must contain following fields (next to them is a field’s value requirement type):
    • name – mandatory
    • apiprefix – mandatory
    • shortname – mandatory
    • layer – optional
    • layerorder – optional
    • rambudget – optional
    • rombudget – optional
    • asillevel – optional
  • If component’s property is optional but with no value insert “” (empty string) as value
  • Between properties should be always separator character (client can define one)
  • Separator can not be a letter or a number
  • If the separator character is not specified, empty space “ “ will be used as separator
  • Every property value must be quotation markenclosed with
  • Undefined Software Component must contain name “N_SWC” and shortname “UNDEFINED SOFTWARE COMPONENT”, all other
    properties except layer and layerorder will be ignored
  • Undefined Ram Space Component must contain name “N_RAM” and shortname “UNDEFINED RAM SPACE”, all other properties except
    layer and layerorder will be ignored
  • Undefined Rom Space Component must contain name “N_ROM” and shortname “UNDEFINED ROM SPACE”, all other properties except
    layer and layerorder will be ignored
  • If component have additional fields, that fields will be treated as user defined properties

Component’s properties

name – defines a component’s name
apiprefix – collection of API prefixes used for matching source files to components
shortname – represents a component’s name description
layer – component’s parent component
layerorder – current position of a component in parent scope. Used in visualization process
rambudget – Ram budget of a component in bytes
rombudget – Rom budget of a component in bytes
asillevel – Safety Asil level of a component
user defined – any other property defined by user. Ignored by default Service actions

Properties Rules

name:

  • only letters, numbers and underscore (underline) char allowed
  • one word
  • “HW”, “SW”, “N_SWC”, “N_RAM” and “N_ROM” are reserved words

apiprefix:

  • every api prefix rule must be ended with “;” char
  • used to match source files
  • no limit in number of api prefixes rules
  • every apiprefix rule must have at least 3 characters

shortname:

  • only letters, numbers, space and underscore allowed for characters

layer:

  • component with given name must be defined in Architecture
  • if there is no value that component will be treated as root layer component

layerorder:

  • only numbers allowed
  • should start from 0 as first child in parent component’s
  • incremented value

rambudget:

  • only numbers allowed

rombudget:

  • only numbers allowed

asillevel:

  • predefined values. Possible values to use: QM, A, B, C, D.

user defined:

  • can contain any data
  • ignored by default Service actions
  • can be used with Service custom plugins

Example

name=”SW” apiprefix="" shortname="" layer="" layerorder="" rambudget="" rombudget="" asillevel=""
name=”RTE” apiprefix="rte_;schm_;" shortname="RUNTIME ENVIRONMENT" layer="SW" layerorder="0" rambudget="
25000" rombudget="125000" asillevel="QM"
name=”APPL” apiprefix="" shortname="" layer="SW" layerorder="1" rambudget="" rombudget="" asillevel=""
name=”MCURESOURCEMONITOR” apiprefix="appswc_rm;" shortname="MCURESOURCEMONITOR" layer="APPL" layerorder=""
rambudget="0" rombudget="0" asillevel="QM"
name=”N_SWC” apiprefix=”” shortname=”UNDEFINED SOFTWARE COMPONENT” layerorder=”” rambudget=”” rombudget=””
asillevel=””
name="OS" apiprefix="os.*;" shortname="OS" layer="SYSTEMSERVICES" layerorder="" rambudget="0" rombudget="0"
asillevel="B"
name="N_RAM" apiprefix="" shortname="UNDEFINED RAM SPACE" layer="APPL" layerorder="" rambudget=""
rombudget="" asillevel=""
name="N_ROM" apiprefix="" shortname="UNDEFINED ROM SPACE" layer="APPL" layerorder="" rambudget=""
rombudget="" asillevel=""
Go to Top