Header Image
UserElementType : Public Class UserAttributes, RequirementsOrganization
UserElementType defines a certain set of user attributes, i.e. it states that all Identifiables of a certain kind (c.f. the validFor attribute) may be provided with a user attribute value of some datatype. For example, it can be specified that all AnalysisFunctionPrototypes may be amended with an attribute "Status".<br/><br/>The name of a UserElementType should be used in editing tools as a label for the input field representing the user attribute and its description should be presented to the user to explain the meaning of this user attribute.<br/><br/>Semantics:<br/>UserElementType represents a user defined type of the specified EAST-ADL or AUTOSAR metaclass.<br/><br/>Constraints:<br/>[1] The short names of all UserAttributeDefinitions (i.e. value of attribute "shortName" in UserAttributeDefinition, which is inherited from meta-class Referrable) referred to by association "uaDefinition" must be unique within this UserElementType. In other words, no two UserAttributeDefinitions referred to by association "uaDefinition" must have the same short name.<br/><br/>Extension:<br/>Class<br/>
  • Attributes
  • Associations
  • Associations From
  • Advanced
  • Other Links
Attribute Scope Type
key Public String
Notes: The globally unique identifier of the user element type. Any string may be used as key as long as it is globally unique.<br/><br/>However, there is a recommended procedure for building globally unique keys for user attributes, similar to package naming conventions in the Java programming language:<br/><br/>(1) use an internet domain name which is sufficiently specific so that you have control over who will use it for user attribute key generation (e.g. "")<br/><br/>(2) reverse it as in Java package names (e.g. "com.myCompany.myDepartment")<br/><br/>(3) optionally append additional, dot-separated names for the specific context in which the user attribute is to be used (e.g. "myProject" which results in "com.myCompany.myDepartment.myProject")<br/><br/>(4) add a last segment that names the user element type and is sufficiently descriptive to explain its purpose (e.g. "MyPort").<br/><br/>In this example, the key of our status attribute would be "com.myCompany.myDepartment.myProject.MyPort".<br/><br/>In general, the last segment of the key, i.e. everything following the last dot, should be sufficient to identify the attribute in its usual, most specific context of use. Therefore, implementations may use this last segment as an abbreviated name of the user attribute, e.g. for presenting it in a GUI. But note that the name of the UserElementType should usually be used (if defined).<br/>
validFor Public String
Notes: Comma-separated list of metaclass names this user element type is applicable to. If undefined, then this type is applicable to all subclasses of metaclass Identifiable. White-space may appear before and after metaclass names and commas.<br/><br/>Example: If UserElementType 'MyFunction' has its validFor attribute set to "FunctionalDevice, LocalDeviceManager", then the contained UserAttributeDefinitions are only applicable to functional devices and local device managers, i.e. only instances of FunctionalDevice and LocalDeviceManager may be adorned with the 'MyFunction' user element type.<br/>
Element Source Role Target Role
Name: requirementType
User element types contained in this RequirementModel. This allows for the introduction of additional user element types to be used within this RequirementsModel only. These are additional in that they are used in addition to the user attribute definitions which are provided globally for the entire EAST-ADL repository. These user element types given by this association correspond to ReqIF's SpecType.
Element Source Role Target Role
Name: uaType
The custom type(s) of this element.
Name: uaDefinition
The definitions of user attributes for this UserElementType.
Property Value
isFinalSpecialization: 0
Object Type Connection Direction Notes
EAPackageableElement Class Generalization To  
RequirementsModel Class Strong To  
UserAttributeDefinition Class Strong From