Skip to main content

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

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)

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.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

Release files for armodel 1.9.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for armodel 1.9.7
File Size Uploaded
armodel-1.9.7.tar.gz 795.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for armodel 1.9.7
File Interpreter ABI Platform
armodel-1.9.7-py3-none-any.whl Python 3 none any Details

Total release size: 1.7 MB

Release files / armodel-1.9.7.tar.gz

Download URL armodel-1.9.7.tar.gz
Size 795.5 kB
Tags Source
SHA-256 checksum
How to use checksums
8dfc60b5d8c98b2f408e47b15810b661a082d04bd3926a405e5e773fca975fae
BLAKE2b-256 checksum
How to use checksums
8070919021d47cbee78d4eff3c8a479a7e4c98b8ae72a368095e9533838cd2bd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release files / armodel-1.9.7-py3-none-any.whl

Download URL armodel-1.9.7-py3-none-any.whl
Size 946.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7e4a3b1acadbd39f99fb00a41a02f14aa2ac9a7b151d09a8538fc71a02d4c096
BLAKE2b-256 checksum
How to use checksums
af9f63c46d4cd0dd1277f610e0d873b06b371721ca047e22036f2cfa88b05ead
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.9.7 This release

2 release files

1.9.4

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.8.7

1 release file

1.8.6

1 release file

1.8.5

2 release files

1.8.4

1 release file

1.8.3

1 release file

1.8.2

1 release file

1.8.1

1 release file

1.8.0

1 release file

1.7.9

1 release file

1.7.8

1 release file

1.7.7

1 release file

1.7.6

1 release file

1.7.5

1 release file

1.7.4

1 release file

1.7.3

1 release file

1.7.2

1 release file

1.7.1

1 release file

1.7.0

1 release file

1.6.4

1 release file

1.6.3

1 release file

1.6.2

1 release file

1.6.1

1 release file

1.6.0

1 release file

1.5.0

1 release file

1.4.3

1 release file

1.4.0

1 release file

1.3.0

1 release file

1.2.0

1 release file

1.1.0

1 release file

1.0.0

1 release file

0.1.3

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page