Skip to content

About

support AUTOSAR model with python

Topics

Resources

Contributing

Stars

17 stars

Watchers

3 watching

Forks

Repository files navigation

1. py-armodel

1.1. Purpose

To support AUTOSAR model with python

1.2. Reference Documents

  1. AUTOSAR_TPS_XMLSchemaProductionRules.pdf
  2. AUTOSAR_TPS_ARXMLSerializationRules.pdf
Version Documentation Travis CI Coverage Status Pypi
GitHub version Documentation Status Coverage Status PyPI version

Full documentation: https://py-armodel.readthedocs.io/en/latest/

1.3. How to create the distribution and upload to pypi

  1. Run python -m build to generate distribution (requires pip install build)
  2. Run twine check dist/* to check the validation of distribution
  3. Run twine upload dist/* to upload to pypi repository
  4. Check the website https://pypi.org/project/armodel/ to find out it works or not

And more details can be found at https://packaging.python.org/

1.4. How to perform Tests

Quick Start (Recommended)

Use the test runner script for colored output and comprehensive testing:

# Run all tests (unit + integration)
python scripts/run_tests.py

# Run only unit tests
python scripts/run_tests.py --unit

# Run only integration tests
python scripts/run_tests.py --integration

# Run with coverage reports
python scripts/run_tests.py --coverage

# Verbose output
python scripts/run_tests.py --verbose

Using pytest Directly

  • Run pip install pytest pytest-cov to install pytest
  • Run pytest --cov=armodel --cov-report term-missing to verify all the functionality
  • Run pytest tests/test_armodel/ to run only unit tests
  • Run pytest tests/integration_tests/ -s to run integration tests with progress output

1.5. Integration Tests

The project includes a comprehensive integration test suite that validates round-trip parsing and writing of ARXML files.

Purpose

Integration tests verify the complete parse → write → re-parse → compare cycle to ensure data integrity through the full workflow.

Test Coverage

  • 29 ARXML files tested from test_files/ directory
  • Round-trip validation: Parse → Write → Re-parse → Compare
  • AUTOSAR version detection: Auto-detects from 4.0.3 to R24-11
  • Extensible: Add custom directories via config.yaml

Running Integration Tests

# Using the test runner (recommended)
python scripts/run_tests.py --integration

# Using pytest directly with progress output
pytest tests/integration_tests/ -s

# Run specific file categories
pytest tests/integration_tests/ -k "datatypes"
pytest tests/integration_tests/ -k "bsw"
pytest tests/integration_tests/ -k "production"

Adding Custom Test Files

Edit tests/integration_tests/config.yaml:

additional_directories:
  - path: "/path/to/your/project/arxml"
    category: "production"
    recursive: true

exclude_patterns:
  - "*/temp/*.arxml"
  - "*/backup/*.arxml"

For more details, see tests/integration_tests/README.md.

1.6. Usage Guidelines

Basic Usage

from armodel.models import AUTOSAR
from armodel.parser.arxml_parser import ARXMLParser
from armodel.writer.arxml_writer import ARXMLWriter

# Set AUTOSAR version before parsing/writing
AUTOSAR.setARRelease("R23-11")

# Parse ARXML file
parser = ARXMLParser()
document = AUTOSAR.getInstance()
document.clear()
parser.load("input.arxml", document)

# Access the model
packages = document.getARPackages()
for pkg in packages:
    print(f"Package: {pkg.getShortName()}")

# Write to ARXML file
writer = ARXMLWriter()
writer.save("output.arxml", document)

XSD Validation

ARXML files are validated against the bundled AUTOSAR XSD schemas (R23-11, R4.4.0, R4.3.1, R3.2.3) before parsing and before saving. The schema is selected from the document's xsi:schemaLocation; documents whose schema is not bundled (or whose namespace does not match the bundled schema) are processed without validation (a warning is logged). Validation failures are reported one error line per violation; in strict mode the load/save then aborts with a ValueError.

from armodel.parser.arxml_parser import ARXMLParser
from armodel.writer.arxml_writer import ARXMLWriter

parser = ARXMLParser()                              # invalid file -> ValueError with per-error log lines
parser = ARXMLParser(options={"warning": True})     # log schema errors as warnings, parse anyway
parser = ARXMLParser(options={"validate": False})   # disable validation entirely

writer = ARXMLWriter(options={"validate": False})   # same option on save()

To validate against a schema that is not bundled, register it before loading:

from armodel.validation import ARXMLValidator

ARXMLValidator.register_schema_file("AUTOSAR_00050.xsd", "/path/to/AUTOSAR_00050.xsd")

Known limitations: on schema-gated releases (R23-11, R4.4.0, R4.3.1, R3.2.3) save() now raises ValueError when the generated document is schema-invalid — a small set of known writer defects (inventory and burn-down: docs/plan/xsd-validation-known-writer-defects.md) can surface this way; pass options={"validate": False} if you need to save anyway. Saving documents whose schema is not bundled logs a "No XSD schema found ... validation skipped" warning on every save.

Best Practices

  1. Always set AUTOSAR version before parsing or writing:

    AUTOSAR.setARRelease("R23-11")  # Required
  2. Reset singleton between operations:

    AUTOSAR.getInstance().clear()  # or AUTOSAR.new()
  3. Use warning mode for development:

    parser = ARXMLParser(options={"warning": True})
  4. Find elements by short name:

    component = autosar.findAtomicSwComponentType("MyComponent")
    if component is not None:
        behavior = autosar.getBehavior(component)

Common Workflows

Load and Inspect ARXML

AUTOSAR.setARRelease("R23-11")
parser = ARXMLParser()
doc = AUTOSAR.getInstance()
doc.clear()
parser.load("file.arxml", doc)

# List all software components
components = doc.getAtomicSwComponentTypes()
for comp in components:
    print(f"{comp.getShortName()}: {comp.__class__.__name__}")

Modify and Save ARXML

# Load existing file
parser.load("input.arxml", doc)

# Find and modify a component
comp = doc.findAtomicSwComponentType("MyComponent")
if comp:
    comp.setShortName("NewComponentName")

# Save changes
writer.save("output.arxml", doc)

1.7. How to create a distribution and wheel

  • Run python -m build to build both source and wheel distributions
  • Run python -m build --sdist to build only source distribution
  • Run python -m build --wheel to build only wheel distribution

1.8. How to create the document

  1. Run pip install sphinx to install the necessary document

1.9. Heritage

   ARObject (6.1)                                                                                                                                   
   └── Referrable (4.x)                                                                                                                             
       └── MultilanguageReferrable (4.x)                                                                                                            
           └── Identifiable (4.x)                                                                                                                   
               ├── CollectableElement (13.3)                                                                                                        
               │   ├── ARPackage (4.1)  [+ AtpBlueprint, AtpBlueprintable mixins]                                                                   
               │   └── PackageableElement (4.2)                                                                                                     
               │       └── ARElement (4.3)                                                                                                          
               │           └── Collection (13.1)                                                                                                    
               ├── AtpBlueprint (C.12)                                                                                                              
               └── AtpBlueprintable (C.14)                                                                                                          
- ARObject
  - Referrable
    - MultilanguageReferrable
      - Identifiable
        - PackageableElement
          - ARElement
            - AtpType
              - AutosarDataType
              - PortInterface
                - DataInterface
                  - NvDataInterface
                  - ParameterInterface
                  - SenderReceiverInterface
            - BswModuleEntry
            - EndToEndProtectionSet
          - Implementation
            - BswImplementation
        - AtpFeature
          - AtpPrototype
            - AtpPrototype
              - DataPrototype
                - AutosarDataPrototype
                  - VariableDataPrototype
                - ApplicationCompositeElementDataPrototype
                  - ApplicationArrayElement
                  - ApplicationRecordElement
          - AtpStructureElement
            - BswModuleDescription
        - ExecutableEntity
        - SwcBswMapping
        - PortPrototype
          - AbstractProvidedPortPrototype
            - PPortPrototype
          - AbstractRequiredPortPrototype
            - RPortPrototype
  - ValueSpecification
    - ConstantReference

1.10. CLI usages

1.10.1. arxml-dump

Dump all the arxml data to screen

arxml-dump --arxml arg -h

--arxml arg The file name of arxml data -h show the help information

1.10.1.1. arxml-dump usage

Dump the arxml data from test1.arxml and test2.arxml

$arxml-dump --arxml test1.arxml --arxml test2.arxml

1.10.2. arxml-swc

List all the SwComponentType in the autosar model

usage: swc-list [-h] [-v] [-f FORMAT] [--filter FILTER] Input [Input ...]

-h, --help show the help message and exit -v, --verbose Print debug information -f FORMAT, --format FORMAT Specify the short or long name of Sw-C. short : only print the short name of SWComponentType long : print the SWComponentType with ARPackage names --filter FILTER Set the filter condition. CompositionSwComponent : Print the CompositionSwComponent only.

1.10.2.1. List all the SW-Components in the specific path

$arxml-swc <arxml_folder>

1.10.2.2. List all the CompositionSwComponent with the long name

$arxml-swc --format long --filter CompositionSwComponent <arxml_folder> 

1.10.3. connector2xlsx

Export all the SwConnector (AssemblySwConnector, DelegationSwConnector) to excel file

$connector2xlsx src/armodel/tests/test_files/SoftwareComponents.arxml data/SoftwareComponents.xlsx

1.10.4. connector-update

Update all the SwConnector (AssemblySwConnector, DelegationSwConnector) from excel file

$connector-update src/armodel/tests/test_files/SoftwareComponents.arxml data/SoftwareComponents.xlsx data/Test.arxml

1.10.5. os-ecuc-export

Export the semantic OS configuration from an ECUC ARXML file to YAML or Excel.

The output format is selected from the output filename extension. The --format option is not used.

os-ecuc-export [-h] [-v] [-w] INPUT [INPUT ...] OUTPUT
  • .yaml or .yml: export YAML
  • .xlsx: export an Excel workbook
  • -v, --verbose: print debug information
  • -w, --warning: report unresolved references as warnings instead of raising errors

Use the integration OS ECUC fixture from the repository root:

os-ecuc-export tests/integration_tests/test_files/Os_ECUC.arxml build/os_config.yaml
os-ecuc-export tests/integration_tests/test_files/Os_ECUC.arxml build/os_config.xlsx

The generated semantic configuration contains OsApplication and OsTask sections. For Os_ECUC.arxml, the YAML export contains the OsApplication_QM application and the tasks Init_Task, Rte_Event_Task, Rte_Time_Task, and SchMDiagStateTask_20ms. Task and application references are exported by semantic name where the parser resolves them; other ECUC references remain normalized ECUC paths such as /Os/Os/OSDEFAULTAPPMODE.

For a file containing unresolved standard references, use warning mode:

os-ecuc-export -w input/Os_ECUC.arxml build/os_config.yaml

Unsupported output extensions, such as .json, are rejected. See the detailed OS ECUC export guide for the complete exported field list and example output. YAML omits fields whose values are null or empty lists; Excel keeps the complete column set.

1.11. API

1.11.1. Constructor

  ARXMLParser(options={"warning": True})

1.12. Change notes:

Version 1.9.8

  • Synced the remaining Group19–Group22 queue classes to the AUTOSAR R23-11 spec: 35 classes, including the 12-class SdgDef family (new SpecialDataDef module) and the new ModelRestrictionTypes module (FullBindingTimeEnum, AbstractValueRestriction, AbstractVariationRestriction), EvaluatedVariantSet, EEnumFont/EEnum (rehoused to InlineAttributeEnums), and 14 PrimitiveTypes literal classes; SymbolString gained its table's blueprintValue/namePattern attributes (PR #871)
  • Added SDG-DEF and EVALUATED-VARIANT-SET parser/writer coverage with ARPackage dispatch (createSdgDef, createEvaluatedVariantSet)
  • Flipped already-verified Group19–Group22 queue rows via the already-verified short-circuit rule; replaced fabricated docstrings on RegularExpression, UriString and ReferrableSubtypesEnum with the verbatim spec Notes
  • Retyped EcucUriReferenceDef.destinationUriRef and EcucContainerDef.destinationUriRefs to RefType (the EcucDestinationUriDefRefType phantom arbitration)
  • Completed the Group1–Group12 sync queue (491 classes) against the AUTOSAR R23-11 spec: framework and ARPackage classes (ReferenceBase, MultilanguageReferrable, Identifiable, ShortNameFragment), SWC components, port prototypes/interfaces and the full ComSpec family, RTE events, server call and mode access points, BSW behavior policies
  • Synced the MSR data-model families: constants and value specifications, computation methods (CompuConst family, CompuGenericMath), data constraints, record layouts, calibration classes (Prms/GeneralParameter family, SwCalprmAxisSet, SwRecordLayout), MSR query chapters and the documentation text model (LParagraph/SlParagraph, MixedContent* carriers, OASIS tables, figures, lists)
  • Synced the variation-point family (VariationPoint, attribute-value variation points, PostBuildVariantCondition/Criterion/CriterionValue, SwSystemconstValue, ConditionByFormula, FormulaExpression) and timing classes (OffsetTimingConstraint, SynchronizationTimingConstraint, TimingDescriptionEventChain, MultidimensionalTime, TDEventVfb); retired the fabricated ConcreteTDEventVfb subclass and moved direct-use support onto TDEventVfb (PRs #806, #823, #827, #841)
  • Synced the instance-reference families (composition, atomic SWC, system and ECU instance refs) and the mapping-set family (DataTypeMappingSet, PortInterfaceMappingSet, ModeDeclarationMappingSet, InterpolationRoutineMappingSet, SwcBswMapping) (PRs #818, #856, #860, #862, #869)
  • Synced the system/communication families: network management (NmConfig, NmCluster family), Ethernet topology and TCP/IP props, frames and PDUs, NvBlock cluster, End-to-End protection, transformer (SOMEIP/TLV), diagnostics (Dcm family, DiagnosticServiceInstance), DLT/Log-and-Trace, DoIP, secure communication (TLS/crypto services, FirewallRule, CryptoKeySlot), blueprints, feature model, hardware resources and life cycles
  • Unified the atpMixedString stereotype handling: interface-level AtpMixedString mixin redesign with the new StereotypeMixins module and MixedContentForUnitNames; merged ARNumerical into Numerical (PRs #785, #798, #808, #823)
  • Retyped VariableAccess.scope to the new VariableAccessScopeEnum and completed Group12 (ParameterAccess gained its table's swDataDefProps); fixed xml:space and VARIATION-POINT round-trip losses (PRs #812, #816, #841, #856)
  • Bumped project version metadata to 1.9.8

Version 1.9.7

  • Synced EcuInstance TCP/IP stack props classes to AUTOSAR R23-11 spec: TcpProps (Table 3.111), UdpProps (Table 3.110), EthTcpIpProps (Table 3.109), TcpIpIcmpv4Props (Table 3.113), TcpIpIcmpv6Props (Table 3.114) with parser/writer coverage and ARPackage dispatch for EthTcpIpProps (PR #746)
  • Corrected Group5 sync queue row statuses (deferred-9b classes remain unchecked until batch stamp confirmation)
  • Bumped project version metadata to 1.9.7

Version 1.9.6

  • Synced Group5 ServiceNeeds classes to R23-11 spec and renamed Ecuc RefType members (PR #739)

Version 1.9.5

  • Added VariationPointCapable mixin; Identifiable reverted to spec (PR #714)

Version 1.9.4

  • Synced SWC template classes to AUTOSAR R23-11 spec: AtomicSwComponentType, SwcServiceDependency, RunnableEntity, WaitPoint, ExternalTriggeringPoint, ConsistencyNeeds, RunnableEntityGroup, Chapter, PortPrototype annotations
  • Synced ECUC template classes to AUTOSAR R23-11 spec: ECUCParameterDefTemplate, EcucParameterDef, EcucStringParamDef, EcucFunctionNameDef, EcucReferenceDef, EcucDestinationUriPolicy, EcucDerivation, EcucQuery, EcucConditionFormula, doc block element classes, ModeInBswModuleDescriptionInstanceRef
  • Synced MSR text/data model classes: TextModel, SwDataDefProps (full spec verification), SignalServiceTranslation, NumericalOrText
  • Synced System/Network classes: Pdu, FibexElement, PackageableElement, ISignal and Communication specs, NmNode, J1939NmNode, ObdControlServiceNeeds
  • Synced ImplementationDataType (Table D.37), DataPrototypeGroup, InstanceRefs, ServiceNeeds/ServiceMapping, ClientServerInterface accessors, AtpBlueprint, BaseTypes, Composition instance refs, InstantiationRTEEventProps
  • Added ShortNameFragment read/write support
  • Added ExecutableEntityActivationReason support
  • Added sync-autosar-class agent skill and AUTOSAR spec PDF reorganization
  • Achieved full model test parity and fixed source import paths
  • Bumped project version metadata to 1.9.4

Version 1.9.3

  • Added parse/write support for NvDataInterface (PR #485)
  • Added --unescape-entities parameter to arxml-format CLI to normalize &quot; / &apos; entities in attribute values (PR #495)
  • Bumped project version metadata to 1.9.3

Version 1.9.2

  • Added parse/write support for PREDEFINED-VARIANT and related reference lists under variant handling (PR #481)
  • Added PredefinedVariant model reference and suffix APIs

Version 1.9.1

  • Added SW-SYSTEMCONSTANT-VALUE-SET ARXML input/output support (PR #479)
  • Added ARPackage APIs and tests for system constant value sets

Version 1.9.0

  1. Testing Infrastructure

    • Add comprehensive integration test suite with round-trip validation
    • Add test runner script (scripts/run_tests.py) with colored output
    • Add pytest configuration (pytest.ini) with custom markers
    • Support 2205+ unit tests and 29 integration test files
    • Add coverage reporting (HTML and terminal)
  2. Integration Tests

    • Round-trip testing: Parse → Write → Re-parse → Compare
    • Tests all 29 ARXML files in test_files/ directory
    • Auto-detects AUTOSAR version from XSD schema (4.0.3 to R24-11)
    • Verbose progress tracking with step-by-step feedback
    • Extensible configuration via YAML for additional test directories
  3. Documentation

    • Add integration test design document
    • Add integration test README with usage examples
    • Update CLAUDE.md with test runner documentation
  4. Developer Experience

    • Unified test runner for both unit and integration tests
    • Colored console output (success/failure/warning)
    • Test summary with pass/fail/skip statistics
    • Support for category-based test selection

Version 0.1.1

Add the ARRAY category support for ImplementationDataType

Version 0.1.2

Add the AsynchronousServerCallPoint support for ARXML

Version 0.1.3

Fix the attribute intervalType of Limit is empty issue.

Version 1.0.0

  1. Add the logging support
  2. Add the option to disable exception raised.
  3. Add the BswMD support

Version 1.1.0

  1. Add the InitEvent support. (Issue #5)
  2. Add the DataReceiveEvent support. (Issue #5)
  3. Add the SwcModeSwitchEvent support. (Issue #5)

Version 1.2.0

  1. Add the SwcImplementation support (Issue #9)
  2. Add the integer value for memory section alignment (Issue #9)
  3. Remove the required attributes for the Implementation according to the AUTOSAR standard 23R-11. (Issue #9)
  4. Change the START-ON-EVENT-REF to optional according to the AUTOSAR standard 23R-11. (Issue #9)
  5. Change the HANDLE-OUT-OF-RANGE to optional according to the AUTOSAR standard 23R-11. (Issue #9)
  6. Add the SensorActuatorSwComponentType support (Issue #9)
  7. Change the CATEGORY of COMPU-METHOD to optional.
  8. Change the CAN-BE-INVOKED-CONCURRENTLY to optional.

Version 1.3.0

  1. List all the SwComponentType (Issue #11)
  2. Support to parse the DelegationSwConnector (Issue #12)
  3. Correct the class definitions of PPortInCompositionInstanceRef and RPortInCompositionInstanceRef. (Issue #12)

Version 1.4.0

  1. Support to write the AUTOSAR model to arxml file (Issue #17)
    • ARPackage
    • CompositionSwComponent
    • CompuMethod
    • DataConstr
    • Unit
  2. Support to read the AUTOSAR model from arxml file (Issue #17)
    • ConstantSpecification
    • DataConstr
    • Unit

Version 1.4.1

  1. Support to read the AUTOSAR model from arxml file (Issue #19)
    • ServerComSpec
    • PerInstanceMemory
    • PortDefinedArgumentValue
    • DataWriteAccesses
    • NvBlockNeeds
    • CompositeNetworkRepresentation
    • PortGroup
  2. Support to write the AUTOSAR model to arxml file (Issue #19)
    • ServerComSpec
    • PerInstanceMemory
    • ServerCallPoint
    • ReadLocalVariable
    • WrittenLocalVariable
    • PortDefinedArgumentValue
    • RVariableInAtomicSwcInstanceRef
    • DataWriteAccesses
    • NvBlockNeeds
    • RecordValueSpecification
    • CompositeNetworkRepresentation
    • PortGroup
  3. Move the ARPackage from the Elements.

Version 1.4.2

  1. Support to read the AUTOSAR model from arxml file (Issue #23)
    • EndToEndProtectionSet
    • EndToEndProtection
    • EndToEndProtectionVariablePrototype
    • EndToEndDescription
    • ApplicationArrayDataType
    • SwRecordLayout
    • SwCalprmAxisSet
    • SwCalprmAxis
    • ApplicationArrayElement
    • ApplicationArrayDataType
    • SwRecordLayoutGroup
    • SwRecordLayoutGroupContent
  2. Support to write the AUTOSAR model to arxml file (Issue #23)
    • EndToEndProtectionSet
    • EndToEndProtection
    • EndToEndProtectionVariablePrototype
    • EndToEndDescription
    • ApplicationArrayDataType
    • SwRecordLayout
    • SwCalprmAxisSet
    • SwCalprmAxis
    • ApplicationArrayElement
    • ApplicationArrayDataType
    • SwRecordLayoutGroup
    • SwRecordLayoutGroupContent
    • ImplementationDataType

Version 1.4.3

  1. Support to write the AUTOSAR model to arxml file (Issue #25)
    • BswCalledEntity
    • BswSchedulableEntity
    • BswImplementation
    • ServiceSwComponentType
    • DataTypeMappingSet
    • ModeRequestTypeMap
    • PortInterface
    • ModeInterface
  2. Support ot read the AUTOSAR model to arxml file (Issue #25)
    • ServiceSwComponentType
    • ModeRequestTypeMap
    • PortInterface
    • ModeInterface
  3. Refactor the Base ARType
    • ARFloat
    • ARNumerical
    • ARLiteral
  4. Fix Issue #22 - raise wrong Exception: Invalid ResourceConsumption of Implementation

Version 1.5.0

  1. Fix the old ARElement (Issue #27)
    • InitEvent
    • SwcTiming
    • ConstantMemory
    • ModeSwitchReceiverComSpec
    • MODE-ACCESS-POINTS
  2. Add the timestamp to following ARElement (Issue #27)
    • AUTOSAR-VARIABLE-IREF
    • MODE-REQUEST-TYPE-MAP
  3. Timing Extension (Issue #27)
    • TIMING-REQUIREMENTS
    • EXECUTION-ORDER-CONSTRAINT
    • EOC-EXECUTABLE-ENTITY-REF
  4. Communication (Issue #27)
    • LIN-CLUSTER
    • NM-PDU
    • LIN-UNCONDITIONAL-FRAME
    • CAN-FRAME
    • GATEWAY
    • I-SIGNAL

Version 1.6.0

  1. Add the annotation support for the Identifiable class. (Issue #29)
  2. Ecuc (Issue #29)
    • EcucValueCollection
    • EcucModuleConfigurationValues
    • EcucContainerValue
    • EcucParameterValue
    • EcucAbstractReferenceValue
  3. To support the following AR Element:
    • I-SIGNAL-GROUP
    • I-SIGNAL-I-PDU-GROUP
    • NM-CONFIG
    • NM-NODE
    • NM-CLUSTER
    • CAN-NM-MODE
    • NM-ECU
    • SECURED-I-PDU
    • MODE-SWITCH-POINTS
  4. Create the CLI (armodel-system-signal) to list all the system signals

Version 1.6.1

  1. Organize the armodel package.
  2. Add the Get/Set method for several class.

Version 1.6.2

  1. Change the AUTOSAR.clear() to AUTOSAR.new().
  2. Fix the several refactor methods issue.

Version 1.6.3

  1. Change the Package structure according to AUTOSAR standard.

Version 1.6.4

  1. Refactor the Implementation.
  2. Fix the Binary value
  3. Refactor the SwComponentType.

Version 1.7.0

  1. To support the following AR Element:
    • SWC-TO-ECU-MAPPING
    • SW-MAPPINGS
    • ROOT-SOFTWARE-COMPOSITIONS
    • SPEED
    • ECU-INSTANCE
    • COMM-CONTROLLERS
    • CAN-COMMUNICATION-CONNECTOR
    • I-PDU-TIMING
    • DATA-FILTER
    • EVENT-CONTROLLED-TIMING

Version 1.7.1

  1. To support the following AR Element:
    • INTRODUCTION
    • LIST
    • SW-INTENDED-RESOLUTION
    • REFERENCE-BASE

Version 1.7.2

  1. Fix the invalidationPolicy of SenderReceiverInterface cannot be written in ARXML
  2. To support the following AR Element:
    • SW-ADDR-METHOD
    • DIAGNOSTIC-COMMUNICATION-MANAGER-NEEDS
    • DIAGNOSTIC-ROUTINE-NEEDS
    • DIAGNOSTIC-VALUE-NEEDS
    • DIAGNOSTIC-EVENT-NEEDS
    • CRYPTO-SERVICE-NEEDS
    • DIAG-EVENT-DEBOUNCE-MONITOR-INTERNAL
    • ROLE-BASED-DATA-TYPE-ASSIGNMENT
    • ASYNCHRONOUS-SERVER-CALL-RETURNS-EVENT
    • PR-PORT-PROTOTYPE

Version 1.7.3

  1. To support the following AR Element:
    • MEM-CLASS-SYMBOL
    • ASYNCHRONOUS-SERVER-CALL-RESULT-POINTS
    • STEP-SIZE
    • BSW-INTERRUPT-ENTITY
    • FLAT-MAP
    • VARIABLE-AND-PARAMETER-INTERFACE-MAPPING
    • PORT-INTERFACE-MAPPING-SET
    • DATA-MAPPINGS
    • ECU-STATE-MGR-USER-NEEDS
    • STACK-USAGES
    • ROUGH-ESTIMATE-STACK-USAGE
  2. To improve the following AR Element:
    • PARAMETER-INTERFACE

Version 1.7.4

  1. To support the following AR Element:
    • DIAGNOSTIC-EVENT-INFO-NEEDS
    • AR-TYPED-PER-INSTANCE-MEMORYS
    • USED-DATA-ELEMENT
    • ETHERNET-COMMUNICATION-CONTROLLER
    • ETHERNET-COMMUNICATION-CONNECTOR
    • ETHERNET-PHYSICAL-CHANNEL
    • PHYSICAL-PROPS
    • SO-AD-CONFIG
  2. To improve the following AR Element:
    • MODE-SWITCH-RECEIVER-COM-SPEC
    • APPLICATION-ARRAY-DATA-TYPE

Version 1.7.5

  1. To support the following AR Element:
    • DIAGNOSTIC-CONNECTION
    • DIAGNOSTIC-SERVICE-TABLE
    • LIN-MASTER
    • LIN-COMMUNICATION-CONNECTOR
    • UDP-NM-CLUSTER
    • UDP-NM-NODE
    • MULTIPLEXED-I-PDU
    • USER-DEFINED-I-PDU
    • USER-DEFINED-PDU
    • GENERAL-PURPOSE-I-PDU
    • GENERAL-PURPOSE-PDU
    • SECURE-COMMUNICATION-PROPS-SET
    • SO-AD-ROUTING-GROUP
    • BUS-OFF-RECOVERY
    • SCHEDULE-TABLES
    • INFRASTRUCTURE-SERVICES
    • GENERIC-TP
    • TCP-TP
    • UDP-TP
    • CONSUMED-SERVICE-INSTANCES
  2. Fix the following AR Element
    • SW-RECORD-LAYOUT-V-AXIS
    • SW-RECORD-LAYOUT-GROUP-AXIS
  3. Improve the following AR Element
    • SOCKET-CONNECTION
    • SOCKET-ADDRESS

Version 1.7.6

  1. To support the following AR Element:
    • PROVIDED-SERVICE-INSTANCE
    • MAC-MULTICAST-GROUP
    • ASSOCIATED-COM-I-PDU-GROUP-REF
    • CAN-CONTROLLER-CONFIGURATION-REQUIREMENTS
    • CAN-CONTROLLER-FD-REQUIREMENTS
  2. Improve the following AR Element
    • AR-PACKAGE
    • LIN-TP-CONFIG
    • DIAGNOSTIC-SERVICE-TABLE
    • LIN-MASTER
    • IMPLEMENTATION-DATA-TYPE
    • ETHERNET-COMMUNICATION-CONTROLLER
    • I-SIGNAL-PORT
    • SYMBOL-PROPS
    • I-PDU-PORT
  3. Fix the following AR Element
    • I-PDU-MAPPING

Version 1.7.7

  1. To support the following AR Element:

    • UDP-NM-CLUSTER
    • UDP-NM-CLUSTER-COUPLING
    • NM-IF-ECUS
    • UDP-NM-ECU
    • TRANSMISSION-MODE-FALSE-TIMING
    • SECURED-I-PDU
    • MULTIPLEXED-I-PDU
    • NM-PDU
    • SECURE-COMMUNICATION-PROPS-SET
    • SO-AD-ROUTING-GROUP
    • ECU-RESOURCE-MAPPINGS
    • SW-IMPL-MAPPINGS
    • CAN-TP-CONFIG
    • DO-IP-TP-CONFIG
    • LIN-TP-CONFIG
    • BSW-BACKGROUND-EVENT
    • BSW-DATA-RECEIVED-EVENT
    • BSW-EXTERNAL-TRIGGER-OCCURRED-EVENT
    • MODE-SWITCHED-ACK-EVENT
    • BACKGROUND-EVENT
  2. Improve the following AR Element

    • ETHERNET-COMMUNICATION-CONNECTOR
    • ECU-INSTANCE
    • CAN-NM-NODE
    • NM-NODE
    • SDG
    • DATA-FILTER
    • USER-DEFINED-PDU
    • APPLICATION-ARRAY-DATA-TYPE
    • MODE-SWITCH-SENDER-COM-SPEC
  3. Access the RootSwCompositionPrototype directly from AUTOSAR instance

  4. Create the mapping for Implementation and InternalBehavior

    • AUTOSAR::getBehavior()
    • AUTOSAR::getImplementation()
  5. Improve the Identifiable::setCategory with Raw String

Version 1.7.8

  1. To support the following AR Element:
    • STATIC-MEMORYS
    • RECEPTION-POLICYS
    • VENDOR-API-INFIX
    • INCLUDED-MODE-DECLARATION-GROUP-SET
    • HW-ELEMENT
    • FLEXRAY-FRAME
    • TYPE-MAPPING
    • DATA-TRANSFORMATION-SET
    • FLEXRAY-COMMUNICATION-CONTROLLER
    • FLEXRAY-COMMUNICATION-CONNECTOR
    • FLEXRAY-PHYSICAL-CHANNEL
    • FLEXRAY-CLUSTER
    • BSW-OPERATION-INVOKED-EVENT
  2. Improve the following AR Element
    • SW-DATA-DEF-PROPS
    • SW-RECORD-LAYOUT-GROUP
    • BSW-MODULE-DESCRIPTION
    • BSW-CALLED-ENTITY
    • BSW-SCHEDULABLE-ENTITY
    • SW-SERVICE-ARG
    • RUNNABLE-ENTITY
    • I-SIGNAL-GROUP
    • END-TO-END-PROTECTION
    • BSW-INTERNAL-TRIGGER-OCCURRED-EVENT
  3. Fix the following AR Element
    • PROVIDED-MODE-GROUPS
    • MANAGED-MODE-GROUPS
  4. Enable the Flake8
    • Fix the Flake8 issues
  5. Add the CompositionSwComponentType in the AUTOSAR root model.
    • AbstractAUTOSAR::getCompositionSwComponentTypes
    • AbstractAUTOSAR::getCompositionSwComponentType
    • AbstractAUTOSAR::addCompositionSwComponentType
  6. Add the duplicate UUID check

Version 1.7.9

  1. To improve the following AR Element
    • BSW-MODULE-DESCRIPTION
    • BSW-INTERNAL-BEHAVIOR
    • LIFE-CYCLE-INFO-SET
    • PHYSICAL-DIMENSION
  2. To support the following AR Element:
    • ACTIVATION-POINTS
    • CALL-POINTS
    • LIFE-CYCLE-INFO
    • COLLECTION
    • KEYWORD-SET
    • FIGURE
    • CLIENT-SERVER-INTERFACE-MAPPING
    • DTC-STATUS-CHANGE-NOTIFICATION-NEEDS
  3. Add the test case for
    • AUTOSAR_MOD_AISpecification_BaseTypes_Standard.arxml
  4. Add the API to set the autosar release version and correct schema will be set.
    • AUTOSAR::setARRelease()
  5. Fix the conversion for float number in scientific notation.

Version 1.8.0

  1. To support the following AR Element:
    • DLT-USER-NEEDS
  2. Improve the UUID check
  3. Improve the find method of class AbstractAUTOSAR to support the validation of dest
  4. Add the findXXX method of class AbstractAUTOSAR
    • findAtomicSwComponentType
    • findSystemSignal
    • findSystemSignalGroup
    • findPort
    • findVariableDataPrototype
    • findImplementationDataType

Version 1.8.1

  1. To support the following AR Element:
    • MODE-DECLARATION-MAPPING-SET
    • MODE-INTERFACE-MAPPING
    • ECUC-MODULE-DEF
    • DOC-REVISION
    • ECUC-PARAM-CONF-CONTAINER-DEF
    • ECUC-BOOLEAN-PARAM-DEF
    • ECUC-STRING-PARAM-DEF
    • ECUC-INTEGER-PARAM-DEF
    • ECUC-FLOAT-PARAM-DEF
    • ECUC-ENUMERATION-PARAM-DEF
  2. Same short name with different type can be added and located.

Version 1.8.2

  1. Fix the AUTOSAR XML schema issue

Version 1.8.3

  1. To support the SHORT-LABEL for VALUE
  2. To Support the following AR Element:
    • MAX-DELTA-COUNTER-INIT
    • MAX-NO-NEW-OR-REPEATED-DATA
    • USER-DEFINED-TRANSFORMATION-COM-SPEC-PROPS
    • MASK

Version 1.8.4

  1. To Support the following AR Element:
    • BSW-SYNCHRONOUS-SERVER-CALL-POINT
    • RETURN-TYPE
  2. Add the armodel-uuid-checker cli.
  3. Remove the space in the boolean type.

Version 1.8.5

  1. Reorganize the SwConnector class.
  2. Raise the error if the short name of rootSwCompositionPrototype.
  3. To support the following AR Element:
    • NvProvideComSpec
  4. Fix the duplicate short name of ARPackage and Other ARElements.

Version 1.8.6

  1. To support the following AR Element:
    • NvProvideComSpec
    • NvRequireComSpec
  2. To improve the following AR Element:
    • ParameterAccess

Version 1.8.7

  1. Correct the base class of the BswEvent.
  2. Export the RunnableEntity class.
  3. Add the more class support for getDestType

About

support AUTOSAR model with python

Topics

Resources

Contributing

Stars

17 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages