1.1 이 표준은 철도 제어와 방호 응용 분야에 사용되는 프로그램 가능한 전자 시스템용 소프트웨어 개발을 위한 절차와 기술적인 요구사항을 규정한다. 이 표준은 안전을 요구하는 모든 영역에서의 사용을 목표로 한다. 이러한 시스템은 전용 마이크로프로세서, 프로그래밍이 가능한 로직 컨트롤러, 다중 처리 분산 시스템, 대규모 중앙 처리 시스템 또는 기타 아키텍처들을 사용하여 구현할 수 있다. 1.2 이 표준은 소프트웨어 및 소프트웨어와 그 소프트웨어가 속한 시스템 간의 상호 작용에서만 적용된다. 1.3 이 표준은 안전에 영향을 미치지 않는 것으로 입증된 소프트웨어, 즉 결함이 어떠한 입증된 안전 기능에 영향을 미칠 수 없는 소프트웨어와는 관련이 없다. SIL 0의 개념은 위험도(risk) 평가와 위험원(hazard) 식별에 대한 불확실성 때문에 도입된다. SIL 1보다 낮은 안전 영향을 미치는 기능의 소프트웨어 부분에 대해서는 최소한 이 표준의 SIL 0 조건을 만족해야 한다. 1.4 이 표준은 다음을 포함하여 철도 제어 및 방호 시스템에 사용되는 모든 안전 관련 소프트웨어에 적용된다. —응용 프로그래밍 —운영 체제 —지원 도구들 —펌웨어 응용 프로그래밍은 상위 수준 프로그래밍, 하위 수준 프로그래밍 및 특수 목적 프로그래밍[예를 들면, 프로그램 가능 로직 제어기(PLC: Programmable logic controller) 래더 로직]으로 구성된다. 1.5 또한 이 표준은 기존 소프트웨어와 도구의 사용을 다루고 있다. 기존 소프트웨어에 대한 7.3.4.7 및 6.5.4.16의 특정 요구사항과 6.7의 도구에 대한 특정 요구사항이 충족되는 경우 해당 소프트웨어를 사용할 수 있다. 1.6 이 표준의 모든 개정판에 따라 개발된 소프트웨어는 규정 준수로 간주되며 기존 소프트웨어에 대한 요구사항을 적용하지 않는다. 1.7 이 표준은 현대적 응용 프로그램 설계가 다양한 응용 프로그램의 기초로 적합한 일반 소프트웨어를 사용하여 종종 작성되는 것을 고려한다. 이러한 일반 소프트웨어는 응용 프로그램의 실행 가능한 소프트웨어를 생성하기 위해 데이터, 알고리즘 또는 둘 모두에 의해 구성된다. 이 표준의 1절에서 6절 및 9절은 응용 프로그램 데이터 또는 알고리즘뿐만 아니라 일반 소프트웨어에도 적용된다. 7절은 일반 소프트웨어에만 적용되며 8절은 응용 프로그램 데이터 또는 알고리즘에 대한 특정 요구사항을 제공한다. 1.8 이 표준은 상업적 문제를 다루기 위한 것이 아니다. 이것들은 계약상 합의의 필수적인 부분으로 다루어져야 한다. 이 표준의 모든 절은 상업적 상황에서 신중한 고려가 필요하다. 1.9 이 표준은 소급 적용할 의도가 없다. 따라서 이 표준은 주로 신규 개발에 적용되며, 기존 시스템 전체가 주요 변경의 대상이 되는 경우에만 적용된다. 경미한 변경의 경우 9.2만이 적용된다. 평가기관은 소프트웨어 설명서에 제공된 유효성 검사를 분석하여 소프트웨어 변경의 특성 및 범위 결정이 적절한지 여부를 확인한다. 단, 기존 소프트웨어의 업그레이드 및 유지 보수 시 이 표준의 적용을 적극 권장한다.