차량용 ECU 소프트웨어의 복잡성을 관리하고, 재사용성 및 상호운용성을 향상시키기 위해 자동차 제조업체와 부품 공급업체가 공통으로 사용할 수 있도록 설계된 개방형 자동차 소프트웨어 아키텍처 표준인 AUTOSAR(AUtomotive, Open System ARchitecture)를 개발하였다.
AUTOSAR는 ‘계층형 컴포넌트 기반 소프트웨어 아키텍처’를 정의하여, 분리된 계층에 의해 하드웨어와의 의존성을 낮추고, 소프트웨어를 컴포넌트 단위로 모듈화하여 재사용성을 높였다. 하지만, 기능을 적합한 컴포넌트로 분류하는 방법에 대한 대한 상세한 가이드를 제공하지 않아서 이 과정은 개발자의 경험과 직관에 의존할 수 밖에 없다. 따라서, 기능으로부터 AUTOSAR개발표준을 만족하는 컴포넌트 타입으로 분류하는 명확한 방법이 필요하다.
본 논문에서는 이와 같은 문제를 해결하고자 기능 요구사항의 Behavioral Feature 분석을 통한 AUTOSAR 소프트웨어 컴포넌트 분류 방법을 제안한다. “Behavioral Feature”의 Feature 는 피처 기반 도메인 분석 기법인 FODA(Feature-Oriented Domain Analysis)와 애자일(Agile) 소프트웨어 개발기법인 FDD(Feature-Driven Development)에서 유래하였으며, ECU 소프트웨어의 소스코드에서 전역변수나 하드웨어 레지스터에 영향을 주는 동작을 행위(Behavior)라 정의하고 이 관계를 연결하여 조합하면 ECU의 동작을 정의할 수 있다. 이러한 특성을 조합하여 Behavioral Feature를 정의하였다. 기능 요구사항을 Behavioral Feature로 분리하고, 기능 요구사항을 AUTOSAR 표준 소프트웨어 디자인 패턴의 동작 흐름인 “Sensing-Controlling-Actuation”의 관계로 분리하고, 그 동작을 Behavioral(행위기반) Feature 명세 방식으로 표현한 Behavioral Feature Modeling 과정을 통해 AUTOSAR의 Software Architecture의 최 상위 레벨인 Application Layer의 단계부터, 내부 상세 동작을 구성하는 BSW Layer의 단계까지 명세 한다. 이와 같은 Behavioral Feature Modeling순서와 방법을 제시하여 기능 요구사항을 AUTOASR 컴포넌트로 분류하는 과정을 보여주고, 그 결과를 분석함으로써, 개발자에 대한 의존도를 낮추어 일정 수준 이상의 품질이 보장된 설계가 가능할 것으로 기대한다.
Alternative Abstract
To manage the complexity of automotive ECU software, and to improve reusability and interoperability, AUTOSAR (AUtomotive, Open System ARchitecture), an industry standard for automotive ECU software architecture that is commonly used by automotive manufacturers and suppliers, has been developed.
However, it does not provide the process of classifying the type of components in the AUTSOAR standard, and there is a problem that the quality depends on the developer's experience and intuition.
In this paper, we propose a classification method of AUTOSAR software components by analyzing the Behavioral Features of functional requirements in order to solve these problems. Feature of “Behavioral Feature” are derived from Feature-Oriented Domain Analysis (FODA) and Feature-Driven Development (FDD), which is an agile software development technique.
In the source code of the ECU software, the behavior that affects the global variables or the hardware registers is defined as a behavior, and the operation of the ECU can be defined by connecting these relations together. Behavioral features were defined by combining these characteristics.
Functional requirements are separated into Behavioral Feature, and the functional requirements are separated by the relation of "Sensing-Controlling-Actuation", which is the flow of the AUTOSAR standard software design pattern To the level of the Application Layer, which is the highest level of AUTOSAR's Software Architecture, to the level of the BSW Layer, which constitutes the internal detailed operation, through the Behavioral Feature Modeling process. By showing the sequence and method of Behavioral Feature Modeling, we show the process of classifying functional requirements into AUTOSAR components, and by analyzing the results, it is expected that the design with a certain level of quality can be achieved by lowering the dependency on the developer.