ASCET-DEVELOPER – 임베디드 시스템을 위한 모델 기반 설계 및 자동 C 코드 생성

그래픽, 텍스트 모델, 모델 브라우저 및 Tabular editors를 보여주는 ASCET-DEVELOPER IDE (통합 개발 환경)을 통해 효율적인 작업이 가능합니다.

ASCET-DEVELOPER를 사용하면 오버 헤드가 적고 유지 관리가 쉬우며 안전한 고성능 임베디드 소프트웨어를 설계할 수 있습니다. ASCET-DEVELOPER는 산업 및 안전 표준에 따라 대량의 엔지니어링 소프트웨어를 위해 설계되었으며 합리적인 비용으로 variant 개발을 제공합니다.

ASCET-DEVELOPER 모델은 텍스트, 그래픽 편집기, ESDL (Embedded Software Development Language)을 사용합니다.

사용 검증된 솔루션

ASCET-DEVELOPER의 코드 생성 기술은 대량 양산 프로젝트에서 20년 이상 사용되었으며, 이미 4억 5천만 개의 ECU에 사용되었습니다. ASCET 생성 코드는 안전성, 보안 및 이식성 측면에서 최고 수준의 표준을 만족합니다.

ASCET-DEVELOER는 ABS/ESP, 클래식 및 전기 파워트레인과 같은 섀시 제어, 고속철도 용 브레이크 제어, 변속기 및 운전자 보조 장치 개발에 사용될 수 있습니다.

ASCET-DEVELOPER는 MISRA, OSEK, ASAM, AUTOSAR, FMI등의 산업 표준을 지원합니다.

안전에 민감한 소프트웨어 개발에 적합

ASCET-DEVELOPER를 사용하면 높은 안전 수준이 요구되는 소프트웨어를 개발할 수 있습니다.

  • ISO26262 ASIL-D 및 IEC61508-SIL3 TÜV 인증 코드 생성
  • MISRA-C 2012 준수
  • 방어 코드 자동 삽입으로 수치 문제 제거

주요 특징

모델링

ASCET-DEVELOPER를 사용하면 프로그래밍 요구사항에 맞는 텍스트와 그래픽을 쉽게 결합 할 수 있습니다. 로직을 모델링 할 수 있는 다음의 네 가지 옵션을 제공하여, 효율적으로 작업할 수 있습니다.

  • 그래픽 방식의 블록 다이어그램
  • 그래픽 방식의State Machine
  • 텍스트 방식의 ESDL
  • 텍스트 방식의 C-code

또한 ASCET-DEVELOPER에는 모델 및 코드 품질을 개선하고 효율성을 높이는 추가 기능이 있습니다.

  • 빠른 피드백을 위한 실시간 정적 분석
  • 통합된 품질 측정 기준을 통한 유지보수 가능한 모델 생성

ASCET-DEVELOPER 모델의 semantic은 ESDL에 저장되며, 아래와 같은 장점을 제공합니다.

  • 구조화 개념의 클래스를 통한 객체 기반 캡슐화 및 체계적인 재사용 가능
  • 물리적 범위를 정량화 하여 체계적으로 재사용 하기 위한 추상 제공
  • Function의 상관 관계가 highlight되어 검토 용이
  • 다른 버전과의 간편한 비교
  • Type safety 적용

블록 다이어그램 편집기

  • 데이터 및 제어 흐름의 간편한 모델링 및 시각화

 

  • 명확한 계산 순서 기반 실행 순서 결정

State Machine 편집기

  • 유한한 state machine 표기법 기반 의사 결정 로직 프로그래밍 및 시각화

 

  • 동작 및 조건은 ESDL을 직접 작성하거나 별도 방법으로 캡슐화

ESDL 편집기

  • 텍스트 기반 사용 가능. 컨텐츠 지원 및 구문 강조

 

  • 안전에 민감한 임베디드 소프트웨어 개발을 위한 친숙한 객체 지향 프로그래밍 구조로 쉽게 학습 가능

라이브 검증

  • 즉각적인 모델 검증을 통해 오류를 조기에 발견

 

  • 문제점은 편집기 내에서 report되며, problem view를 통해 그룹화 가능

 

  • Intelligent quick fix를 통해 문제 해결을 위한 최적의 솔루션 자동 탐색

품질 측정 기준(Quality Metrics)

  • 내장된 품질 측정 기준을 활용한 기술 적 부채가 감소하며, 유지가 가능한 코드 작성 가능

 

  • 프로세스에 적합한 품질 측정 기준 선택 및 사용자 지정 threshold 설정

검증

ASCET-DEVELOPER는 개발 싸이클의 다양한 단계에서 효율적이고 통합적으로 모델을 테스트 할 수 있는 가능성들을 제공합니다.

  • 모델 및 표현 속성 분리를 통한 물리적 동작 중심 테스트 실행 및 타겟 특성에 맞는 테스트 수행 가능
  • 유닛 테스트 프레임 워크 내장
  • 이타스 실험 환경(EE)을 사용한 open-loop PC 시뮬레이션
  • statement, branch, state, transition 및 수정된 조건 결정 (MC / DC) 범위와 같은 측정 기준을 사용한 테스트 실행의 모델 분석
  • FMI 지원하는 외부 툴에서 모델 시뮬레이션 가능. FMU 내보내기를 통한 연결 혹은 MATLAB/Simulink를 위한 s-function 생성
  • 이타스 프로토타이핑 솔루션을 사용해 실시간 하드웨어에서 function 프로토타이핑 수행 시, 테스트 벤치 또는 차량에서 조기에 실질적인 검증 가능

유닛 테스트

  • ESDL 유닛 테스트 프레임 워크를 활용한 소프트웨어 단위의 체계적인 테스트 가능

 

  • ESDL 테스트 클래스를 활용한 독립된 소프트웨어 유닛 테스트 실행 및 결과 시각화

PC 시뮬레이션

  • 데이터 실시간 측정 및 캘리브레이션과 함께 PC 시뮬레이션 활용한 초기 설계 검증  

 

  • 신호 발생기, 데이터 로거, 위젯을 포함한 정교한 실험 환경

테스트 커버리지

  • PC 시뮬레이션 또는 단위 테스트 실행을 통한 대화형 테스트 커버리지

 

  • 커버리지 보기를 통한 실행중인 모든 소프트웨어 단위에 대한 테스트 커버리지 요약

 

  • 텍스트 또는 그래픽 편집기에서 적용 커버리지를 시각화하여 테스트 부분 확인

자동 코드 생성

수동으로 코드를 작성하는 것은 런타임 오류를 방지하고 표준 및 코딩 지침을 준수하기 위한 추가적인 노력이 필요합니다. 하지만 ASCET-DEVELOPER를 사용하면 문제 해결에만 집중하면 되고 다른 부분은 코드 생성기가 수행합니다. 다음과 같은 특징이 있습니다.

  • 고품질 MISRA 호환 C-code 생성
  • 사용자를 위한 높은 코드 가독성
  • ASCET-DEVELOPER 모델에 대한 추적 성
  • 방어 코드 자동 삽입. (예: 0으로 나누기, 유형 속성에 따른 오버플로우/언더플로우, 배열 유형에 대한 인덱스 오버플로우 보호)
  • 고정 소수점 코드 생성
  • ASCET-DEVELOPER 모델을 AUTOSAR 구조에 매핑하여 AUTOSAR 코드 생성
  • 사용자 정의 옵션을 통해 기존 ASCET-DEVELOPER 모델의 빠른 재사용 및 다양한 대상에 대한 코드 생성
    • 장치별 특정 arithmetic, interpolation 또는 서비스 라이브러리에 대한 사용자 정의 콜백
    • 컴파일러를 위한 메모리 지시문
    • 컴파일 또는 생성 시 확인할 수 있는 조건부 코드 및 데이터 구조
    • 리소스 및 런타임 성능 향상을 위한 다양한 최적화 전략

툴체인 통합

ASCET-DEVELOPER는 다양한 인터페이스와 표준화된 파일 교환 형식을 제공하므로 툴을 기존 개발 프로세스 및 툴체인에 쉽게 통합할 수 있습니다. 제공하는 기능은 아래와 같습니다.

  • ASCET-DEVELOPER는 Eclipse 플랫폼에 기반하고 있습니다. 따라서 동일한 IDE에서 프로세스 도구를 원활하게 통합 할 수 있습니다.
    • 네이티브 Eclipse 플러그인을 사용하여 JIRA, Bitbucket, Git, SVN, IBM RTC에 연결
    • STM, ARM과 같은 다른 공급 업체의 기존 Eclipse 내장 워크 벤치 내부에 설치
    • 동일한 IDE에서 여러 타겟에 대한 코드 모델링, 생성 및 디버그
  • Yakindu Traceability의 요구 사항 추적 function을 통해 프로세스 아티팩트를 ASCET-DEVELOPER 모델에 연결 (예: 요구 사항 관리를 위한 DOORS).
  • ASCET 모델에서 A2L, ARXML, MDX와 같은 추가 프로세스 아티팩트 생성
  • ASCET SDK를 통해 프로세스에 적합한 확장 제공 (예: ASCET 정적 분석 엔진에 자체 프로세스 코딩 가이드라인 삽입)
  • 지속적인 통합을 위한 워크 벤치 자동화