유니버설 시스템 언어

Universal Systems Language

Universal Systems Language(USL)는 소프트웨어 및 기타 복잡한 시스템의 사양 및 설계를 위한 시스템 모델링 언어 및 정식 방법입니다.그것은 Margaret Hamilton아폴로 프로그램을 [1]위한 비행 소프트웨어를 만든 경험을 바탕으로 디자인했습니다.이 언어는 Hamilton Technologies, Inc.[2]의 001 Tool Suite 소프트웨어를 통해 구현됩니다.USL은 001AX에서 진화했습니다.ES는 결국 해밀턴의 제어 공리에 기초하고 있는 AXES에서 진화했습니다.001 Tool Suite는 수명 주기 개발 프로세스에 DBTF(Development Before the Fact)의 예방적 개념을 사용합니다.DBTF는 개발 프로세스 중에 오류를 최대한 조기에 제거하므로 사후 오류를 찾을 필요가 없습니다.

철학

USL은 해밀턴이 아폴로 소프트웨어 개발 중에 발생한 패턴 또는 오류 카테고리를 인식한 것에서 영감을 받았습니다.서브시스템 경계 간의 인터페이스 오류는 대부분의 오류를 설명했으며, 종종 가장 미묘하고 찾기 어려운 오류였습니다.각 인터페이스 에러는, 시스템 정의에 의해서 그것을 회피하는 수단을 특정하는 카테고리에 배치되었습니다.이 과정은 6가지 공리의 집합으로 이어졌고, 시스템이 [3][4]정의되는 방식으로 모든 종류의 오류를 제거할 수 있는 시스템을 설계하기 위한 수학적 구성적 논리 제어 이론의 기초를 형성했습니다.

USL 문법에 일정한 정확성 보증이 포함되어 있습니다.프로그램 검증에 대한 사후 대응적 접근법, 라이프 사이클 후반의 오류 테스트와 달리 USL의 사전 개발 철학은 예방적이어서 애초에 오류를 허용하지 않는다.USL 정의는 응용 프로그램(예를 들어 항전 또는 은행 시스템)과 제어 속성을 모두 자체 라이프 [5]사이클로 모델링합니다.USL은 객체, 그 상호작용 및 그 관계를 포착할 수 있는 수학적 프레임워크를 제공함으로써 시스템을 정의하기 위한 "메타메카니즘"을 가지고 있습니다.USL의 철학은 모든 오브젝트는 재귀적으로 재사용할 수 있고 신뢰할 수 있는 시스템으로 정의되며 신뢰할 수 있는 시스템만 구성 요소로 사용되며 신뢰할 수 있는 시스템만 이러한 구성 요소를 통합하여 새로운 시스템을 형성하기 위한 메커니즘으로 사용됩니다.설계자는 새로운 시스템과 보다 원시적인 시스템을 함께 사용하여 보다 포괄적이고 신뢰할 수 있는 시스템을 정의(및 구축)할 수 있습니다.시스템이 신뢰할 수 있는 경우 모든 수준 및 계층의 모든 개체가 신뢰할 수 있습니다.

USL은 다른 정식 [6]시스템보다 사용하기 쉬운 것으로 간주되는 사용자도 있습니다.이는 소프트웨어의 형식주의일 뿐만 아니라 물리적 공간 및 이벤트 타이밍과 같은 문제 영역의 공통 요소에 대한 온톨로지도 정의합니다.

지배이론의 형식주의

시스템 제어의 논리를 나타내는 시스템 철학 형식주의인 USL은 일반적인 시스템 제어 이론의 일련의 공리와 그 적용을 위한 공식 규칙에 기초한다.모든 USL 시스템의 기초에는 6개의 공리와 범용 [7][8]객체 집합의 가정이 있습니다.이러한 공리는 USL "계층화"의 공식 기반을 제공합니다. 지도는 객체 간의 관계 네트워크를 포괄하는 제어 트리입니다.
지도를 정의하기 위한 명시적 규칙은 구조, 행동 및 통합이 포착되는 공리에서 파생되었습니다.
각 공리는 부모에 의한 자녀에 대한 직접적인 지배의 관계를 정의합니다.
이 관계의 결합은 통제력이다.무엇보다도 이들 공리는 시공간에서의 호출, 입출력(도메인과 코드메인), 입력접근권 및 출력접근권(도메인 접근권 및 코드메인 접근권), 오류검출과 회복, 개발상태 및 동작상태에서의 순서를 위한 객체의 관계를 확립한다.모든 시스템은 궁극적으로 세 가지 원시 제어 구조 측면에서 정의될 수 있으며, 각 구조는 여섯 개의 공리에서 파생되어 시스템을 정의하기 위한 보편적인 의미론이 됩니다.

시스템의 모든 표현은 Function Map(FMAP; 펑션 맵)과 Type Map(TMAP; 유형 맵)의 관점에서 정의됩니다.USL을 사용하면 시스템 내의 모든 기능과 그 관계는 일련의 FMAP로 정의됩니다.마찬가지로 시스템 내의 모든 유형과 그 관계는 일련의 TMap으로 정의됩니다.FMaps는 기능적 특성과 시간적 특성(우선순위 포함)을 캡처함으로써 동적(실행) 동작 세계를 나타냅니다.TMaps는 공간적 특성(예를 들어, 한 물체의 다른 수용이나 공간 내 물체의 위치 간 관계)을 포착함으로써 물체의 정적(존재) 세계를 나타냅니다.FMap은 본질적으로 TMap과 통합되어 있습니다.공리 집합에서 파생된 세 개의 보편적인 원시 구조와 궁극적으로 원시 구조의 관점에서 파생된 비원시적 구조가 각 지도를 규정한다.원시 구조는 새로운 추상적 보편적 구조, 기능 또는 유형을 도출하는 데 사용될 수 있다는 점에서 보편적이다.새로운 객체(즉, 구조, 유형 및 기능)를 도출하는 과정은 건설적 유형 이론에서 새로운 유형을 도출하는 과정과 동등하다.TMap에서 정의된 유형의 원시 연산에 대응하는 원시 함수는 FMap의 하단 노드에 상주합니다.각각의 공리 세트에 의해 정의된 원시 유형은 TMap의 하단 노드에 상주합니다.각 원시 기능(또는 유형)은 시스템의 하위(구체적) 층에서 지도의 최상위 노드로 실현될 수 있다.맵의 모든 노드에 상주하는 것은 동일한 종류의 객체입니다(예를 들어 FMap의 모든 노드 및 TMap의 유형).각 노드의 오브젝트는 여러 역할을 수행합니다.예를 들어 오브젝트는 부모(자녀 제어) 또는 자녀(자녀 제어)로 기능할 수 있습니다.FMap의 각 함수는 입력에서 출력(도메인에서 코도메인)으로의 매핑을 가지지만 TMap의 각 유형은 도메인과 코도메인 간의 관계를 가집니다.구조는 제어의 공리에서 도출된 규칙 집합에 따라 각 부모와 그 자식들을 관련짓는다.원시 구조는 제어의 가장 원시적인 형태(최소한의 입자)의 관계를 제공합니다.모든 맵은 궁극적으로 기본 구조의 관점에서 정의되므로 각 구조와 관련된 규칙을 준수합니다.부모는 자녀가 부양가족(참여), 독립적(포함) 또는 의사결정 관계(또는 의사결정 관계)를 갖도록 통제한다.

그림 1 3개의 원시 제어 구조와 그 규칙은 FMaps 및 TMaps로서 시공간 영역에 지도를 구축하기 위한 보편적인 기반을 형성한다.

모든 시스템은 원시 구조만을 사용하여 완전히 정의될 수 있지만, 원시 구조에서 정의되고 파생되는 덜 원시적인 구조(따라서 제어 공리에 의해 지배됨)는 시스템의 정의와 이해를 가속화합니다.템플릿과 같은 재사용 형태인 정의된 구조는 일부 요소를 명시적으로 정의하지 않고 맵을 정의하는 메커니즘을 제공합니다.FMap 구조에는 가변 함수의 자리 표시자가 있고, TMap 구조에는 가변 유형의 자리 표시자가 있으며, 유니버설 구조에는 함수 또는 유형의 자리 표시자가 있습니다.Async는 비동기 동작과 동기 동작을 모두 갖춘 실시간 분산 통신 FMap 구조의 예입니다.TMap 구조의 예로는 트리 인덱싱 시스템을 사용하여 주문된 동일한 유형의 개체 집합인 TreeOf가 있습니다.각 TMap 구조는 부모 및 자녀 유형에 대해 가능한 관계 세트를 가정합니다.동일한 TMap 구조에서 분해된 추상 유형은 동일한 원시 연산을 상속하므로 동일한 동작(각각 TMap 유형의 멤버에 액세스할 수 있는 FMAP에서 사용 가능)을 상속합니다.

실행

다음과 같이 함께 자동화에 USL와 소프트웨어 시스템 개발의 과정에서, 그 001 도구 스위트(001),:, 자동으로 001의 분석기와 함께 USL정확하게 사용된지 확인할 수 있도록 정의를 분석하여 자동으로 설계의 많은 생산하고 001의 발전기 모든 구현 코드의 USL을 가지고 시스템 파악하는 것입니다.[9][10][11][12]USL은 다른 [13]언어에 대한 공식적인 지원을 제공하기 위해 사용할 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ M. Hamilton과 W. R. Hackler, "범용 시스템 언어: 아폴로로부터 얻은 교훈」, IEEE Computer, 2008년 12월.
  2. ^ 001 툴 스위트(1986-2020)
  3. ^ Margaret H. Hamilton, Hamilton Technologies (September 27, 2012). ""Universal Systems Language and its Automation, the 001 Tool Suite, for Designing and Building Systems and Software" Lockheed Martin/IEEE Computer Society Webinar Series".
  4. ^ Hamilton, Margaret H. (2018). "What the Errors Tell Us". IEEE Software. 35 (5): 32–37. doi:10.1109/MS.2018.290110447. ISSN 0740-7459. S2CID 52896962.
  5. ^ Dolha, Steve, Chiste, Dave, "A Remote Query System for the Web: Management of Distributed Systems." 제32장, 인터넷 관리, Jessica Keyes, Auerbach, 2000.
  6. ^ Krut, Jr., B., "기능 지향 도메인 분석 방법론에 001 도구 지원 통합"(CMU/SEI-93-TR-11, ESC-TR-93-188), 피츠버그, SEI, 카네기 멜론 대학교, 1993.
  7. ^ Hamilton, M., "Inside Development Before the Fact", 커버스토리, 스페셜 에디터 부록, 8ES-24ES.Electronic Design, 1994년 4월
  8. ^ Hamilton, M., "001: Full Life Cycle Systems Engineering AND Software Development Engineering and Software Development Engineeration Before The Fact In Action", 커버스토리, 스페셜 에디터 부록, 8ES-24ES.Electronic Design, 1994년 4월
  9. ^ 1995년 매사추세츠 주 캠브리지, 매사추세츠 공과대학, MIT-ANP-TR-035, 보고서 번호: MIT-ANP-TR-035, 안전 중요 시스템의 고품질 소프트웨어 개발을 위한 통합 공식 접근법.
  10. ^ Software Productivity Consortium, (SPC) (1998), 객체 지향 메서드도구 조사, 버지니아주 Herndon.SPC-98022-MC, 버전 02.00.02, 1998년 12월
  11. ^ Max Shindler(1990) Computer Aided Software Design, John Wiley & Sons, 1990.
  12. ^ * 국방부(1992)소프트웨어 엔지니어링 도구 실험-최종 보고서, Vol. 1, 실험 요약, 표 1, 페이지 9. 전략 방위 구상, 워싱턴 D.C.
  13. ^ Hamilton, M. Hackler, W.R., "SysML의 공식 유니버설 시스템 의미론, 제17회 국제 심포지엄, INCOSE 2007, 캘리포니아 샌디에이고, 2007년 6월.

추가 정보

  • Hamilton, M., Zeldin, S.(1976), "High Order Software - A Methodology for Definition Software", 소프트웨어 엔지니어링에 관한 IEEE 트랜잭션, vol. SE-2, no.1, 1976년 3월.
  • 해밀턴, M. (1994년 4월)'사실보다 발전' (커버스토리)특별 편집 부록. 8ES-24ES.전자 설계
  • M. 해밀턴(1994년 6월)"001: 전체 라이프 사이클 시스템 엔지니어링소프트웨어 개발 환경" (커버스토리)특별 편집 부록. 22ES-30ES.전자 설계
  • 해밀턴, M, 해클러, W.R...(2004년), DI-GNU(Deep Integrated Guidance Navigation Unit) 공통 소프트웨어 아키텍처 원칙(2004년 12월 29일 개정), DAAAE30-02-D-1020 및 DAAB07-98-D-H502/0180, NJ–2004년).
  • Hamilton, M. and Hackler, W.R. (2007), "예방 시스템 엔지니어링을 위한 범용 시스템 언어", Proc. 5th Ann. Conf. Systems Eng. Res. (CSER), Stevens Institute of Technology, 2007년 3월, 문서 번호 36.
  • 해밀턴, M.; 해클러, W. R. (2007)"A Formal Universal Systems Symantics for SysML." 제17회 국제심포지엄, INCOSE 2007, 샌디에이고, 캘리포니아, 2007년 6월.

외부 링크