Automotive/AUTOSAR

AUTOSAR R4.4.0: Layered Software Architecture (계층형 소프트웨어 아키텍처) - 개요 (Overview)

habana4 2024. 9. 19. 14:14
반응형
 

AUTOSAR 계층형 아키텍처는 이미 알려진 내용이 많습니다.

AUTOSAR.ORG에서 정의한 AUTOSAR R4.4.0를 바탕으로

정리를 해 두면 도움이 될거 같아서 정리 해 봅니다..

 

 

목차


    이 포스팅에서는 AUTOSAR의 계층형 소프트웨어 아키텍처를 체계적으로 이해하기 위한 기본 자료입니다. AUTOSAR는 자동차의 전자 제어 유닛(ECU)에서 소프트웨어의 표준화된 아키텍처를 제공하여, 다양한 제조업체가 호환 가능한 소프트웨어를 개발할 수 있도록 돕습니다. 주요 내용은 다음과 같습니다:

    • 계층적 구조 설명: AUTOSAR 소프트웨어의 계층적 구조를 상향식(top-down) 접근 방식으로 설명합니다. 또한 개념적 계층 구조에 대한 정적 뷰에 중점을 두고 있습니다. (상세한 정적/동적 인터페이스에 대한 내용은 포함하지 않습니다.) 이를 통해 개발자가 소프트웨어의 구조를 이해하고, 각 계층이 어떻게 상호작용하는지를 명확히 알 수 있도록 돕습니다.
    • 기본 소프트웨어 모듈 매핑: 기본 소프트웨어 모듈을 소프트웨어 계층에 매핑하고 그 관계를 보여줍니다. 이를 통해 이러한 모듈이 어떤 소프트웨어 계층에 매핑되는지를 설명합니다. 이를 통해 개발자는 각 모듈의 역할과 중요성을 파악할 수 있습니다.
    • AUTOSAR Specification 요구사항 기반 작성: 이 포스팅은 AUTOSAR의 사양 및 요구 사항 문서를 기반으로 작성되었습니다.

    AUTOSAR 응용 범위와 확장성

    AUTOSAR는 자동차 전자 시스템의 표준화와 모듈화를 통해 다양한 제조업체가 개발할 수 있도록 돕는 중요한 플랫폼입니다. ECU는 차량의 기능을 제어하고 데이터 수집을 수행하는 핵심 구성 요소로, AUTOSAR는 이러한 ECU의 소프트웨어 아키텍처를 제공하여 효율적이고 호환 가능한 시스템을 구축할 수 있도록 합니다.

    1. 하드웨어와의 강한 상호작용: ECU는 센서와 액추에이터와 직접적으로 연결되어 차량의 환경을 인식하고 반응합니다. 이는 안전성과 성능에 매우 중요한 요소입니다.
    2. 차량 네트워크와의 연결: 차량 네트워크는 ECU 간의 통신을 가능하게 하며, 여러 ECU가 협력하여 차량의 기능을 수행할 수 있도록 합니다. 예를 들어, CAN은 고속 데이터 전송을 지원하여 실시간 응답성을 보장합니다.
    3. 제한된 자원의 마이크로컨트롤러: 자동차의 ECU는 고성능 서버와는 달리, 자원이 제한된 마이크로컨트롤러를 사용하여 설계됩니다. 이는 전력 소비를 최소화하고, 비용 효율성을 높이는 데 기여합니다.
    4. 실시간 시스템: AUTOSAR는 ECU가 실시간으로 작동해야 하므로, 지연 없이 신속하게 반응할 수 있는 설계를 요구합니다. 이는 특히 안전-critical한 기능에서 매우 중요합니다.
    5. 내부 또는 외부 플래시 메모리: 프로그램은 ECU의 플래시 메모리에서 실행되며, 이는 신속한 접근성을 보장합니다.

    AUTOSAR의 확장성은 다양한 요구 사항을 충족하기 위해 설계되었습니다. 표준 모듈을 기능적으로 확장할 수 있는 가능성은 개발자에게 유연성을 제공하며, 비표준 모듈의 통합은 특정 요구 사항을 가진 복잡한 시스템에도 대응할 수 있게 해줍니다. 그러나 추가 계층을 허용하지 않는다는 점은 시스템의 복잡성을 관리하고 표준화된 접근 방식을 유지하기 위한 조치입니다.

     

    AUTOSAR - Top View

    AUTOSAR 아키텍처는 최고 수준의 추상화에서 세 가지 소프트웨어 계층으로 구분됩니다: 응용 계층(Application Layer), 런타임 환경(Runtime Environment), 기본 소프트웨어(Basic Software). 이 세 가지 계층은 마이크로컨트롤러에서 실행됩니다.

    1. 응용 계층 (Application Layer)

    응용 계층은 차량의 특정 기능을 수행하는 애플리케이션 소프트웨어로 구성됩니다. 이 계층은 실제 차량의 기능을 구현하며, 센서 및 액추에이터와 직접적으로 상호작용합니다. 예를 들어, 자동 주행, 안전 기능, 엔터테인먼트 시스템 등이 포함될 수 있습니다. 응용 계층의 주요 목적은 차량의 사용자 경험을 개선하고 다양한 기능을 효율적으로 실행하는 것입니다.

     

    2. 런타임 환경 (Runtime Environment)

    런타임 환경은 응용 계층과 기본 소프트웨어 간의 인터페이스 역할을 합니다. 이 계층은 응용 소프트웨어가 하드웨어와 기본 소프트웨어 모듈에 접근할 수 있도록 지원하며, 소프트웨어 모듈 간의 통신과 데이터 관리를 담당합니다. 런타임 환경은 또한 멀티태스킹, 스케줄링 및 자원 관리를 통해 소프트웨어의 효율성을 높이는 데 기여합니다.

     

    3. 베이직 소프트웨어 (Basic Software)

    기본 소프트웨어 계층은 하드웨어와 직접 상호작용하며, 다양한 하드웨어 구성 요소와 기능을 지원하는 모듈로 구성됩니다. 이 계층은 다양한 서비스와 드라이버를 제공하여 마이크로컨트롤러가 안정적으로 작동하도록 합니다. 예를 들어, 통신 프로토콜, 메모리 관리, 진단 기능 등이 포함됩니다.

     

    AUTOSAR - Coarse View

    AUTOSAR 계층 구조는 AUTOSAR 아키텍처의 유연성과 재사용성을 높이며, 자동차 소프트웨어 개발 시 하드웨어의 다양성에 효과적으로 대응할 수 있도록 합니다

    1. 서비스 계층 (Services Layer)

    이 계층은 다양한 소프트웨어 서비스를 제공하며, 애플리케이션 소프트웨어가 하드웨어와 상호작용할 수 있도록 지원합니다. 여기에는 통신 서비스, 메모리 관리, 진단 서비스 등이 포함됩니다.

     

    2. ECU 추상화 계층 (ECU Abstraction Layer)

    ECU 추상화 계층은 특정 하드웨어와의 상호작용을 숨기고, 소프트웨어가 하드웨어의 세부 사항에 독립적으로 동작할 수 있도록 합니다. 이를 통해 애플리케이션 소프트웨어는 다양한 ECU에서 일관되게 실행될 수 있습니다.

     

    3. 마이크로컨트롤러 추상화 계층 (Microcontroller Abstraction Layer)

    이 계층은 마이크로컨트롤러와의 직접적인 상호작용을 처리합니다. 하드웨어 독립적인 API를 제공하여, 개발자가 특정 마이크로컨트롤러의 세부 사항에 대해 걱정하지 않고 소프트웨어를 개발할 수 있게 합니다.

     

    4. 복합 드라이버 (Complex Drivers)

    이 계층은 특정 하드웨어 장치와의 상호작용을 처리하기 위해 특별히 설계된 드라이버입니다. 복잡한 하드웨어를 제어하거나 특정 기능을 수행하는 데 필요한 소프트웨어로, 일반적으로 표준 드라이버와는 다른 방식으로 작동합니다.

     

    AUTOSAR - Detailed View

    AUTOSAR 상세 기능 그룹으로 나누어짐으로써 AUTOSAR는 각 서비스의 책임과 역할을 명확히 하고, 개발자들이 소프트웨어를 보다 효율적으로 설계하고 구현할 수 있도록 지원합니다. 각 서비스는 특정 기능을 담당하며, 이를 통해 전체 시스템의 통합성과 안정성을 향상시킬 수 있습니다.

    1. 시스템 서비스 (System Services)

    이 그룹은 시스템의 전반적인 관리를 지원하는 기능을 제공합니다. 여기에는 시스템 초기화, 오류 처리, 진단 및 상태 모니터링 기능이 포함됩니다.

     

    2. 메모리 서비스 (Memory Services)

    메모리 서비스는 소프트웨어가 메모리를 효과적으로 관리하고 사용할 수 있도록 돕습니다. 메모리 할당, 해제, 관리 및 접근을 처리하며, 안전하고 효율적인 메모리 사용을 보장합니다.

     

    3. 통신 서비스 (Communication Services)

    이 그룹은 ECU 간의 데이터 전송과 네트워크 통신을 처리합니다. CAN, LIN, FlexRay, Ethernet 등 다양한 통신 프로토콜을 지원하며, 메시지 전송, 수신 및 네트워크 관리를 위한 기능을 제공합니다.

     

    AUTOSAR - Microcontroller Abstraction Layer

    마이크로컨트롤러 추상화 계층은 기본 소프트웨어의 가장 낮은 소프트웨어 계층입니다. 이 계층은 내부 드라이버를 포함하고 있으며, 이들은 마이크로컨트롤러(µC)와 내부 주변 장치에 직접 접근할 수 있는 소프트웨어 모듈입니다. 이러한 마이크로컨트롤러 추상화 계층은 AUTOSAR 아키텍처에서 중요한 역할을 하며, 하드웨어 의존성을 줄이고 소프트웨어 재사용성을 높이는 데 기여합니다. 이를 통해 개발자는 특정 하드웨어에 구애받지 않는 소프트웨어 설계를 할 수 있으며, 다양한 ECU에서의 호환성을 높일 수 있습니다.

    주요 기능

    상위 소프트웨어 계층이 마이크로컨트롤러에 의존하지 않도록 만듭니다. 이를 통해 상위 계층은 특정 하드웨어에 구애받지 않고 동작할 수 있습니다. 마이크로컨트롤러 추상화 계층(Microcontroller Abstraction Layer)에 대해서는 다음에서 자세히 알아 볼게요.

     

    특성

    • 구현: 마이크로컨트롤러에 의존적입니다. 즉, 이 계층은 특정 마이크로컨트롤러의 구조와 기능에 맞추어 구현됩니다.
    • 상위 인터페이스: 표준화되어 있으며, 마이크로컨트롤러와는 독립적입니다. 이는 상위 계층이 다양한 마이크로컨트롤러에서 동일하게 작동할 수 있도록 보장합니다.

     

    AUTOSAR - ECU Abstraction Layer

    ECU 추상화 계층은 마이크로컨트롤러 추상화 계층의 드라이버와 인터페이스합니다. 이 계층은 외부 장치에 대한 드라이버도 포함하고 있습니다. 이 ECU 추상화 계층은 AUTOSAR 아키텍처에서 중요한 역할을 하며, 다양한 하드웨어 구성에 대한 소프트웨어의 유연성을 높입니다. 개발자는 특정 ECU에 맞는 소프트웨어를 쉽게 구현할 수 있으며, 다양한 ECU 간의 호환성을 강화할 수 있습니다. 이 계층은 하드웨어와 소프트웨어 간의 경계를 명확히 하여, 개발 과정에서의 복잡성을 줄이는 데 기여합니다.

    주요 기능

    상위 소프트웨어 계층이 ECU 하드웨어 레이아웃에 의존하지 않도록 만듭니다. 이를 통해 소프트웨어는 특정 ECU 하드웨어 구성에 구애받지 않고 동작할 수 있습니다.

     

    특성

    • 구현: 마이크로컨트롤러에 독립적이며, ECU 하드웨어에 의존적입니다. 즉, 이 계층은 특정 마이크로컨트롤러와는 독립적으로 설계되지만, 특정 ECU 하드웨어 구성에 맞추어져 있습니다.
    • 상위 인터페이스: 마이크로컨트롤러와 ECU 하드웨어에 독립적입니다. 이는 상위 계층이 다양한 ECU에서 동일하게 작동할 수 있도록 보장합니다.

     

    AUTOSAR - Complex Drivers

    복합 드라이버 계층은 하드웨어에서 런타임 환경(RTE)까지의 기능을 포함합니다. 복합 드라이버 계층은 AUTOSAR 시스템의 유연성을 높이며, 특정 하드웨어나 시간 제약을 가진 드라이버를 효율적으로 통합할 수 있는 기능을 제공합니다. 이 계층을 통해 개발자는 특정 요구 사항에 맞춘 드라이버를 구현하여 시스템의 성능과 신뢰성을 개선할 수 있습니다.

    주요 기능

    AUTOSAR에 명시되지 않은 특정 기능을 통합할 수 있도록 합니다. 예를 들어, 다음과 같은 드라이버를 포함할 수 있습니다:

    • AUTOSAR에서 지정되지 않은 장치에 대한 드라이버
    • 매우 높은 타이밍 제약이 있는 장치
    • 기존 시스템에서 새로운 시스템으로 마이그레이션을 위한 드라이버

    특성

    • 구현: 이 계층은 애플리케이션, 마이크로컨트롤러(µC) 및 ECU 하드웨어에 따라 달라질 수 있습니다. 즉, 특정 애플리케이션이나 하드웨어 구성에 의존할 수 있습니다.
    • 상위 인터페이스: 애플리케이션, 마이크로컨트롤러 및 ECU 하드웨어에 의존할 수 있습니다. 이는 복합 드라이버가 다양한 환경에서 작동할 수 있도록 설계되어 있다는 것을 의미합니다.

     

    AUTOSAR - Services Layer

    서비스 계층은 기본 소프트웨어(Basic Software)의 가장 높은 계층으로, 애플리케이션 소프트웨어와의 연관성에서도 중요한 역할을 합니다. 이 계층은 ECU 추상화 계층(ECU Abstraction Layer)이 I/O 신호에 대한 접근을 제공하는 반면, 다양한 기본 서비스를 제공합니다. 서비스 계층은 AUTOSAR 시스템에서 애플리케이션과 기본 소프트웨어 모듈에 필수적인 기본 서비스를 제공하여, 전반적인 시스템의 안정성과 기능성을 향상시키는 데 기여합니다. 이 계층을 통해 개발자는 복잡한 하드웨어 의존성을 줄이고, 다양한 기능을 효율적으로 통합할 수 있습니다.

    주요 기능

    • 운영 체제 기능: 애플리케이션이 원활하게 작동할 수 있도록 지원합니다.
    • 차량 네트워크 통신 및 관리 서비스: 차량 내 여러 네트워크와의 통신을 처리하고 관리합니다.
    • 메모리 서비스: 비휘발성 메모리(NVRAM) 관리 기능을 제공합니다.
    • 진단 서비스: UDS(Unified Diagnostic Services) 통신, 오류 메모리 및 결함 처리 기능을 포함합니다.
    • ECU 상태 관리 및 모드 관리: ECU의 상태를 관리하고, 작동 모드를 조정합니다.
    • 논리적 및 시간적 프로그램 흐름 모니터링: 워치독(Watchdog) 관리자를 통해 프로그램 흐름을 모니터링합니다.

    특성

    • 구현: 이 계층은 대체로 마이크로컨트롤러(µC) 및 ECU 하드웨어에 독립적입니다. 즉, 다양한 하드웨어 환경에서 재사용이 가능합니다.
    • 상위 인터페이스: µC 및 ECU 하드웨어에 독립적이어서, 애플리케이션 소프트웨어가 다양한 하드웨어와 쉽게 상호작용할 수 있도록 설계되었습니다.

     

    AUTOSAR - Run Time Environment (RTE)

    AUTOSAR 런타임 환경(RTE)는 애플리케이션 소프트웨어(AUTOSAR 소프트웨어 구성 요소 및/또는 AUTOSAR 센서/액추에이터 구성 요소)에 통신 서비스를 제공하는 계층입니다. RTE 위에서는 소프트웨어 아키텍처 스타일이 “계층형(layered)”에서 “구성 요소 스타일(component style)”로 변화합니다. 이러한 RTE의 특성 덕분에 AUTOSAR 기반 시스템은 다양한 ECU와 원활하게 상호작용할 수 있으며, 소프트웨어의 유연성과 재사용성을 극대화합니다. RTE는 소프트웨어 구성 요소가 서로 통신하는 데 필요한 기본적인 기능을 제공하여, 시스템 전반의 효율성을 향상시키는 데 기여합니다.

    주요 기능

    • 통신 서비스 제공: RTE는 AUTOSAR 소프트웨어 구성 요소 간의 상호작용을 관리하며, 다른 구성 요소(인터 ECU 및/또는 인트라 ECU)와의 통신을 지원합니다.
    • AUTOSAR 소프트웨어 구성 요소의 독립성 확보: RTE는 AUTOSAR 소프트웨어 구성 요소가 특정 ECU에 대한 매핑과 독립적으로 작동할 수 있도록 합니다.

    특성

    • 구현: RTE는 ECU 및 애플리케이션 특정입니다. 즉, 각 ECU마다 개별적으로 생성되며, 해당 ECU의 특성에 맞추어 최적화됩니다.
    • 상위 인터페이스: RTE는 완전히 ECU 독립적이어서, 다양한 ECU와의 호환성을 유지합니다. 이를 통해 소프트웨어 구성 요소는 특정 하드웨어에 의존하지 않고도 작동할 수 있습니다.

     

    AUTOSAR - 시스템 서비스 유형 

    기본 소프트웨어(Basic Software)는 다음과 같은 여러 유형의 서비스로 세분화될 수 있습니다:

    1. 입출력(I/O) 서비스

    센서, 액추에이터 및 ECU 온보드 주변장치에 대한 표준화된 접근을 제공하여, 다양한 하드웨어 장치와의 통신을 단순화하여 소프트웨어의 유연성을 증가시킵니다.

     

    2. 메모리 서비스

    내부 및 외부 메모리(비휘발성 메모리)에 대한 표준화된 접근을 제공하여, 데이터 저장 및 관리의 일관성을 유지하여 메모리 사용을 효율적으로 지원합니다.

     

    3. 암호화 서비스(Crypto)

    내부 및 외부 하드웨어 가속기를 포함한 암호화 원시(primitives)에 대한 표준화된 접근을 제공하여, 데이터 보안을 강화하고, 안전한 통신을 보장합니다.

     

    4. 통신 서비스

    차량 네트워크 시스템, ECU 온보드 통신 시스템 및 ECU 내부 소프트웨어에 대한 표준화된 접근을 제공하여, 다양한 ECU 간의 통신을 원활하게 하여 차량의 전반적인 작동을 개선합니다.

     

    5. 오프보드 통신 서비스

    차량-대-X 통신, 차량 내 무선 네트워크 시스템 및 ECU 오프보드 통신 시스템에 대한 표준화된 접근을 제공하여, 차량 외부와의 상호작용을 지원하여 차량의 연결성을 향상시킵니다.

     

    6. 시스템 서비스

    표준화 가능한 서비스(운영 체제, 타이머, 오류 메모리)와 ECU 특정 서비스(ECU 상태 관리, 감시 관리자)를 제공하여, 시스템의 안정성과 관리 기능을 향상시켜 차량의 신뢰성을 증가시킵니다.

     

    이러한 서비스들은 AUTOSAR 아키텍처 내에서의 기본 소프트웨어의 중요한 구성 요소로, 다양한 차량 기능과 시스템의 통합 및 상호작용을 지원하여 전반적인 성능과 안전성을 개선하는 데 기여합니다.

     

     

     

    AUTOSAR - Driver (Internal/External)

    (1) 내부 드라이버(Internal Driver)

    드라이버는 내부 또는 외부 장치를 제어하고 접근할 수 있는 기능을 포함하는 소프트웨어 모듈입니다. 이때 내부 장치란 마이크로컨트롤러 내에 위치한 장치입니다.

     

    내부 장치의 예:

    • 내부 EEPROM: 비휘발성 메모리로, 데이터를 영구적으로 저장하는 데 사용됩니다.
    • 내부 CAN 컨트롤러: 차량 내 통신을 위한 CAN(Controller Area Network) 프로토콜을 지원하는 장치입니다.
    • 내부 ADC(Analog-to-Digital Converter): 아날로그 신호를 디지털 신호로 변환하는 장치입니다.

    내부 드라이버의 위치

    내부 장치에 대한 드라이버는 마이크로컨트롤러 추상화 계층(Microcontroller Abstraction Layer)에 위치하며, 이는 고수준 소프트웨어와 하드웨어 간의 상호작용을 간소화합니다. 이러한 드라이버는 하드웨어와의 직접적인 상호작용을 통해 소프트웨어 애플리케이션이 마이크로컨트롤러의 기능을 원활하게 사용할 수 있도록 합니다.

     

    (2) 외부 드라이버(External Driver)

    외부 드라이버는 마이크로컨트롤러 외부에 위치한 ECU 하드웨어의 장치를 제어하고 접근하는 기능을 가진 소프트웨어 모듈입니다.

     

    외부 장치의 예:

    • 외부 EEPROM: 데이터 저장을 위한 외부 비휘발성 메모리.
    • 외부 워치독(External Watchdog): 시스템의 안정성을 확인하고 문제가 발생하면 시스템을 재설정하는 장치.
    • 외부 플래시(External Flash): 추가적인 데이터 저장을 위한 외부 메모리.

    외부 드라이버의 위치

    외부 드라이버는 ECU 추상화 계층(ECU Abstraction Layer)에 위치하며, 이는 마이크로컨트롤러 추상화 계층의 드라이버를 통해 외부 장치에 접근합니다. 이러한 구조는 시스템 기본 칩(System Basis Chips, SBC)에 통합된 구성 요소들, 예를 들어 트랜시버와 워치독도 지원합니다.

     
     

    예시

    예를 들어, SPI 인터페이스를 사용하는 외부 EEPROM 드라이버는 SPI 버스를 위한 핸들러/드라이버를 통해 외부 EEPROM에 접근합니다.

     

    예외

    메모리 맵 외부 장치(예: 외부 플래시 메모리)의 드라이버는 마이크로컨트롤러에 직접 접근할 수 있습니다. 이러한 외부 드라이버는 마이크로컨트롤러에 의존하므로 마이크로컨트롤러 추상화 계층에 위치합니다.

     

    (3) 인터페이스(Interface)

    인터페이스(인터페이스 모듈)는 아래에 위치한 모듈로부터 추상화된 기능을 포함합니다. 예를 들어, 특정 장치의 하드웨어 구현에서 추상화된 인터페이스 모듈이 있습니다. 이 인터페이스는 특정 유형의 장치에 접근하기 위한 일반적인 API를 제공합니다. 이는 해당 유형의 장치 수나 서로 다른 장치의 하드웨어 구현에 상관없이 기능합니다.

     

    주요 특징

    • 데이터 내용 변경 없음: 인터페이스는 데이터의 내용을 변경하지 않습니다.
    • 위치: 일반적으로 인터페이스는 ECU 추상화 계층(ECU Abstraction Layer)에 위치합니다.
     
     

    예시

    예를 들어, CAN 통신 시스템을 위한 인터페이스는 ECU 내의 CAN 컨트롤러 수나 하드웨어 구현(칩 내, 칩 외)에 관계없이 CAN 통신 네트워크에 접근하기 위한 일반적인 API를 제공합니다.

     

    이러한 인터페이스는 소프트웨어와 하드웨어 간의 효율적인 연결을 제공하며, 다양한 장치의 하드웨어 세부사항을 숨김으로써 소프트웨어 개발의 유연성을 높이는 역할을 합니다.

     

    (4) 핸들러(Handler)

    핸들러는 하나 이상의 클라이언트가 하나 이상의 드라이버에 동시적이고 비동기적으로 접근할 수 있도록 제어하는 특정 인터페이스입니다. 핸들러는 버퍼링, 큐잉, 중재(arbitration), 멀티플렉싱(multiplexing) 기능을 수행합니다.

     

    주요 특징

    • 데이터 내용 변경 없음: 핸들러는 데이터의 내용을 변경하지 않습니다.
    • 기능 통합: 핸들러 기능은 종종 드라이버나 인터페이스에 통합됩니다. 예를 들어, SPIHandlerDriverADC Driver와 같은 드라이버에서 이 기능을 찾아볼 수 있습니다.

    핸들러는 여러 클라이언트의 요청을 관리하고, 자원을 효율적으로 사용할 수 있도록 도와주는 중요한 역할을 하며, 데이터 전송의 안정성을 높이는 데 기여합니다.

     

    (5) 매니저(Manager)

    매니저는 여러 클라이언트에 대한 특정 서비스를 제공합니다. 순수한 핸들러 기능만으로는 여러 클라이언트를 효과적으로 추상화할 수 없는 모든 경우에 필요합니다.

     

    주요 특징

    • 핸들러 기능 포함: 매니저는 핸들러 기능을 포함하며, 데이터의 내용을 평가하고 변경하거나 조정할 수 있습니다.
    • 서비스 레이어 위치: 일반적으로 매니저는 서비스 레이어에 위치합니다.
     
     

    예시

    NVRAM 매니저: NVRAM 매니저는 플래시 메모리와 EEPROM 메모리와 같은 내부 및 외부 메모리 장치에 대한 동시 접근을 관리합니다. 이 매니저는 분산되고 신뢰할 수 있는 데이터 저장, 데이터 검증, 기본값 제공 등의 기능도 수행합니다.

     

    매니저는 여러 클라이언트의 요구를 효과적으로 조율하고, 데이터의 일관성을 유지하는 데 중요한 역할을 합니다.

     

    AUTOSAR - Libraries

    라이브러리 소개

    라이브러리는 관련 목적을 가진 함수들의 모음입니다.

     

    라이브러리의 특징

    • 호출 가능성: BSW 모듈(실행 환경 포함), SW 구성 요소, 다른 라이브러리 또는 통합 코드에서 호출할 수 있습니다.
    • 실행 맥락: 호출자의 맥락에서 동일한 보호 환경 내에서 실행됩니다.
    • 호출 제한: 라이브러리는 다른 라이브러리만 호출할 수 있습니다.
    • 재진입 가능: 라이브러리는 재진입이 가능하여 여러 스레드에서 안전하게 사용될 수 있습니다.
    • 내부 상태 없음: 라이브러리는 내부 상태를 가지지 않습니다.
    • 초기화 필요 없음: 라이브러리를 사용하기 위해 별도의 초기화가 필요하지 않습니다.
    • 동기식: 라이브러리는 대기 포인트 없이 동기식으로 작동합니다.

    이러한 특성 덕분에 라이브러리는 AUTOSAR 시스템 내에서 효율적이고 일관된 기능을 제공하는 데 유용합니다.

     

     

    반응형