KR20060110358A - 안전 임계 시스템의 설계 - Google Patents

안전 임계 시스템의 설계 Download PDF

Info

Publication number
KR20060110358A
KR20060110358A KR1020067016057A KR20067016057A KR20060110358A KR 20060110358 A KR20060110358 A KR 20060110358A KR 1020067016057 A KR1020067016057 A KR 1020067016057A KR 20067016057 A KR20067016057 A KR 20067016057A KR 20060110358 A KR20060110358 A KR 20060110358A
Authority
KR
South Korea
Prior art keywords
architecture
functional specification
fault
system architecture
functional
Prior art date
Application number
KR1020067016057A
Other languages
English (en)
Inventor
사무엘 부땡
Original Assignee
르노 에스.아.에스.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 르노 에스.아.에스. filed Critical 르노 에스.아.에스.
Publication of KR20060110358A publication Critical patent/KR20060110358A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

서로 접속된 복수의 전기 장치를 포함하는 시스템 아키텍처를 제조하는 방법이 개시되어 있으며, 상기 시스템은 바람직하게는 고장 허용 시스템을 포함하며, 상기 방법은: a) 바람직하지 못한 이벤트의 세트를 식별하여 상기 바람직하지 못한 이벤트 각각에 엄격성 지표를 귀속시키는 단계; b) 상기 가능한 바람직하지 못한 이벤트 각각의 위치를 상기 시스템 아키텍처의 하나 이상의 작동기와 연관시키는 단계; c) 상기 시스템 아키텍처의 구현을 위해 제안된 초기 아키텍처의 기능 사양을 개발하는 단계로서, 상기 초기 아키텍처의 기능적 사양은 그 구성요소들에 대한 및 그 구성요소들 사이의 데이터흐름을 포함하며, 상기 구성요소는 예를 들어, 센서들 또는 작동기들을 포함하는, 상기 개발하는 단계; d) 상기 바람직하지 못한 이벤트 각각의 엄격성과 관련된 고장 허용 요구조건을 상기 기능적 사양에 대해 개량하여 상기 기능적 사양의 개량된 고장 허용 요구조건을 발행하는 단계; e) 복제의 독립성의 첨부된 지표와 함께 상기 기능적 사양에서 복제를 생성하는 단계로서, 상기 지표는 상기 개량된 고장 허용 요구조건을 반영하는, 상기 생성하는 단계; f) 상기 시스템 아키텍처에 대한 하드웨어 구조, 예를 들어, 네트워크에 의해 서로 접속된 일련의 전자 제어 유닛들을 정의하는 단계; g) 상기 하드웨어 구조상에 상기 기능적 사양을 매핑하는 단계; 및 h) 상기 독립성의 지표가 매핑 동안 보존된다는 것을 자동으로 검증하는 단계를 포함한다.

Description

안전 임계 시스템의 설계{DESIGN OF SAFETY CRITICAL SYSTEMS}
본 발명은 시스템 설계에 관한 것으로, 특히, 안전 임계 시스템의 설계 및 검증을 위한 방법 및 기술에 관한 것이다.
지금까지, 일반적 특성이 시험된 후 설치되는 소위 고장-허용 프레임워크(fault-tolerant framework)에 다수의 고장 허용 시스템이 설치되었다. 이러한 프레임워크는 원자력 발전소, 열차, 또는 비행기 제어에 대한 기반일 수도 있다.
이러한 프레임워크는 스케일러블 또는 플렉시블하지 않으며, 이들이 고 레벨의 하드웨어 리던던시에 의존하며 하드웨어 필수조건, 예를 들어, 전용 버스 드라이버 또는 다른 구성요소(특히, 소프트웨어의 기존의 피스로 검증된 마이크로-제어기)를 가지기 때문에 매우 고가이다. 이들은 비용 최적화가 주요 문제점인 대규모 시리즈 생산에 적합하지 않다.
가상 프로토타이핑을 실현하기 위한 시도가 이루어졌으며, [SCHEID02]가 "시간 트리거링된 아키텍쳐에 대한 시스템 엔지니어링"(SETTA)이라 칭하는 접근방식에 수록된 것이 하나의 예이다. 이것은 URL: "http://www.setta.org"를 통해 찾을 수 있고, 그 간행물중의 하나가 2002년 4월 18일, Ch, Scheidler 등에 의한 "Systems Enginnering for Time triggered Architectures, Deliverable D7.3, Final Document, version 1.0", XP-002264808이다.
시간-트리거링된 프로토콜(TTP) 프레임워크[Kop96]는 수록된 전자 애플리케이션을 위해 확립된 안전 프레임워크의 양호한 예이다. 이것은 노드 사이의 통신 레벨에서만, 상기 언급한 플렉시빌리티 및 범위성을 특정 범위로 응답한다.
상기 모든 예에서, 일반 안전 임계 프레임워크가 설정되고 애플리케이션의 설계가 프레임워크내 및 프레임워크의 특정 규칙하에서 이루어져야 한다는 점에서 공통점이 있다. 안전 증명은 프레임워크의 특정 경우에 대해서가 아닌 전체 프레임워크에 대해 달성된다. 예를 들어, TTP 프레임워크에서, 적어도 4개의 노드가 시스템의 "정상" 작용에 요구되며, 상이한 TTP 노드에 대한 프로세스의 4개의 인스턴스를 매핑하는 것은 이들 프로세스의 결과가 시간에서 이용 가능하고 이들 프로세스의 소비자에 대해 정확하다는 것을 보장한다. 이러한 아이디어는 일반적 증명이 물리적 아키텍처에 존재하며 이러한 증명이 시스템에 수록된 기능 및 안전 데이터흐름의 다수의 인스턴스에 대해 특수하다는 것이다.
또 다른 아이디어를 제공하기 위해, 안전 임계 프레임워크(SIFT)가 설계된 프로젝트를 기재하는 [Rush95]에 인용이 있다.
"이러한 SIFT 프로젝트에서, 자체 프로세서를 각각 갖는 여러 독립 컴퓨팅 채널은 거의 동기적으로 동작하고, 센서와 같은 단일 소스 데이터가 비잔틴(Byzantine) (즉, 비동기적) 고장에 대해 저항하는 방식으로 각각의 채널에 분포됨으로써, 양호한 채널이 정확하게 동일한 입력 데이터를 획득하고, 모든 채널은 거의 동일한 시간에 동일한 데이터에 대해 동일한 애플리케이션 작업을 수행하고, 그 결과가 완전 일치 다수결 투표(exact-match majority voting)에 제출된다."
이것이 안전 임계 프레임워크의 양호한 예시이다. 그러나, 상기 공보의 아래의 패러그래프에서, 애플리케이션은 언급되지도 않았다. 이 프레임워크는 원자력 발전소, 우주 왕복선, 또는 심지어 커피 머신에 이용될 수 있는 것으로 보인다. 따라서, SIFT 프레임워크가 비행 제어 시스템을 지원하도록 이루어졌더라도, 설계자는 고정된 복제, 통신 및 투표 규칙에 따라 안전 임계 애플리케이션을 설계할 수 있는 "양호한" 안전 특성을 갖는 프레임워크 설계를 소망한다.
W. M. Goble 등의 "Extending IEC-61508 Reliability Evaluation techniques to include Common Circuit Designs Used in Industrial Safety Systems" 라는 문헌에서, 이 IEC-61508 및 ANSI/ISA84.01 표준에 기재된 분석 방법이 논의된다. 특정한 장애의 실제 영향은 엄격성(severity)이 귀속되는 안전 전망 및 지표로부터의 회로 기능성에 대한 영향에 관하여 고려된다. 할당되면, 이 엄격성 지표는 고정된다.
따라서, 안전 임계 시스템을 설계 및 검증하는 개선된 방법에 대한 지속적인 요구가 있으며, 이 방법은 상기 시스템에서 하드웨어 아키텍처의 최적화를 허용한다.
본 발명의 목적은 안전 임계 시스템의 설계 및 검증을 위한 개선된 방법 및 기술을 제공하는 것이고, 특히, 서로 접속된 복수의 전기 장치에 시스템 아키텍처를 제조하는 개선된 방법을 제공하는 것이다.
따라서, 본 발명은 서로 접속된 복수의 전기 장치를 포함하는 시스템 아키텍처를 제조하는 방법을 제공하고, 상기 시스템은 바람직하게는 고장 허용 시스템을 포함하며, 상기 방법은,
a) 바람직하지 못한 이벤트의 세트를 식별하여 상기 바람직하지 못한 이벤트 각각에 엄격성 지표를 귀속시키는 단계;
b) 상기 가능한 바람직하지 못한 이벤트 각각의 위치를 상기 시스템 아키텍처의 하나 이상의 작동기와 연관시키는 단계;
c) 상기 시스템 아키텍처의 구현을 위해 제안된 초기 아키텍처의 기능 사양을 개발하는 단계로서, 상기 초기 아키텍처의 기능적 사양은 그 구성요소들에 대한 및 그 구성요소들 사이의 데이터흐름을 포함하며, 상기 구성요소는 예를 들어, 센서들 또는 작동기들을 포함하는, 상기 개발하는 단계;
d) 상기 바람직하지 못한 이벤트 각각의 엄격성과 관련된 고장 허용 요구조건을 상기 기능적 사양에 대해 개량하여, 상기 기능적 사양의 개량된 고장 허용 요구조건을 발행하는 단계;
e) 복제의 독립성의 첨부된 지표와 함께 상기 기능적 사양에서 복제를 생성하는 단계로서, 상기 지표는 상기 개량된 고장 허용 요구조건을 반영하는 것인 상기 생성하는 단계;
f) 상기 시스템 아키텍처에 대한 하드웨어 구조, 예를 들어, 네트워크에 의해 서로 접속된 일련의 전자 제어 유닛들을 정의하는 단계;
g) 상기 하드웨어 구조상에 상기 기능적 사양을 매핑하는 단계; 및
h) 상기 독립성의 지표가 매핑 동안 보존된다는 것을 자동으로 검증하는 단계를 포함한다.
고장 허용 요구조건의 개량은 본 발명에 의해 제공되는 이점, 특히 시스템 아키텍처의 설계 및 검증을 위한 스케일러블 프로세스에 기여한다.
이 방법은 바람직하게는, 단계 (c)에서, 동작의 일련의 모드, 예를 들어, 림프-홈(limp-home) 모드를 정의하는 단계를 포함할 수도 있다.
이 방법은 하나 이상의 상태 차트의 형태로 상기 일련의 모드를 지정하는 단계를 포함할 수도 있다.
이 방법은 기하학적으로 하드웨어 구성요소를 매핑 및/또는 배선한 후, 상기 독립성의 지표가 상기 기하학적 매핑에 의해 보존된다는 것을 자동으로 검증하는 단계를 포함할 수도 있다.
이 방법은 시간 단위당 고장의 확률의 형태로 엄격성을 지정하는 단계를 포함할 수도 있다. 이 방법은 상기 시스템 아키텍처를 제조하는 데이터의 세트를 출력하는 단계를 포함할 수도 있다. 이 아키텍처는 차량용 아키텍처, 예를 들어, 브레이크 시스템용 제어 회로와 같은 안전 임계 아키텍처를 포함할 수도 있다.
또한, 본 발명은 시스템 아키텍처의 설계 및 검증을 위한 인코딩된 프로그램을 갖는 컴퓨터 판독가능 메모리를 포함하는 상업 제품을 제공하며, 이 프로그램은 본 발명의 방법을 프로그래밍하는 코드를 포함한다.
또한, 본 발명은 프로그램이 로딩될 때, 컴퓨터 실행 절차가 시스템 아키텍처를 설계 및 검증하도록 하기 위해, 컴퓨터 프로그램 코드 수단을 갖는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품을 제공하며, 상기 절차는,
a) 바람직하지 못한 이벤트의 세트를 식별하여 상기 바람직하지 못한 이벤트 각각에 엄격성 지표를 귀속시키는 단계;
b) 상기 가능한 바람직하지 못한 이벤트 각각의 위치를 상기 시스템 아키텍처의 하나 이상의 작동기와 연관시키는 단계;
c) 상기 시스템 아키텍처의 구현을 위해 제안된 초기 아키텍처의 기능 사양을 개발하는 단계로서, 상기 초기 아키텍처의 기능적 사양은 그 구성요소들에 대한 및 그 구성요소들 사이의 데이터흐름을 포함하며, 상기 구성요소는 예를 들어, 센서들 또는 작동기들을 포함하는 것인 상기 기능 사양을 개발하는 단계;
d) 상기 바람직하지 못한 이벤트 각각의 엄격성과 관련된 고장 허용 요구조건을 상기 기능적 사양에 대해 개량하여, 상기 기능적 사양의 개량된 고장 허용 요구조건을 발행하는 단계;
e) 복제의 독립성의 첨부된 지표와 함께 상기 기능적 사양에서 복제를 생성하는 단계로서, 상기 지표는 상기 개량된 고장 허용 요구조건을 반영하는 것인, 상기 생성하는 단계;
f) 상기 시스템 아키텍처에 대한 하드웨어 구조, 예를 들어, 네트워크에 의해 서로 접속된 일련의 전자 제어 유닛들을 정의하는 단계;
g) 상기 하드웨어 구조상에 상기 기능적 사양을 매핑하는 단계; 및
h) 상기 독립성의 지표가 매핑 동안 보존된다는 것을 자동으로 검증하는 단계를 포함한다.
또한, 본 발명은 시스템 아키텍처의 설계 및 검증을 위해 구성된 설계 툴을 제공하며, 상기 설계 툴은 본 발명의 방법의 단계들을 구현하도록 구성되거나, 본 발명에 따른 컴퓨터 프로그램 제품을 이용하여 프로그램된다.
도 1A 및 1B는 특정 고장 허용 요구조건을 갖는 센서의 복제의 개략적이고 그래프적인 도면이다.
도 2는 본 발명에의 방법에서의 스테이지에 따라 하드웨어 아키텍처상에 기능적 아키텍처를 매칭하는 것을 예시한다.
도 3A 내지 3D는 본 발명의 방법에 따라 기능적 아키텍처 및 태그의 확장을 복제 및 사이드 조건의 태그화하는 스테이지를 예시한다.
도 4A 내지 4D는 본 발명의 방법에서의 스테이지에 따라 하드웨어 아키텍처상에 고장-허용 요구조건을 매핑하는 것을 예시한다.
도 5는 본 발명의 방법에 따른 기능적 구성을 통한 고장-허용 요구조건의 안전성을 예시한다.
도 6은 본 발명에 따른, 고장-허용 전자 아키텍처의 설계 및 검증의 전체 프로세스를 예시한다.
이하, 특정 실시예 및 상기 언급한 도면을 참조하여 예시적으로만 본 발명을 설명한다.
기계적 구성요소의 안전은 물리적 및 화학적 특성의 마스터링, 즉, "재료 저 항성(material resistance)"이라 칭하는 광대한 경험을 갖는 지식의 매우 양호한 첨단 도메인을 통해 달성된다. 전자 구성요소의 안전은, 결과의 신뢰도 레벨의 증거가 기계적 구성요소의 분야에서 가능할 수도 있는 것 보다 획득하는 것이 덜 편리하다는 것을 증명할 수도 있지만, 리던던시 및 투표를 통해 달성될 수 있다.
참조가 용어 "복제" 및 그 파생어에 대해 이루어진다. 일반적으로, 복제라는 용어는 프로세스 데이터흐름 및 하드웨어 장치의 리던던시의 공간 또는 시간 도메인에서의 구현이다. 예를 들어, 센서의 복제는 동일한 구성 및 기능성, 예를 들어, 동일한 제조 라인으로부터 제조된 동일한 구성요소를 갖는 센서의 물리적 카피일 수도 있다. 데이터흐름의 복제는 문제의 시스템의 설계 허용오차를 정확하게 충족시키는데 충분한 정밀도 및 샘플링 레이트에서의 복제된 데이터흐름의 정보와 동일한 정보를 전달하는 또 다른 데이터흐름일 수도 있다. 복제 정보는 복제 목적만이 정보가 사운드되는 것을 보장하는 경우에서 단지 일부분일 수도 있다. 예를 들어, 순환 리던던시 검사(CRC)가 검사된 프로그램의 공간에서 부분 복제로서 고려될 수도 있다.
본 출원에서, 동일한 값을 계산하기 위해 설계자가 상이한 메카니즘을 제공할 때의 기능적 복제와 유일한 소스로부터 정확하거나 부분적인 정보를 카피함으로써 획득된 복제 사이를 구별할 것이다. 기능적 복제는 동일한 소스의 임의의 복제가 수행되기 이전에 기능적 아키텍처에서 취급되는 것으로 고려할 것이다. 본 발명은 기능적 복제로부터 오는 요구조건을 또한 고려하지만 동일한 소스로부터의 복제를 주로 다룬다.
시간 및 공간에서의 복제가 계산의 신뢰도를 개선시키는데 있어서 바람직한 툴이기 때문에, 복제된 정보를 함께 수집하고 고장일 수도 있는 프로세스 결과의 세트 중에서 정확한 값을 결정하는 것이 또한 필요하다. 이러한 수집은 공간 또는 시간에서 어떤 종류의 투표의 모든 시간에 존재한다. 상이한 알고리즘이 투표에 존재하며 특정한 알고리즘이(2개, 3개 또는 4개 복제 사이, 및 고장-휴지(fail-silent), 또는 고장-허용 계산에 대해) 각각의 종류의 투표에 대해 선택된다고 가정한다. 리던던시는 상이한 형태: 공간, 시간 및 둘 모두의 더욱 또는 덜 고장이 잦은 조합에서의 리던던시하에서 이용될 수도 있다. 특정한 전자 구성요소의 고레벨의 안전을 달성할 수 있다는 것을 가정할 수 없을 때 리던던시가 필요하다. 이제, 복제의 세트의 안전에 관하여 논의한다.
고장은 대칭 또는 비대칭일 수도 있다. 또한, 비대칭 고장은 "비잔틴"으로서 칭하는 것으로 공지되어 있다. 상이한 전자 제어 유닛이 (상이한 소스로부터인지 여부의) 동일한 정보의 복제를 수신하는 경우에, 이들 전자 제어 유닛이 동일한 정보를 정확하게 얻는다는 것을 검사하기 위해 함께 통신한다는 사실에 대한 "동의"라고 칭한다. 또한, 동의는 "컨센서스(consensus)"라는 분야에 공지되어 있다.
"비잔틴 동의"는 프로세스 사이의 통신과 관련하여 특정된다. 이메진(imagine) 프로세스 A는 초기값 "1"과 시작하고, 프로세스 B는 초기값 "0"과 시작하며, 프로세스 C는 초기값 "0"과 시작한다. 전체 프로세스는 동일한 값에 대한 수렴을 소망하여, 각 프로세스는 결국 다수결 투표를 하고 동일한 값에 수렴하기 위해 2개의 다른 프로세스에 그 초기값을 송신한다. A 및 B가 정확한 경우에, 이들 은 "1" 및 "0"을 각각 송신할 것이다. C가 비잔틴이라는 것은, C가 A 및 B로 잘못되고 비대칭인 정보를 전송할 수도 있다는 것을 의미한다. 이것이 비대칭이 비잔틴을 나타내는 이유이다. 예를 들어, C는 A로 "0"을 그리고 B로 "1"을 송신할 수도 있다. 이러한 경우에, 적절하게 작동하는 A는 B 및 C로부터 "0"을 수신할 것이고 "0"으로 결론을 지을 것이다. 적절하게 작동하는 B는 A 및 B로부터 "1"을 수신할 것이고 "1"로 결론을 지을 것이다. 결론을 짓기 위해, 3개의 비고장 프로세스는 하나의 비잔틴 실패의 존재의 하나의 라운드에서 컨센서스에 도달하지 않는다. 그러나, 수 라운드 이후에, 시간 제약이 이들 보충 라운드를 공급할 수 있다는 컨센서스가 도달될 수 있다.
통상적으로, 에러의 비잔틴 소스는 과도 단락 회로 또는 유도 효과의 존재하에서 전류 측정이다. 샘플링이 수행될 때에 정확하게 의존하여, 실제 신호가 동일한 시간 주기에서의 상이한 캡처에 의해 높거나 낮을 수 있다.
또 다른 통상적 비잔틴 소스는 대칭 알고리즘과 관련한 클럭이다. 수정 지터 및 통신 지연으로 인해, 클럭은 다른 클럭으로 모순된 정보를 전송할 수도 있다.
비잔틴 고장(또한 비대칭 고장이라고 칭함)는 하나의 라운드에서 컨센서스에 도달하기 위해 고레벨의 리던던시를 요구한다. 그러나, 대부분의 비대칭 고장은 이들이 대부분 과도적이고 "거시적인(macroscopic)" 물리적 값에서 작동할 때 무시될 수 있기 때문에 설계에 고려되지 않는다.
비대칭 고장을 고려할지를 결정하는데 있어서, 본 발명의 방법은 동일하게 적용한다. 단지, 복제의 수 및 리던던시 "전략"이 대칭 고장과 상이하다. 대칭 고 장의 예들로는, 통신 버스 "오프", 마이크로-제어기 셧다운 또는 충돌, 연소된 퓨즈, 및 더욱 일반적으로는, 임의의 "데드" 전기 구성요소가 있다.
전자 안전 아키텍처는 특정한 물리적 아키텍처 및 애플리케이션 도메인에 대해 이루어졌고 조정되었다. 논의한 바와 같이, 원자력 발전소, 기차 및 비행기가 고도의 엔지니어들에 의해 설계된 플렉시블하지도 않고 사이저블하지도 않는 고가 시스템 설계의 예이다. 이들 시스템에 있어서, 종래에는 계층적 접근방식이 먼저 디바이스 레벨에 이용되었고, 그 후, 소프트웨어 레벨에서 이용되었다. 이러한 아이디어는 오브젝티브를 이용하여 물리적 디바이스를 식별한 후, 각 노드에 소프트웨어를 기록하기 위한 규칙을 제공하는 것이다.
결정론(determinism)은 안전 임계 시스템에 대한 매우 컴포터블한 특성이고, 결정론이 이상적이기 때문에, 구성요소의 상이한 복제가 "실제" 시간 주기 동안" 동일한 상태"를 항상 방문해야 한다는 것을 의미하는 "복제 결정론"을 고려한다. 여기서, "실제" 시간은 물리적으로 취급하고 수학적으로 취급하지 않을 때, "동일한 상태"가 "동일한 것으로 고려되는 것으로 충분하게 근접하다"는 것을 나타내는 이론적 표현이다. 복제 결정론을 달성하기 위해, 대부분의 기존의 안전 시스템은 시간-트리거링된다. 글로벌 클럭의 아이디어는 고장의 완결 카테고리: 시간 고장을 스킵할 수 있게 한다. 완전한 동기 접근방식은 시간 고장이 픽스되는 곳에 먼저 존재하게 한 후 픽스 정밀도 고장을 존재하게 함으로써 "분할 통치(devide and conquer)" 접근방식을 허용한다. 사실, 결정론은 이러한 프레임워크가 설계 및 증거가 너무 어려울 수 있는 결정론의 부재하에서 설계하는 것이 거의 불가능하기 때 문에 안전 임계 프레임워크의 준수 특성이다.
1985 페이퍼에서, "하나의 고장 프로세스를 갖는 분포 컨센서스의 불확률"은 (상이한 주파수에서 상이한 CPU상에 작동한다는 것을 의미하는) 상이한 분포 프로세스 사이의 통신 레이트에 관하여 가정이 이루어지지 않았고 그 후, 이 컨센서스 문제가 달성될 수 없다는 것에 대해 주장하고 있다. 이 페이퍼의 이 결론은 어떤 동기 수단이 프로세스 사이의 교환이 동기되지 않는 시스템을 설계할 때 적어도 클럭 속도에 관한 가정이 예측되는 것이 필요하다는 것이다. 유망하게, 이것은 항상, 적어도 이론적으로는, 비동기 고장-허용 시스템을 설계하는 것이 불가능하지 않도록 수록된 애플리케이션에서의 경우이다.
제한이 안전 임계 프레임워크의 또 다른 매우 중요한 특성이고, 일반적이고 고가의 규칙은 고장-허용이 아닌 시스템이 보다 적은 감독으로 개발될 것이고 본질적이지 않는 기능의 설계에서의 실수가 안전 시스템 장애의 이유이다는 것이 수용될 수 없다는 가정하에서 상이한 고장-허용 요구조건과 시스템을 믹싱하는 것을 회피하기 위한 것이다.
장애는 종종 일시적이거나 심지어 과도적인 것이다. 고장 구성요소는 시간 주기 이후에는 고장이 아닐 수도 있다. 전자 제어 유닛(ECU)의 핫 리셋이 양호한 예이다. 어떤 이유에 있어서, ECU가 적절하게 작동하지 않는 경우에, 이것은 일반적으로 이러한 ECU를 리셋하는 것을 가능하게 하고 시스템 동작중인 동안에도 ECU가 다시 적절하게 작동하게 한다. 이것은 장애가 단지 일시적일 수도 있다는 것을 의미한다. 그래서, 장애 확률은 시간 단위당 특정되고 이것은 한정적 장애 및 일시 적 장애 모두를 커버한다.
일시적 고장의 개념에 관하여, 진단이 구성요소 또는 시스템의 신뢰도를 동적으로 강화하는 방식으로 보일 수 있으며, 이것은 또한 구성요소의 장애 종류 변경을 허용한다. 예를 들어, 전자 제어 유닛은 적절하게 작동하지 않거나 또 다른 ECU가 적절하게 작동하지 않는다는 것을 검출한 후, 핫 리셋을 트리거할 수 있다. 진단은 일정한 에러를 일시적 에러로 변환할 수도 있다. 애플리케이션을 위해, 애플리케이션의 일부로서 또는 기능적 아키텍처에 대한 요구조건을 충족시키기 위한 방식으로서 진단을 고려한다.
안전 임계 설계 시스템의 또 다른 종래의 기술은 상이한 소스에 의한 구현이다. 동일한 설계 고장을 포함하는 소프트웨어의 개발 예들이 널리 공지되어 있지만, 이 개발 팀들은 동일한 아이디어를 가졌기 때문에, 이 기술은 설계 에러를 회피하기 위한 매우 강한 수단으로서 인식한다. 이것은 하드웨어에 동일하게 적용되고, 안전-임계 시스템의 상이한 노드상에서 동일한 마이크로프로세서를 이용하는 것을 회피한다. 한편, 이것은 프로세서중의 하나가 고장날 것이라는 확률을 확장시키지만, 2개의 프로세서가 동일한 시간에 고장난다는 확률은 더욱 낮아진다.
[Rush95]에 정의된 바와 같은 설계 고장은 다루지 않았다. 설계 고장에 기초한 예는 특정 환경하에서, 브레이킹을 전혀 초래하지 않을 수도 있는 브레이킹 관리에 대한 잘못된 제어법이다. 오히려, 사운드 기능적 설계를 정확하게 구현하는 문제에 집중한다. 상이한 소스에 의한 복제의 구현은 설계 고장에 대처하기 위한 우수한 방식이다.
소위 고장 안전 시스템에서, 이용자가 장비를 이용할 수 있는 상태에 두거나 그 장비를 안전한 것으로서 정의된 소정의 조건으로 이동시키는 기능성의 일부 또는 심지어 전체를 시스템이 루스(loose)할 수도 있는 동작 모드가 존재한다는 것이 이해될 것이다. 예를 들어, 로리(lorry) 브레이크는 일정 기압이 유지된 공기-시스템에 의해 오프 위치에 유지될 수도 있다. 공기-시스템, 예를 들어, 파열된 파이프에 장애가 있는 경우에, 공기는 새어 나갈 것이고 이용자가 로리를 동작시킬 수 있는 상태에 두지 않아도 안전 조건으로서 사전 정의된 브레이크가 실행될 것이다.
고장-동작(fail-operational) 시스템에서, 이용자가 장비를 이용할 수 있는 상태에 두거나 그 장비를 안전한 것으로서 정의된 소정의 조건으로 이동시키는 기능성의 일부 또는 심지어 전체를 시스템이 루스할 수도 있는 동작 모드가 존재하지 않는다. 고장-동작 시스템에서, 최소 레벨의 서비스가 요구된다.
고장-휴지 구성요소는 고장-휴지 구성요소가 내장된 시스템의 고장 발생에서 허용되는 구성요소이다. 이것은 질적인 정의이다. 이러한 정의는 고장-휴지 구성요소가 고장의 경우에 휴지되지 않는다는 확률을 특정하는 경우에 양적인 것이 된다. 예를 들어, 동작의 시간당 10-9 아래의 확률을 갖는 고장의 경우에 허용될 수도 있는 고장-휴지 구성요소에 관하여 이야기할 수도 있다. 고장-휴지 구성요소는 2개의 고장의 발생에서 고장-허용일 수도 있다. 단순하게 고장-휴지를 말할 때, 하나의 고장의 발생이다.
고장-허용 구성요소는 고장-허용 구성요소가 내장된 시스템에서 고장의 발생 의 경우에도 서비스 레벨을 달성할 수도 있는 구성요소이다. 이 정의는 고장의 수 및 확률이 고장-휴지 구성요소의 경우에서와 같이 특정되는 경우로 확장된다.
안전 임계 시스템 설계, 예를 들어, 고장 안전 또는 고장 동작 시스템에서, 대부분 고장-휴지 작동기를 고려한다. 이것은 시스템 레벨에서의 고장 허용이 적어도 하나 또는 2개 이상의 휴지 작동기를 고려해야 한다는 것을 의미한다. 작동기가 고장-휴지로 증명될 수 없는 경우에, 이러한 작동기의 고장에 시스템 보상을 제공할 수도 있다. 예를 들어, 직접적인 결과가 차량 안정성의 손실인 차량에 대한 브레이크중의 하나의 비정상 브레이킹 힘을 추정할 수 있다. 이것은 수용될 수 없다. 그러나, 대향 휠에 동등한 브레이킹 힘을 인가하는 것은 요청된 것과는 상이하지만 분포 교차 및 차축에서 실질적으로 동일한 브레이킹의 레벨을 초래할 수도 있고, 어떤 것은 자체적으로 바람직하지 못하지만 불규칙한 브레이크 힘 분포 보다 안전의 관점으로부터 더욱 명료하게 수용할 수 있다. 정상 기능에 대한 이러한 일반적인 일시적 변형을 종종 림프-홈 모드라고 칭한다. 다수의 전기 구성요소에 대해 다행히도, 그 대부분은 고장-휴지 작용 보장이 항상 가능하다. 미세한 전류의 경우에 패시브인 작동기가 컷 오프된다는 것을 보장하는 것은 충분하다. 통상적으로, 이것은 ABS 제어에 대해 승인된 솔루션이다.
자동차용 애플리케이션의 분야에서, 대량 제조로 인해, 리던던시를 이용할 때 고레벨의 신뢰도를 제공하는데 충분하고 실제로 우수한 구성요소의 신뢰도의 정량 측정치를 얻는다. 공게롭게도, 또 다른 엄격한 제한은 비용이고, 이것은 특히, 순환 비용으로 신속하게 변환하는 하드웨어 레벨에서 불필요한 리던던시를 방지한 다. 브레이크-바이-와이어 또는 스티어-바이-와이어와 같은 안전 임계 시스템에 대한 애플리케이션의 분야는, 비용과 안전 사이의 플렉시블한 트레이드 오프를 제공하고 또한 설계를 생성하는 본 발명의 방법이 항공 또는 기차 운송 도메인에서 설계된 시스템 이상의 최종 이점인 실제 구성요소 신뢰도에 기초할 수 있기 때문에, 본 발명의 프로세스에 특히 적합하다.
본 발명의 방법에 따라, 코드 피스의 정확도 및 그것이 수학적 함수를 어떻게 정확하게 인코딩하는지를 고려하지 않는다. 안전 시스템의 제어법을 취급할 때, 신호 프로세싱의 지연 및 정밀도가 문제가 되지 않도록 제어된 물리적 시스템의 주파수 이상으로 양호한 페이스에서 소프트웨어 및 통신을 프로세스하는 것이 일반적으로 제공가능하다. 이러한 경우가 아닐 때, 최적화는 더욱 어려울 수도 있지만, 프로세스는 안전 요구조건 충족이 더욱 어렵게 보인다는 사실에도 불구하고 안전을 유지한다.
설계 프로세스에서, 시간 고장 및 값 고장 모두가 정밀도 고장이다고 간주하기 때문에 시간 고장과 값 고장 사이를 구별하지 않는다. 센서 경우는 리던던시 및 투표를 논의하고 어떻게 시간 고장 및 값 고장이 동일한 방식으로 처리될 수도 있는지에 대해 특히 중요하다. 설명을 위해, 우선 도 1A 및 1B에 대한 특정한 기준을 고려하고, 센서(S)의 경우는 특정한 고장-허용 요구조건을 갖는다.
어떤 기능의 어떤 복제(f)에 대해, 이러한 복제는 센서(S)의 복제인 센서 (S1, S2 및 S3)로부터의 데이터를 소모해야 할 수도 있다. 이들 센서가 각각의 데이터흐름(D1, D2 및 D3)을 통해 정보를 제공한다고 가정한다. 단순함을 위해 그리 고 비제한적인 예로서, S1, S2 및 S3가 브레이크 페달 위치를 측정하는 것으로 간주한다.
또한, 제 1 근사값으로서, 신호가 2진수이다고 간주한다. 신호가 하이인 경우에, 이것은 드라이버가 브레이킹이다는 것을 의미하고, 신호가 로우일 때, 드라이버가 브레이킹이 아니다는 것을 의미한다. 필터링이 입력에 대해 수행되고 값이 500 마이크로초 마다 수행된 5개 샘플로부터 계산된다. 필터링은 값을 만들기 위해 수개 샘플을 이용하는 것을 의미하는 바와 같은 리던던시의 종류이다. 이것은 페달 스위치가 로우일 때, 스위치 검출이 고장의 부재에서 실제로 송신되기 이전에 1.5ms가 필요하다는 것을 의미한다.
이제, 아키텍처에서의 D1, D2 및 D3의 전파 지연을 고려해야 한다. 센서(S1, S2 및 S3)의 캡처가 상이한 클럭; 클럭1, 클럭2, 및 클럭3을 갖는 3개의 상이한 마이크로제어기상에서 수행된다고 가정한다. 사실, 이러한 데이터흐름(D1, D2 및 D3)은 전자 제어 유닛(ECU) 및 통신 버스로 구성된 복잡한 전자 아키텍처를 통한다. D1 전파는 5ms +/- 3ms를 요구하고; D2는 8ms +/-4ms를 요구하며 D3는 10ms +/- 2ms를 요구한다고 간주하며, 이들은 다양한 클럭 드리프트 및 다양한 지터를 포함한다. 또한,
D1이 5ms 마다 전송되는 것 = 클럭1*N1 사이클, D2가 5ms 마다 전송되는 것 = 클럭2*N2이며 D3가 5ms 마다 전송되는 것 = 클럭3*N3이며;
클럭1, 클럭2 및 클럭3는 정상 기능하에서 3% 보다 작은 변동을 가지며;
태스크 계산(f)이 1ms 이내에 실행되고 5ms 마다 스케줄링된다고 가정한다.
f에 의해 수신된 D1, D2 및 D3의 최종 3개의 샘플 비교를 가정하면, 이들은 D1f, D2f 및 D2f라 칭한다. 그 후, 문제는, 드라이버에 의한 실제 페달 브레이킹 요청 이후에 페달 브레이킹 요청 식별에 대해 언제 수렴할 것인가?이다.
D1f는 그 수명(age)이 범위 R1[-15.545ms..-11.5ms]인 신호를 나타내고,
1.5ms+5ms+(0.003*5ms)+1ms+5ms+3ms=15.515ms
D2f는 그 수명이 범위 R2[-19.545ms..-14.5ms]인 신호를 나타내고,
1.5ms+5ms+(0.003*5ms)+1ms+8ms+4ms=19.515ms
D3f는 그 수명이 범위 R3[-19.545ms..-16.5ms]인 신호를 나타낸다.
1.5ms+5ms+(0.003*5ms)+1ms+10ms+2ms=19.515ms
범위 R1 및 R3가 교차점을 갖지 않는다는 사실은 관측한 현상의 주파수가 샘플링 보다 큰 10배까지의 범위인 한은 문제가 되지 않는다. 기대하는 신호가 20ms 이하 또는 대략 20ms의 주파수에서 전개하는 경우에, 샘플링은 검지되지 않는다. 사람의 액션의 경우에, 레이트는 오히려 수백 마이크로초의 범위이며, 약간의 브레이킹에 대해 일반적으로 확실히 100ms 이상인 브레이크 페달의 경우에, 페달은 적어도 1초 동안 푸쉬된다.
도 1B로 돌아가서, 샘플링 및 통신이 어떻게 "실"시간으로 수행되는지를 알 수 있다. D1, D2 및 D3의 값이 실제 값이 캡처된 이후에 최대 20ms에서 수신된다는 사실을 고려하면, D1, D2 및 D3 사이의 투표의 임의의 계산은 장애의 수가 1 보다 우세한 경우를 제외한 것으로의 스위치를 산출할 것이다. 브레이크 페달이 릴리스되는 경우에 이와 동일하다.
"f"가 (최악의 경우의 실행 시간으로 인해 최대 1ms 지연을 갖고) 5ms 마다 스케줄링된다는 사실을 고려하면, "f"는 브레이크 요청이 검출된 이후에 최대 26ms 정확한 브레이크 명령("O")을 산출할 것이다. 브레이크 릴리스에 대해 이와 동일한다.
이제, 불(Boolean) 신호를 다루지 않았지만, 오히려 페달 브레이크 요청을 나타내는 정수값을 다루었다고 가정한다. 그 후, 아래의 알고리즘이 D1, D2 및 D3의 3개의 최종값이 "f"에 의해 수신되었다는 것을 고려하고 2개의 극값(extreme value)을 배제(단지 하나의 고장만을 고려)하는데 이용될 수도 있다. 비교한 상이한 값이 동일한 순간에 정확하게 캡처되지 않았다고 처리할 수도 있고, 예를 들어, 수명의 차이는 거의 10ms일 수도 있다. 10ms 동안의 페달 브레이크 이동이 각 센서의 정밀도를 아는 수용 정밀도의 범위에 있다는 것을 고려하는 경우에, 이 알고리즘은 사운드된다.
또한, 강한 브레이킹과 관련하여 이것이 수용가능한 경우에 명령에서의 어떤 "관성"을 제공하기 위해 3개의 이전의 값과 평균함으로써 이 값을 필터링할 수 있다. 그러나, 이러한 필터링의 상세한 구현은 페달의 인간공학의 문제이고 본 설명의 범위 밖이다.
실제 설계에서, 실시예에서 응답 시간을 여전히 증가시키는 다른 필터가 도입될 수도 있다. 브레이크 시스템의 경우에, 출력("O")이 전자기계 구성요소에 의해 24ms 이내에 수행될 수도 있는 브레이크의 명령이다는 것을 고려하는 경우에, 이것은 브레이킹이 페달 브레이킹 요청 측정의 퍼센티지와 관련하여 특정될 수도 있는 정밀도를 갖는 실제 요청 이후에 최대 50ms에서 시작한다는 것을 의미한다.
부분 브레이크 시스템은 "동기"이고: 글로벌 시간은 액션의 드라이버 페이스이다. 여기에 예시하는 것은 분포 시스템이 데드-라인 보호를 제공하기 위해 시간-트리거링될 필요가 없다는 것이다. 또한, 시간 에러는 값 정밀도 에러로부터 상이하게 고려될 필요가 없으며 전파된 정보의 수명이 소정의 정밀도로 한정될 수 있는 한은 정밀도 범위로 턴될 수 있다. 그 후, 신호가 늦다는 사실은 에러로서 고려될 수 있다. 예를 들어, 데이터 버스 분야에서, 버스의 노드가 불규칙한 방식으로 지속적으로 송신하는 "배블링 아이디어트(babbling idiot)" 디폴트로 공지된 전형적인 디폴트가 있다. 이것은 액세스 및 트래픽 시간을 낭비하며 일반적으로 버스상에서 메시지를 지연시킨다.
본 발명에 따른 접근방식으로의 입력은 기능적 모드 및 기능적 안전 분석과 함께 기능적 설계이다. 이것은 아래의 단계를 수행함으로써 획득된다.
a) 바람직하지 못한 이벤트의 세트를 식별하여 상기 바람직하지 못한 이벤트 각각에 엄격성 지표를 귀속시키는 단계;
b) 상기 가능한 바람직하지 못한 이벤트 각각의 위치를 기능적 설계에 의해 제안된 상기 시스템 아키텍처의 하나 이상의 작동기와 연관시키는 단계;
c) 상기 시스템 아키텍처의 구현을 위해 제안된 초기 아키텍처의 기능 사양을 개발하는 단계로서, 상기 초기 아키텍처의 기능적 사양은 그 구성요소들에 대한 및 그 구성요소들 사이의 데이터흐름을 포함하며, 상기 구성요소는 예를 들어, 센서들 또는 작동기들을 포함하는 것인 상기 기능 사양을 개발하는 단계; 및
d) 상기 바람직하지 못한 이벤트 각각의 엄격성과 관련된 고장 허용 요구조건을 상기 기능적 사양에 대해 개량하여 상기 기능적 사양의 개량된 고장 허용 요구조건을 발행하는 단계.
설계 방법의 구현 동안, 복제는 이들 복제의 독립성의 첨부된 지표와 함께 기능적 사양에서 제조되며, 이 지표는 개량된 고장 허용 요구조건을 반영한다. 또한, 설계 프로세스는 제안된 시스템 아키텍처, 예를 들어, 네트워크에 의해 서로 접속된 일련의 전자 제어 유닛에 대한 하드웨어 구조를 정의한 후, 기능적 사양을 그 하드웨어 구조상에 매핑한다.
프로세스는 독립성의 지표가 매핑 동안 보존된다는 것을 자동으로 검증하는 단계를 포함한다. 따라서, 설계 프로세스는 출력으로서, 제안된 시스템 아키텍처가 어떤 이전에 정의된 안전 요구조건을 충족시키거나 충족시키지 못한다는 증거를 갖는다. 이 증거가 시스템이 특정 안전 요구조건을 충족시킨다는 것을 나타내는 경우에, 테스트를 위한 확인 모델로의 입력으로서 이용될 수 있다.
설계 프로세스의 다른 출력은 시스템을 최종으로 제조할 때 증명되어야 하는 아키텍처의 각 구성요소에 적용하는 로컬 요구조건의 세트일 수도 있다. 이것은 다른 다운스트림을 입력으로서 이용하기 위한 데이터의 형태일 수도 있으며 궁극적으로는, 상기 시스템 아키텍처에서의 이용을 위한 구성요소 또는 회로 레이아웃을 제조하는 기계와의 공동-동작에서의 이용에 적합한 명령의 세트로 번역할 수도 있다.
본 발명의 이점중에는, 분할 통치 접근방식을 허용하는 안전 개념의 요약이 있다. 이것이 복잡한 시스템 설계를 위한 키이다. 또한, 특정한 기술, 버스 프로토 콜 또는 임의의 소정의 안전 성게 프레임워크에 의존하지 않는다. 반대로, TTP와 같은 프레임워크는 이러한 고장-허용 기술 어라운드를 갖지 않는 고장-허용 시스템을 제조할 수도 있다는 것을 의미하는 접근방식에서 "파라미터"로서 보여질 수 있다. 그렇지 않으면, 본 발명의 개시한 방법은 기존의 프레임워크의 고려 및 비교를 허용하지만, 또한, 이들을 조합하는 수단을 제공한다. 이러한 전자의 관점은 상기 언급한 바와 같이, 상이한 기술을 조합하는 것이 설계 에러를 회피하기 위한 최상의 방법이기 때문에 특히 중요하다.
이제, 도 2의 차량 속도 검출 및 도 3A 내지 도 5에 예시된 방법을 이용하여 요약에서의 그 처리를 참조하여 차량 브레이킹에 관한 특정되었지만 제한하지 않는 실시예를 고려한다. 항상, 설계 프로세스의 개요는 도 6에 대한 특정한 참조로 유지될 수 있다.
도 2에서, 기능 "휠 속도 계산"(405)은 휠 속도 센서(401)로부터의 입력으로서 데이터흐름("V")을 갖는다. 제안된 구현에서, 동일한 휠 속도 센서(420)가 ECU(436)에 부착되며 기능 "휠 속도 계산"(405)은 ECU(434)상에서 수행된다.
기능 아키텍처로부터의 휠 속도 센서(401)는 하드웨어 아키텍처로부터 휠 속도 센서(420)으로 이동된다(화살표 410). 기능적 아키텍처로부터의 기능 "휠 속도 계산"(405)은 ECU(434)상의 실행 프로세스로 이동된다(화살표 412). 휠 센서(401)와 기능 "휠 속도 게산" 사이의 데이터흐름은 다음을 수반하는 복잡한 경로로 이동된다.
· ECU(426 및 434) 및 그 각각의 접속(428 및 432);
· 네트워크(430);
· 링크(422 및 426); 및
· 접속기(424).
도 3A에서, 기능("F"; 603)은 적어도 하나의 입력 데이터흐름("i"; 601) 및 하나의 출력 데이터흐름("o"; 605)를 갖는다. 다른 입력 및 출력은 단순함을 위해 도시하지 않았다.
"F" 및 그 입력과 출력은 고장-허용 속성: 611, 613 및 615와 태그화될 수 있다. 태그("FT(F)"; 613)는 기능("F")에 대한 고장-허용 요구조건이 존재한다는 것을 의미한다. 이것은 "F"의 구현이 상이한 ECU에 대해 복제를 요구하여서, 입력의 세트가 제공되는 경우에, 대부분의 "F" 프로세싱이 하나의 고장의 발생에서도 진행한다는 것을 직관적으로 의미한다. "FT(o)"(615)는 데이터흐름("o")에 대해 고장 허용 요구조건이 존재한다는 것을 의미한다. "FS(i)"(611)은 데이터흐름("i")에 대해 고장-휴지 요구조건이 존재한다는 것을 의미한다.
본 발명에 설명한 프로세스에 따르면, 태그(FT(o))는 데이터흐름("o")을 소모하는 기능에 대한 안전 요구조건(의 결과)으로부터 추론된다. 도 3B에서, 시스템 설계자는 "F"가 고장 허용이어야 하고 데이터흐름(i)이 고장-휴지이어야 한다는 것을 안전 요구조건으로부터 추론한다.
본 발명의 프로세스의 또 다른 단계에서, 도 3C에서, 기능(F), 데이터흐름("i" 및 "o")에 대한 안전 요구조건이 태그(611, 613 및 615)에 의해 특정된 안전 요구조건을 극복하기 위해 복제되는 오브젝트(621 내지 655)를 알 수 있다. 도 3C에서, 복제는 하나의 대칭 고장에 대해 정의된다. 이것은 3개의 복제만이 고장-허용 구성요소에 대해 요구되고 2개의 복제가 고장-휴지 구성요소에 대해 요구된다는 것을 의미한다.
도 3C에서, F1(641), F2(643) 및 F3(645)는 기능("F")의 복제이고, 데이터흐름(FT(o)1(651), FT(o)2(653), FT(o)3(655))은 데이터흐름("o")의 복제이며, 데이터흐름(FS(i)1(621, 625, 629) 및 FS(i)2(623, 627, 631))은 데이터흐름("i")의 복제이다.
도 3C에서, 데이터흐름(FT(o)1)은 한편으로는 F2 및 F3 결과 (각각의 "o2"(624) 및 "o3"(626)), 및 다른 한편으로는 F1에 의한 입력(FS(i)1 및 FS(i)2)의 프로세싱("o1")으로부터 프로세스된다. 수행될 이러한 프로세싱에 대해, 투표 절차가 FS(i)1과 FS(i)2 사이 및 "o1"의 구성요소(각각의 "o2"(624) 및 "o3"(626)) 사이에 적용될 수도 있다. 더욱 일반적인 실시예하에서, FT(o)1은 단순히 F1, "o2"(624) 및 "o3"(626))에 의해 프로세스된 "o1"으로 구성된 트리플렛일 수도 있다. 이 경우에, 투표는 FT(o)1을 소모하는 임의의 기능에 의해 수행될 수도 있다.
"o3"(626)는 이들 데이터흐름이 동일한 물리적 경로를 따르지 않을 수도 있기 때문에 일단 구현되면 상이하게 실패할 수도 있기 때문에 "o3"(632)와는 상이하 다. 그래서, F3에 의해 프로세스된 "o3", F1에 의해 수신된 "o3"(626) 및 F2에 의해 수신된 "o3"(632) 사이에 구별을 한다.
F1을 프로세싱할 때, "o2"(624) 및 "o3"(626)는 충분하게 계산될 필요가 있으며 투표 이전의 "o1", "o2"(624) 및 "o3"(626)의 계산이 상기 브레이크 페달 요청 예에서 설명한 바와 같은 적절한 방식으로 수행되는 자리맞춤(justification)이 존재해야 한다. 이들 샘플링 및 에이징은 데이터흐름("o")에 대한 예측 정밀도에 관하여("w.r.t") 사운드되어야 한다. 이러한 자리맞춤은 시간-트리거링된 시스템과 관련하여 더욱 단순하며, 그 이유는 시간-트리거링된 시스템이 전자 구성요소의 비용이 (예를 들어, 소형 시리즈에 대해) 문제가 되지 않는 대부분의 시간에 이용되기 때문이다.
고장-휴지 오브젝트의 2개의 복제는 단일 대칭 고장이 시간에서 2개 복제에 대한 에러를 상승시킬 수 없는 경우에 하나의 대칭 고장에 대해 프리(free)하다고 말한다. 반대 예로서, 도 3D의 기능("G")은 데이터흐름(x1 673 및 x2 675)이 기능("G")의 프로세싱에서의 고장이 x1 및 x2에 대한 에러를 잠재적으로 상승시키기 때문에 링크되는 경우를 나타낸다.
고장-허용 오브젝트의 3개의 복제는 단일 대칭 고장이 시간에서 하나 이상의 복제에 대해 에러를 상승시킬 수 없는 경우에 하나의 대칭 고장에 대해 "프리"하다고 말한다.
"k"에 대해, 고장-허용 오브젝트의 정수, "2k+1" 복제는 "k" 대칭 고장이 시 간에서 "k" 복제 이상에 대해 적어도 에러를 상승시킬 수 없는 경우에 "k" 대칭 고장에 대해 "프리"하다고 말한다. 이들 정의는 고장-휴지 구성요소 및 비대칭 고장(예를 들어, "3k+1")에 대해 확장될 수 있다.
이들 정의는 데이터흐름과 같은 프로세스에 정확하게 적용하며, 프로세스 에러는 잘못된 실행인 반면에, 흐름 에러는 정보의 잘못된 송신이거나 전혀 송신이 없는 경우이다. 에러가 검출되거나 검출될 수 없다는 사실은 설계자가 데이터흐름을 태그화할 때를 아는 것이다.
F 및 다른 오브젝트에 대한 복제의 생성과 관련하여, 임의의 오브젝트의 복제 사이의 "프리네스(freeness)" 요구조건이 생성된다. 이것은 바람직하게는 자동으로 수행되지만, 궁극적으로는 복제 및 투표에 대한 전략의 선택에 의존한다.
도 3C에서, 데이터흐름(FT(o)1(651), FT(o)2(653) 및 FT(o)3(655))은 프리이고, 이것은 단일 고장이 시간에서 이들 흐름중의 하나 이상에 대해 에러를 상승시킬 수 없다는 것을 의미한다.
유사하게,
- FS(i)1 및 FS(i)2는 프리이어야 하고,
- F1, F2, F3는 프리어어야 하고, 이것은 단일 고장이 시간에서 복제중의 하나 이상의 프로세싱에서 고정을 상승시킬 수 없다는 것을 의미하고,
- F2(622) 및 F3(628)로 전송된 "o1" 데이터흐름은 프리이어야 하고,
- 동일한 요구조건이 한편으로는 F2 및 F3(624 및630)에 의해 각각 생성된 "o2" 및 "o3" 인스턴스로부터이고 다른 한편으로는 (632) 및 (626)은 프리이어야 한다.
다른 복제 방식이 구현될 수 있으며 그 후, 그 첨부된 프리네스 요구조건은 다를 수도 있다. 예를 들어, 비대칭 고장을 허용해야 하는 시스템에 있어서, 4개의 복제가 F에 대해 필요한 반면, 단지 하나의 대칭 고장이 허용되어야 하는 경우에는 단지 3개가 도 3A 내지 3D 예에서 실제로 필요하다.
프리네스는 복제가 동일한 소스의 카피인 한은 로컬 특성이다. 고장-허용 입력이 데이터흐름의 3개의 기능적 복제, 즉, 설계자에 의해 제안된 동일한 결과의 구성요소의 상이한 수단인 "d, e, f" 사이의 투표에 기초하는 경우에, "d, e, f"는 하나의 고장이 이들중 2개와 충돌할 수 없지만, 그 후, 프리네스 특성이 로컬이 아니다는 것을 보장하기 위해 프리이어야 한다. 설계자에 의해 제공된 3개의 독립 데이터흐름이 "프리"이다는 것은 이들중 2개의 계산에서의 임의의 스테이지에 참여하는 오브젝트가 없다는 것을 의미한다. 이러한 특성은 전체 기능적 아키텍처를 수반할 수도 있기 때문에 증명하는 것이 매우 어렵다. 이것은 태그화 및 복제 이전에 기능적 아키텍처에서 증명될 수도 있고, 따라서, 본 발명의 방법에 수록된 설계 프로세스의 초기 부분을 형성한다. 또한, 기능적 복제의 분석으로부터 전송된 프리네스 요구조건은 기능적 아키텍처가 하드웨어 아키텍처상에 매핑되면 충족될 것이다.
물리적 아키텍처상에 아이템(621 내지 655)으로 이루어진 기능적 아키텍처를 매핑할 때, 프리네스 요구조건은 구현 이후에 충족될 것이다. 이것은 하드웨어 아키텍처상에 매핑된 구성요소가 매핑 이전의 구성요소와 동일한 프리네스 요구조건을 충족시킨다는 것을 의미한다. 도 4A 내지 4D에서, 하드웨어 아키텍처상의 고장-휴지 기능의 매핑을 예시한다. 도 3A 내지 3D와 동일한 프로세스 단계로 시작한다.
제 1 단계(도 4A), 아이템(701 내지 705) 에서, 기능("J")(703)은 그것의 입력 데이터흐름("k"; 701) 및 출력 데이터흐름("i"; 705)을 갖는 것으로 특정된다.
제 2 단계(도 4B), 아이템(711 내지 715)에서, 작동기로부터 센서로의 역방향 분석 이후에, 기능(J) 및 그것의 입력 및 출력 흐름은 안전 속성, J에 대해 (713), "k"에 대해 (711) 및 "i"에 대해 (715)와 태그된다. "FS(J)"(713)는 J가 고장-휴지이어서 고장이 발생한 경우에, FS(J)는 J의 고장-프리 프로세싱의 결과를 전송하거나 아무것도 하지 않는다는 것을 의미한다.
제 3 단계(도 4C), 아이템(721 내지 735)에서, 복제 및 프리네스 요구조건이 요구된 안전 레벨을 제공하기 위해 특정된다. 예를 들어, i1 및 i2는 프리이어야 하고 J1 및 J2는 프리이어야 한다.
제 4 단계(도 4D)에서, 리던던시 기능적 아키텍처가 ECU 및 네트워크로 구성된 하드웨어 아키텍처상에 매핑된다. 기능(J1)은 ECU(741)상에서 프로세스되고 기능(J2)은 ECU(743)상에서 프로세스된다. 이러한 구현에서 J1 및 J2가 프리인지를 검사할 수 있다. 그러나, 데이터흐름("i1" 및 "i2")이 설계자에 의해 통신 버스(745) 상에 매핑되는 경우에, "i1" 및 "i2"의 프리네스 조건은 하나의 고장(버스가 오프)이 "i1" 및 "i2" 모두에 대한 에러를 추론하기 때문에 더 이상 충족될 수 없다. 그래서, 프리네스 조건을 명백하게 충족시키기 위해 버스(745)를 통해 "i1" 를 전송하고 버스(747)를 통해 "i2"를 전송하는 것이 더 안전하다.
하드웨어 아키텍처상의 리던던시 기능적 아키텍처의 매핑 동안, 안전 프리네스 요구조건의 개량을 진행한다. 예를 들어, "i1" 및 "i2"이 프리이다는 요구조건은 이들 흐름의 구현이 더욱 복잡한 조건인 프리이다는 요구조건으로 변환한다.
이제, 구성요소의 확률이 부족한 것으로 고려하는 경우에, 고장 허용 시스템의 설계는 더욱 정확하다. 이제, 프리네스 조건은 확률에 관하여 특정된다.
"p"를 시간 주기에서 데이터흐름("i1" 및 "i2") 모두의 고장을 상승시키는 고장에 대한 가장 긴 수용가능한 확률로 한다. 확률("p")은 "i1" 및 "i2"의 프리네스 정도를 나타낸다. 또한, 이것은 시스템(및 특히 기능(J))이 고장의 발생에서 고장-휴지가 아니다는 것을 수용할 수 있는 확률이다.
그래서, 흐름("i1" 및 "i2")가 고장 확률이 "p"보다 작은 버스를 통해 전송되는 경우에, 프리네스 조건이 충족된다. 반대로, "p1"이 버스(745)의 고장 확률이고 "p2"가 버스(747)의 고장 확률이다고 가정하는 경우에, p1*p2가 "p"보다 우세한 경우에, "i1"이 버스(745)를 통해 전송되고 "i2"가 버스(747)를 통해 전송되더라도, 프리네스 요구조건은 충족되지 않으며 더욱 신뢰가능한 설계가 요구된다.
도 5에서, 태그화 및 안전 요구조건이 기능을 조합할 때 태그화 및 안전 요구조건이 어떻게 안정한지를 예시한다. 이러한 특징은 이것이 시스템에 대해 증명될 모든 안전 요구조건을 프로세스의 세트 또는 데이터흐름의 세트가 프리이다는 증거로 감소시키는 "분할 통치" 접근방식에 대한 키이기 때문에 매우 중요하다. 이러한 방식으로, 증거를 만드는 노력은 지수적이 아닌, 기능 및 데이터흐름의 수와 함께 선형적으로 증가한다.
이것은, F 및 G(FoG)의 합성에 대한 안전 요구조건을 갖는 경우에, 이것은 한편으로는 F와 G 사이의 흐름의 안전 요구조건, 및 다른 한편으로는 다른 기능과 F 및 G의 안전 요구조건의 결과이다는 것을 의미한다. 결국, 시스템이 고장-허용이다는 것을 증명하는 것은 기능적 레벨에서 다수의 단순한 증거인 것으로 판명될 것이다. 복잡한 시스템이 어떤 안전 요구조건을 충족시킨다는 것을 증명하는 것은 시스템에서의 각 기능이 시스템 레벨에서의 요구조건으로부터 개량된 "로컬" 안전 요구조건을 충족시키는지를 증명하는 것과 동등하다. 예를 들어, 5개의 ECU상에 매핑된 기능적 및/또는 데이터흐름의 복제의 100 세트가 프리이다는 것을 증명하는 것은 복제의 각 세트가 프리이다는 것을 개별적으로 증명하는 것을 구성할 수도 있다. 안전 요구조건의 이러한 합성 특성은 결과적으로 스케일러블한 "분할 통치" 접근방식에 대한 키이다.
도 3A 내지 3D 및 4A 내지 4D로부터의 예들은 도 3A 내지 3D 및 4A 내지 4D에서의 분석이 기능이 조합될 때 어떻게 조합되는지를 나타내기 위해 도 5에 첨부 되었다. 이것은 여러 기능을 포함하는 복잡한 시스템을 어떻게 처리하는지의 특징을 제공한다.
기능(J 및 F)의 합성 동안, 데이터흐름 (601 및 705)는 이들이 동일한 데이터흐름을 나타내기 때문에 동등하게 된다. 여러 기능이 데이터흐름("i")을 소모하는 경우에, "i"에 대한 안전 요구조건은 "i"를 소모하는 각 기능으로부터 계승된 안전 요구조건의 최대값이다. 그래서, 복제의 수 및 그 신뢰도가 또한 동일한 방식으로 계산된다.
반대로, 예를 들어, 고장-허용 요구조건이 특정되기 때문에, 데이터의 3개의 복제가 이용가능한 경우에, 이러한 데이터는 안전 요구조건을 갖지 않는 기능에 의해 소모된다. 그 후, 그 기능을 계산하기 위해 복제 출력중의 하나를 픽업하는 것으로 충분하다. 한편, 3개의 복제가 존재하는 경우에, 이것은 적어도 하나의 고장-허용 기능 복제가 모든 3개의 데이터흐름 복제를 소모하기 때문이다.
도 5의 개요(821)는 도 3A-D 및 4A-D에 기재된 기능(F 및 J)의 구성요소를 예시한다. "i" 데이터흐름에 관하여, 한편으로는 데이터흐름(725) 및 다른 한편으로는 데이터흐름(621, 625 및 629)은 동등하게 된다. 유사하게, 한편으로는 데이터흐름(735) 및 다른 한편으로는 623, 627, 및 631이 동등하게 된다.
FoJ, F 및 J의 합성을 고려하는 경우에, FoJ에 대한 프리네스를 충족시키는 것은 한편으로는 개요(821) 내부에서 F와 J 사이 및 개요(821) 개별적으로 F 및 J에 대한 프리네스 요구조건을 충족시킨다는 것을 의미한다.
그래서, 기능적 아키텍처가 작동기로부터 시작하여 센서까지 반복적으로 완 벽하게 태그될 수 있다. 그 후, 프리네스 요구조건과 함께 기능적 복제가 생성될 수 있다. 이 생성은 복제 전략이 고장-허용의 각 레벨에 대해 표준인 경우에 자동으로 수행될 수 있다. 예를 들어, 최대 하나의 고장의 존재하에서 고장-휴지 기능 마다 도 4의 J와 동일한 방식으로 복제될 것이다.
하드웨어 아키텍처상의 (복제 생성 단계 이후에) 리던던시 기능적 아키텍처의 매핑이 수행되면, 최적화는 임의의 기능에 대해 구현이 덜 고가인 데이터흐름 복제를 선택하는 것으로 이루어진다. 예를 들어, 기능(F)이 3개의 복제(i1, i2 및 i3)를 갖는 데이터흐름("i")을 소모한다. F가 입력("i")으로부터 임의의 고장-허용 특성을 요구하지 않는다고 가정한다. 그 후, "i" 복제중의 하나가 소모될 필요가 있다. 예를 들어, i1이 F를 프로세스하는 ECU상에서 이용가능하고 i2가 또 다른 ECU상에서 이용가능한 경우에,F에 대한 입력으로서 i1을 선택하는 것은 가치가 있는 것이다.
도 6에서, 본 발명에 따른 고장-허용 아키텍처의 설계 프로세스의 바람직한 실시예가 기재되어 있다. 이 프로세스는 아래의 단계를 포함한다.
1 바람직하지 못한 이벤트 및 그 그레버트(gravity)의 식별.
2 실제 또는 가상 센서 및 작동기로 제조된 시스템의 기능적 사양.
3 림프-홈(limp-home) 모드의 설명.
4 바람직하지 못한 이벤트와 실제 또는 가상 작동기의 연관.
5 기능적 아키텍처에 대한 바람직하지 못한 이벤트의 개량.
6 안전 요구조건 개량과 함께 리던던시 도입.
7 하드웨어 아키텍처 정의.
8 전자 제어 유닛상에 기능의 매핑.
9 결과적인 전자 아키텍처의 고장-허용의 검증.
10 물리적 구성요소 및 와이어링의 기하학적 매핑.
11 결과적인 전기-전자 아키텍처의 고장-허용의 검증.
이 프로세스는 선형인 것으로 의도되지 않는다. 수 개의 루프가 이 프리젠테이션에 숨겨져 있다. 예를 들어, 단계 6은 다수의 재작동을 야기시킬 수도 있는 상이한 방식을 통해 구현될 수도 있다. 또한, 상이한 하드웨어 아키텍처는, 그 목적이 소정의 고장 허용 요구조건하에서 덜 고가의 아키텍처를 찾는 것이기 때문에, 단계 7에서 연구될 수도 있다. 단계 8에서, 상이한 매핑이, 특히 단계 9가 매핑이 충분하지 못하고 어떤 더 많은 작동을 요구한다는 것을 증명하는 경우에 연구될 것이다. 또한, 단계 10에서, 노드의 상이한 위치가 연구될 수도 있다. 이제, 도 6에 예시한 신규한 프로세스 단계를 더욱 상세히 설명할 것이고, 종래 기술의 일부 특징은 여기에서의 전체적 상세에 설명되지 않는다.
1. 바람직하지 못한 이벤트 및 그 그레버티의 식별
이 단계는 안전 분석의 종래의 일부인 기능적 장애 분석(FFA)의 널리 공지된 단계이다. 시스템에 대한 FFA의 결과는 상기 이벤트가 발생할 때 그 결과의 엄격성과 함께 바람직하지 못한 이벤트의 식별이다.
2. 실제 또는 가상 센서 및 작동기로 제조된 시스템의 기능적 사양
이 단계는 예를 들어, 도 2와 관련하여 전술한 기술을 이용하여 수행될 수도 있다.
이 스테이지에서, 이전에 이미 언급된 설계 고장의 정의를 개량할 수 있다. 설계 고장은 기능적 사양에서 이루어지는 고장이다.
3. 림프-홈 모드의 설명:
모드의 설명은 기능적 아키텍처와 상보적이다. 시스템은 제어-자동장치, 예를 들어, 데이터흐름을 트리거하는 스테이트차트로 구성되는 것으로서 설명될 수 있다[Fuchs98]. 가장 높은 레벨에서, 자동장치는 시스템 모드: 초기화, 공칭 모드, 림프-홈 모드 및 하나의 모드로부터 또 다른 모드로의 스위치를 위한 작용을 구현해야 한다.
예를 들어, 자동차 브레이킹 시스템의 경우에, 전면 좌측 브레이크가 기능하지 않고 다른 브레이크가 적절하게 작동하는 경우에, 브레이킹은 다수의 경우에서 전혀 브레이킹이 없는 것 보다 나쁜 차량의 안정성의 손실을 발생시킬 것이다. 그래서, 이 경우에, 신뢰가능한 림프-홈 모드가 각각에 대해 적합한 브레이킹 압력을 갖는 전면 우측 및 배면 좌측 브레이크로 브레이킹을 구성할 것이고, 이 경우에, 차량 속도는 연속적으로 감소할 것이고 차량은 안정을 유지할 것이다.
안전-임계 시스템에서, 림프-홈 모드는 공칭 모드가 어떤 고장으로 인해 이용가능하지 않는 경우에 저하된 서비스를 제공하는 것을 대부분 구성할 것이다. 이것은 도 6에서 시작하는 단계이다.
4. 바람직하지 못한 이벤트와 실제 또는 가상 작동기의 연관 및 상태 전환(도 6에서의 단계 a):
각각의 바람직하지 못한 이벤트에 대해, FFA 결과의 서브세트만을 고려하는 프로세스에서, 포함되는, 장애가 바람직하지 못한 이벤트를 상승시키는 작동기를 고려하며, 모든 다른 작동기는 정상적으로 기능한다. 예를 들어, 차량 브레이킹 시스템에서, 바람직하지 못한 이벤트, "브레이킹 동안 안정성의 부족"을 고려할 수 있다. 이것은 3개의 다른 작동기가 브레이킹하면서 작동기중의 하나가 브레이킹하지 않는 경우에 가능할 수도 있다. 시스템이 하나의 고장에 대해 허용된다는 것이 목적인 경우에, 분석은 예를 들어, 안정성의 부족이 작동기중의 하나의 장애로 인한 것이다는 결론을 유도할 수도 있다. 이 경우에, 브레이크 작동기 각각 단독에 대해 "브레이킹 동안의 안정성의 부족"을 연관시킨다. 이제, 바람직하지 못한 이벤트 "브레이킹이 요구되면서 브레이킹이 없음"을 고려하면, 작동기중 어느 것도 사운드 명령을 수신하지 못하여 이러한 바람직하지 못한 이벤트가 모든 브레이크의 세트와 명백하게 연관된다는 것이 명확하다.
그러나, 브레이킹 시스템이 제어-자동장치에 의해 트리거링되며 브레이킹 요구가 "브레이크" 상태를 초래하는 자동장치의 전환이다고 가정한다. 이 전환이 적절하게 수행되지 않는 경우에, 각 브레이크가 적절하게 작동하더라도 바람직하지 못한 이벤트가 발생할 것이다. 그래서, 바람직하지 못한 이벤트는 상기 상태 전환 실패가 상기 바람직하지 못한 이벤트를 상승시킬 수도 있는 경우에 상태 전환에 첨부될 수도 있다. 이러한 단계의 종단에서, 각 바람직하지 못한 이벤트는 엄격성과 함께, 모든 작동기의 하나 이상의 서브세트 또는 전환 결과에 첨부된다.
엄격성 레벨에 대한 가능한 참조가 기준[IEC61508]에 제공된다. 이 엄격성에 의존하여, 2개의 고장의 존재하에서 고장-휴지 또는 고장-허용 레벨이 장애 용인의 예상되는 확률과 함께 예상된다.
전기 브레이킹 시스템의 경우에, 작동기는 "고장-휴지"일 것이 요구되고, 즉, 브레이크가 기능하지 않는 물리적 상태에 삽입될 수 있다는 것이 증명되어야 한다. 확률이 예상되는 경우에, 전기 브레이크가 시간 단위 당 확률 "p"를 제외하고 기능하는 물리적 상태에 삽입될 수 있다고 말할 것이고, "p"는 매우 낮은, 예를 들어, 시간 당 10-8이다.
5. 기능적 아키텍처에 대한 바람직하지 못한 이벤트의 개량:
901의 시작에서, 센서, 작동기 및 기능 및 데이터흐름으로 이루어진 기능적 아키텍처를 가정하면, 어떤 데이터흐름은 전류를 모델링하고, 배터리는 센서로서 모델되며 이전의 단계 (a)에서 바람직하지 못한 이벤트를 식별하며 작동기에 링크되고; 그 후, 설계 엔지니어는 고장-휴지 또는 고장-허용을 예상하는지 또는 상기 작동기와 분리 연관된 바람직하지 못한 이벤트에 따라 각 작동기의 상이한 입력 흐름으로부터 요구조건이 없는지를 나타낼 수도 있다.
예를 들어, 브레이크 시스템의 경우에, 브레이크 단독으로 고장나지 않아야 한다는 요구조건이 존재하기 때문에, 각 브레이크의 브레이킹 힘 명령은 고장-허용에 특정될 수 있다. 그러나, 이 설계자는 장애가 검출된 이후에 브레이크 시스템이 신속하게 충분히 재작동할 수 있는 경우에 고장-휴지 요구조건이 충분하다고 단순히 고려할 수도 있다. 이러한 태그화는 이 방법에서의 입력인, 기능적 아키텍처 및 그것의 특성에 의존한다.
반복적으로, 그 후, 각 기능 및 상기 기능에 대한 각 관련 바람직하지 못한 이벤트에 동일한 분석을 적용함으로써 기능 및 센서의 안전 요구조건을 결정한다.
기능이 기능적 아키텍처를 통해, 작동기 세트의 제어에 직접적으로 기여하는 데이터흐름을 생성하는 경우에, 상기 기능 및 상기 기능의 입력에 대한 안전 요구조건을 확립하기 위해 상기 작동기의 세트의 서브세트에 링크되는 모든 바람직하지 못한 이벤트를 상기 기능에 대해 고려해야 한다. 또한, 상기 기능에 대해, 그 출력에 대한 각 제한이 그 출력을 소모하는 기능에 대한 이전의 안전 분석으로부터 오는지 고려해야 한다. 도 5에서, 예를 들어, 기능(F)의 출력에 대한 요구조건(615)은 입력 또는 기능(F)에 대한 요구조건(611)을 수반한다. 이것은 또한 기능(J)의 출력인 것으로 판명되어서, 기능(F)에 대한 이전의 분석은 기능(J)의 입력에 대한 요구조건(711) 및 J 자체의 제한을 수반한다.
단계 (b)에서, 출력 및 관련 바람직하지 못한 이벤트에 대한 요구조건이 아직 프로세스되지 않은 기능의 세트를 계산한다.
단계 (c)에서, (b)에서 계산된 각 기능에 대해,
ⅰ) 입력에 대해 어떤 신규한 안전 요구조건이 요구되며; 그리고
ⅱ) 안전의 어떤 레벨이 기능 자체에 대해 요구되는지(고장-허용("FT"), 고장의 존재하에서의 휴지("FS"), 아무것도 없음("N"))를 분석한다.
그 후, 단계 907 및 911을 따르고 단계 (b)에서 결정된 세트가 비어있지 않는 한은 (b) 및 (c)를 반복적으로 적용한다.
단계 (e)에서, 각 센서는 그것이 생성하는 데이터흐름에 대해 요구되는 고장 허용의 최대 레벨을 취한다.
또한, 데이터흐름에 대한 안전 요구조건의 개량은 동작의 각 모드가 개별적으로 고려되어야 하기 때문에 각 모드에서 수행되어야 한다. 바람직하지 못한 이벤트는 각 바람직하지 못한 이벤트에 대해, 어떤 고장 모드 전환이 수반될 수 있는지를 고려함으로써 모드 전환에 적용되어야 한다. 모드 전환은 상태 전환의 특정한 경우이다. 요구조건이 전화에 대해 설정되는 경우에, 작동기의 경우에서와 정확하게 유사하게 진행한다.
모드 전환이 그것의 활성을 초래하는 바람직하지 못한 이벤트하에서 실패하지 않는 것이 요구된다. 그래서, 모드 전환을 상승시키는 각 바람직하지 못한 이벤트에 대해, 모드 전환은 바람직하지 못한 이벤트 엄격성에 대응하는 안전 요구조건을 계승해야 하고 상기 바람직하지 못한 이벤트와 연관되어야 한다.
6. 안전 요구조건 개량과 함께 리던던시 도입(도 6의 931):
그 후, 단계 931에서, 각 기능에 대해, 복제 및 투표 메카니즘을 구현하기 위해 선택된 기능이 구현 모드가 지금까지 생성된 안전 요구조건에 의존하여 요구된다. 이 단계에서, 도 3A-D, 도 4A-D 및 도 5에 설명한 바와 같은 프리네스 조건을 또한 수집한다.
그렇게 형성된 기능적 아키텍처는 초기 아키텍처 보다 크다. 고장-허용 또는 고장-휴지 요구조건이 특정되지 않는 경우에, 기능적 아키텍처는 이 단계에서 변화되지 않는다.
7. 하드웨어 아키텍처 정의
이 단계에서, 시스템을 구현하는 전자 제어 유닛(ECU) 및 네트워크를 특정한다. 안전 분석이 양적인 것과 관련하여, 각 하드웨어 구성요소에 대한 시간 단위 당 예상되는 장애 레이트가 특정된다.
8. 전자 제어 유닛상에 기능의 매핑 (933):
이 단계에서, 기능은 예를 들어, 도 4에 예시한 바와 같이, 전자 제어 유닛상에 매핑된다.
9. 그렇게 형성된 전자 아키텍처의 고장-허용의 검증(935):
이 단계는 프리네스 조건의 검으로 이루어진다. 이러한 검증은 자동으로 수행될 수 있다. 예를 들어, 프리네스 조전에 의해 링크된 데이터흐름은 설계 툴로서 프로그램된 컴퓨터에 액세스 가능한 데이터베이스에 기록될 수도 있다. 또한, 데이터흐름을 구현하는 구성요소는 유사한 방식으로 이러한 데이터베이스에 기록될 수도 있다. 그 후, 여러 프리 데이터흐름을 구현하는 구성요소가 존재하는지 여부를 상기 설계 툴을 이용하여 자동으로 찾는다.
본 발명의 프로세스를 구현하는 소프트웨어는 상기 설계 툴로서 동작하는데 적합한 컴퓨터에 의한 실행에 적합한 프로그램 형태의, 컴퓨터 판독가능 메모리와 같은 컴퓨터 프로그램 제품에 유용하게 기록될 수도 있다. 이 컴퓨터 프로그램 제품은 프로그램이 로딩될 때, 본 발명의 방법에 따라 시스템 아키텍처를 컴퓨터 실행 절차가 설계 및 검증하게 하는 형태로, 컴퓨터 프로그램 코드상에 인코딩된 컴퓨터 판독가능한 매체를 포함할 수도 있다.
요구의 출력은 이러한 구성요소의 리스트일 수 있고 이러한 출력은 제안된 아키텍처의 물리적 설계 견고성의 수동 또는 자동 검사에 적합한 형태일 수도 있다. 확률이 특정되는 경우에, 요구의 출력은 프리네스 조건의 예상되는 실패 확률 아래의 신뢰도를 갖는 이러한 구성요소의 리스트일 수 있다.
10. 물리적 구성요소 및 와이어링의 기하학적 매핑 (933 bis ):
이 단계에서, 와이어 경로, 전자 제어 유닛 사이의 접속기 및 케이블, 배터리, 센서, 작동기, 및 더욱 일반적인 전기 구성요소가 특정된다.
11. 물리적 구성요소 및 와이어링의 기하학적 매핑(935 bis )
프리네스 특성은 구성요소의 기하학적 매핑을 통해 개량되고: 2개의 와이어(W1 및 W2)가 각각의 데이터흐름(D1 및 D2)을 전달하고 D1 및 D2가 프리인 경우에, 와이어(W1 및 W2)를 동일한 접속기(C)에 접속하는 것을 불가능하다. C가 고장인 경우에, W1 및 W2 모두는 프리네스 요구조건에 관하여 사운드되지 않은 동일한 고장으로 인해 절단될 수도 있다.
그래서, 기하학적 매핑 이후에 이루어지는 검증은 (와이어를 함께 모으는) 접속기 및 케이블에 관한 것이며, 그 후, 프리네스 조건은 다름과 같이 개량된다.
- 확률이 특정되고 고장인 접속기에 대한 확률이 요구된 프리네스 디폴트 확률 아래인 경우를 제외하고 프리 흐름을 전달하는 와이어를 동일한 접속기에 접속하는 것을 허용하지 않는다.
- 케이블 제조 프로세스가 단락, 개방 회로의 발생을 충분하게 낮은 확률, 즉, 상기 데이터흐름의 디폴트 프리네스 확률 아래로 방지하는 경우를 제외하고 프 리 데이터흐름을 전달하는 와이어를 동일한 케이블에 함께 모으는 것을 허용하지 않는다.
와이어된 데이터흐름에 대한 프리네스 조건은 신규한 요구조건(불확률 요구조건)을 생성할 것이다. 이러한 검증은 자동으로 수행될 수 있다. 예를 들어, 프리네스 조건에 의해 링크된 데이터흐름은 설계 툴로서 프로그램된 컴퓨터에 액세스 가능한 데이터베이스에 기록될 수도 있다. 또한, 데이터흐름을 구현하는 구성요소는 유사한 방식으로 이러한 데이터베이스에 기록될 수도 있다. 그 후, 여러 프리 데이터흐름을 구현하는 구성요소가 존재하는지 여부를 이 설계 툴을 이용하여 자동으로 찾는다. 본 발명의 프로세스를 구현하는 소프트웨어는 상기 설계 툴로서 동작하는데 적합한 컴퓨터에 의한 실행을 위한 프로그램 형태의 컴퓨터 판독가능 메모리에 유용하게 기록될 수도 있다.
따라서, 본 발명이 안전 임계 시스템의 스케일러블한 설계를 위한 방법 단계를 갖는 설계 프로세스를 제공한다는 것을 알 수 있다. 또한, 분석은 기능적 레벨에서 수행될 수 있고, 그 후, 상이한 하드웨어 구현에 이용될 수 있으며, 예를 들어, 제안된 하드웨어 구현이 저가인지 및/또는 다른 것 보다 더 안전한지를 확인하기 위한 목적으로 이용될 수 있다.
레퍼런스:
[Fuchs98] "Advanced Design and Validation Techniques for Electronic Control", Max Fuchs et al, SAE, 1998
SAE paper 980199 available online:
www4.informatik.tu-muenchen.de/publ/papers/FEMPS98.pdf
[Harel87] "State charts: A Visual Fomalism For Complex Systems", David Harel, Science of Computer Programming 8, Elsevier Science Publisher B.V (North Holland), 1987
[Rush95] "Formal Methods and Their Role in the Certification of Critical Systems", John Rushby, Technical report CSL-95-1, Computer Science Laboratory, SRI International, Menlo Park, CA, 1995
[Kop96] "The Systematic Design of Embedded Real-Time Systems", H. Kopetz, Lecture notes, Hermann Kopetz, 1996; also in
"Real-Time Systems: Design Principles for Distributed Embedded Applications", H.Kopetz, published by Kluwer Academic, 1997
[IEC61508] "IEC61508: Functional safety of electrical/electronic/programmable electronic safety-related systems", International Electrotechnical Commission(IEC), 1998.
[SCHEID02] "Systems Engineering for Time Triggered Architectures"(SETTA). Deliverable D7.3, Final Document, version 1.0", XP-002264808, 18 April 2002.
This can be found via the URL: "http://www.setta.org"

Claims (9)

  1. 서로 접속된 복수의 전기 장치를 포함하는 시스템 아키텍처를 제조하는 방법으로서, 상기 시스템은 바람직하게는 고장 허용(fault tolerant) 시스템을 포함하며, 상기 방법은,
    a) 바람직하지 못한 이벤트의 세트를 식별하여 상기 바람직하지 못한 이벤트 각각에 엄격성 지표를 귀속시키는 단계;
    b) 상기 가능한 바람직하지 못한 이벤트 각각의 위치를 상기 시스템 아키텍처의 하나 이상의 작동기와 연관시키는 단계;
    c) 상기 시스템 아키텍처의 구현을 위해 제안된 초기 아키텍처의 기능 사양을 개발하는 단계로서, 상기 초기 아키텍처의 기능적 사양은 그 구성요소들에 대한 및 그 구성요소들 사이의 데이터흐름을 포함하며, 상기 구성요소는 예를 들어, 센서들 또는 작동기들을 포함하는 것인 상기 기능 사양을 개발하는 단계;
    d) 상기 바람직하지 못한 이벤트 각각의 엄격성과 관련된 고장 허용 요구조건을 상기 기능적 사양에 대해 개량하여, 상기 기능적 사양의 개량된 고장 허용 요구조건을 발행하는 단계;
    e) 복제의 독립성의 첨부된 지표와 함께 상기 기능적 사양에서 복제를 생성하는 단계로서, 상기 지표는 상기 개량된 고장 허용 요구조건을 반영하는 것인 상기 복제를 생성하는 단계;
    f) 상기 시스템 아키텍처에 대한 하드웨어 구조, 예를 들어, 네트워크에 의 해 서로 접속된 일련의 전자 제어 유닛들을 정의하는 단계;
    g) 상기 하드웨어 구조상에 상기 기능적 사양을 매핑하는 단계; 및
    h) 상기 독립성의 지표가 매핑 동안 보존된다는 것을 자동으로 검증하는 단계
    를 포함하는 시스템 아키텍처 제조 방법.
  2. 제 1 항에 있어서, 바람직하게는 상기 단계 c)에, 일련의 동작 모드들, 예를 들어, 공칭 및 림프-홈(limp-home) 모드들을 정의하는 단계를 포함하는 것인 시스템 아키텍처 제조 방법.
  3. 제 2 항에 있어서, 상기 일련의 모드들을 하나 이상의 상태 차트의 형태로 특정하는 단계를 포함하는 시스템 아키텍처 제조 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 하드웨어 구성요소 및/또는 와이어링을 기하학적으로 매핑하는 단계와, 그 후, 상기 독립성의 지표가 상기 기하학적 매핑에 의해 보존된다는 것을 자동으로 검증하는 단계를 포함하는 시스템 아키텍처 제조 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서, 시간 단위당 고장의 확률의 형태로 엄격성을 특정하는 단계를 포함하는 시스템 아키텍처 제조 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 시스템 아키텍처를 제조하는 데이터의 세트를 출력하는 단계를 포함하는 시스템 아키텍처 제조 방법.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서, 상기 아키텍처는 차량용 아키텍처, 예를 들어, 브레이크 시스템용 제어 회로와 같은 안전 임계 아키텍처를 포함하는 시스템 아키텍처 제조 방법.
  8. 프로그램이 로딩될 때, 컴퓨터 실행 절차가 시스템 아키텍처를 설계 및 검증하게 하기 위해, 컴퓨터 프로그램 코드 수단을 갖는 컴퓨터 판독가능 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 절차는,
    a) 바람직하지 못한 이벤트의 세트를 식별하여 상기 바람직하지 못한 이벤트 각각에 엄격성 지표를 귀속시키는 단계;
    b) 상기 가능한 바람직하지 못한 이벤트 각각의 위치를 상기 시스템 아키텍처의 하나 이상의 작동기와 연관시키는 단계;
    c) 상기 시스템 아키텍처의 구현을 위해 제안된 초기 아키텍처의 기능 사양을 개발하는 단계로서, 상기 초기 아키텍처의 기능적 사양은 그 구성요소들에 대한 및 그 구성요소들 사이의 데이터흐름을 포함하며, 상기 구성요소는 예를 들어, 센서들 또는 작동기들을 포함하는 것인 상기 기능 사양을 개발하는 단계;
    d) 상기 바람직하지 못한 이벤트 각각의 엄격성과 관련된 고장 허용 요구조 건을 상기 기능적 사양에 대해 개량하여 상기 기능적 사양의 개량된 고장 허용 요구조건을 발행하는 단계;
    e) 복제의 독립성의 첨부된 지표와 함께 상기 기능적 사양에서 복제를 생성하는 단계로서, 상기 지표는 상기 개량된 고정 허용 요구조건을 반영하는 것인 상기 복제를 생성하는 단계;
    f) 상기 시스템 아키텍처에 대한 하드웨어 구조, 예를 들어, 네트워크에 의해 서로 접속된 일련의 전자 제어 유닛들을 정의하는 단계;
    g) 상기 하드웨어 구조상에 상기 기능적 사양을 매핑하는 단계; 및
    h) 상기 독립성의 지표가 매핑 동안 보존된다는 것을 자동으로 검증하는 단계
    를 포함하는 컴퓨터 프로그램 제품.
  9. 시스템 아키텍터의 설계 및 검증에 적합한 설계 툴로서, 제 1 항 내지 제 7 항 중 어느 한 항의 단계를 구현하는데 적합하거나, 제 8 항의 컴퓨터 프로그램 제품을 이용하여 프로그램된 설계 툴.
KR1020067016057A 2004-01-13 2005-01-13 안전 임계 시스템의 설계 KR20060110358A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0400018 2004-01-13
FR04300018.1 2004-01-13

Publications (1)

Publication Number Publication Date
KR20060110358A true KR20060110358A (ko) 2006-10-24

Family

ID=37616196

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067016057A KR20060110358A (ko) 2004-01-13 2005-01-13 안전 임계 시스템의 설계

Country Status (1)

Country Link
KR (1) KR20060110358A (ko)

Similar Documents

Publication Publication Date Title
EP1706799B1 (en) Design of safety critical systems
JP2007528532A6 (ja) 安全性重視システムの設計方法
JP4749414B2 (ja) 組み込まれたシステムの実証方法
US10229016B2 (en) Redundant computer system utilizing comparison diagnostics and voting techniques
US9829866B2 (en) Method and apparatus for automatically creating an executable safety function for a device
RU2383926C2 (ru) Способ и система контроля робастности модели физической системы
Vytopil Formal techniques in real-time and fault-tolerant systems
KR101560497B1 (ko) 락스텝으로 이중화된 프로세서 코어들의 리셋 제어 방법 및 이를 이용하는 락스텝 시스템
RU2477515C2 (ru) Способ и устройство контроля систем авионики, связанных с общей средой
Pataricza et al. UML-based design and formal analysis of a safety-critical railway control software module
Pike et al. Abstractions for fault-tolerant distributed system verification
JP2013077048A (ja) 自己診断機能を備えたコンピュータ、ソフトウェア作成方法、およびソフトウェア作成装置
KR20060110358A (ko) 안전 임계 시스템의 설계
Jazdi Dynamic calculation of the reliability of factory automation applications: Industry 4.0 applications
Morel Model-based safety approach for early validation of integrated and modular avionics architectures
Heimdahl et al. Deviation analysis: A new use of model checking
JP4032907B2 (ja) 設計支援装置及び設計支援方法並びにプログラム
Schoepf et al. Why CPM is not CPM-enabling standardized safety mechanisms on off-the-shelf ima modules
Pimentel Safety-critical automotive systems
Kova et al. A formal verification approach of conversations in composite web services using NuSMV
Ammar et al. Formal verification of Time-Triggered Ethernet protocol using PRISM model checker
Kopetz The real-time environment
Konuk Redundant and safe work implementation for S7-1200 PLC family
McKelvin et al. Fault tree analysis for the design exploration of fault tolerant automotive architectures
France et al. The Modeling and Simulation of an Automotive Braking System Using the TTP/C Protocol

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee