DOORS 확장 언어
DOORS Extension LanguageDOORS 확장 언어(DXL)는 IBM의 Rational [1][2][3]DOORS 기능을 확장하는 데 사용되는 스크립트 언어입니다.이 프로그래밍 언어는 C 및 C++[4]와 다소 유사합니다.이 언어는 DOORS에 고유한 언어이며, 특정 [6]참조 매뉴얼 외에 자체 구문, 선언,[5] 개발에 대한 토론 포럼이 있습니다.DOORS 사용자를 지원하기 위해 DXL 스크립트를 사용했습니다.대부분의 기본 DOORS GUI는 DXL로 [7]작성됩니다.
DXL은 클라이언트 서버 기반의 DOORS Classic에서 사용되며, 새로운 웹 기반 DOORS Next Generation에서는 사용되지 않습니다.
DXL 사용방법
Rational DOORS에서 DXL을 사용하는 방법은 여러 가지가 있습니다.
- "Editor DXL"은 DXL Editor 창에 입력된 DXL입니다.일부 파일에 저장되거나 저장되지 않을 수도 있습니다.이 DXL 에는, 통상, 인쇄문만을 사용하는 경우는, 몇개의 유저 인터페이스가 있습니다.
- "Menu DXL"은 파일에 저장되며 탐색기 또는 모듈을 여는 DOORS 창에 나타납니다.파일은 .dxl 유형이어야 하며 DOORS 메뉴를 표시하도록 파일과 하우징 폴더를 설정해야 합니다.그 외에는 DXL Editor DXL과 비슷합니다.
- "Attribute DXL"[8]은 Attribute Definition에 저장되어 모듈에 저장됩니다.단일 객체의 컨텍스트가 있습니다.object-attr-value를 취득(표시 포함)하면 코드가 실행되어 해당 객체의 값이 계산됩니다.계산된 값은 모듈에 저장되지 않습니다.Attr-DXL은 사용자 인터페이스 없이 실행되며 일시 [8]중지 없이 완료되도록 작성해야 합니다.
- "레이아웃 DXL"은 열에 정의되어 모듈의 보기에 저장됩니다.오브젝트의 레이아웃 열이 GUI에 표시될 때 오브젝트에 대해 실행됩니다.그 외에는 Attr-DXL과 비슷합니다.레이아웃 DXL은 트레이서빌리티 마법사에서 생성할 수 있으며 Atr-DXL로 변환할 수 있습니다.[9]
- "Batch DXL"은 파일에 저장됩니다.DOORS가 배치 모드에서 배치 프로세스의 명령줄에 정의된 "Batch", "DXL" 또는 "CLE" 코드로 실행될 때 실행됩니다.배치 모드에서는 GUI가 로드되지 않으므로 배치로 실행되는 DXL은 실행 가능 항목이나 실행 방법에 제한이 있으므로 GUI를 사용할 수 없습니다.
- "트리거 DXL"은 "트리거"에 정의되며 모듈, 프로젝트 또는 데이터베이스 루트에 저장됩니다.트리거에 대한 네이티브 인터페이스는 없습니다. 트리거를 생성하거나 삭제하려면 파일 기반 DXL이 필요합니다.트리거의 지정된 이벤트(예: 모듈 열기)가 발생하면 해당 이벤트와 관련된 트리거가 우선순위에 따라 실행됩니다.트리거 내에서 실행할 수 있는 것에는 몇 가지 제한이 있지만 일부 인터페이스가 있을 수 있으며, 많은 경우 해당 인터페이스가 있습니다(일반적으로 사용자에게 계속할지 여부를 요청)."Post" 이벤트트리거는 이벤트 후에 실행되며 "Pre" 이벤트트리거는 이벤트 전에 실행되며 이벤트 발생을 방지할 수 있습니다.가장 일반적인 이벤트 유형은 모듈 열기/닫기, 새 개체 선택 또는 개체 속성 값 저장입니다.동적 트리거는 저장되지 않으며 DOORS가 클라이언트 컴퓨터에서 실행되는 동안에만 존재합니다.일반적인 다이내믹 트리거는 모듈 종료 후 트리거로 해당 모듈과 관련된 GUI("인쇄" 대화상자 등)를 닫습니다.트리거를 학습하는 동안 자주 발생하는 실수는 모듈이 항상 닫히지 않도록 하는 사전 모듈 닫기 트리거를 정의하는 것입니다.
- "Eval DXL"은 다른 DXL에서 호출되어 자체 컨텍스트에서 실행됩니다.일반적으로는 미묘한 고도의 DXL용으로 예약되어 있습니다.「Top Eval」코드는 「Top Context」에 전개되어 DOORS가 닫힐 때까지 향후의 모든 DXL에 적용됩니다.
DXL 스크립트 확장
DXL 스크립트는 보통 확장자 ".dxl"로 저장되지만 확장자 ".inc"의 라이브러리 파일을 사용합니다.
"Hello, World"의 예
"Hello, World"를 인쇄하려면 다음 코드를[6] 사용합니다.
인쇄물 "안녕하세요, 월드" DXL 에디터
Eclipse 위에 구축된 Sodius DXL [10]Editor는 DXL 스크립트를 편집, 참조, 컴파일, 실행 및 디버깅하는 옵션을 제공하는 도구 중 하나입니다.커스텀 [11]속성별로 DXL을 지원하는 오픈 소스 에디터 및 무료 에디터(Notepad++ 및 jEdit 등)가 많이 있습니다.
레퍼런스
- ^ Thurimella, Anil Kumar; Janzen, Dirk (2011). metadoc Feature Modeler A Plug-in for IBM Rational DOORS (PDF) (Thesis). 2011 15th International Software Product Line Conference.
- ^ Rahman, Anisur; Amyot, Daniel (2014). "A DSL for importing models in a requirements management system". 2014 IEEE 4th International Model-Driven Requirements Engineering Workshop (MoDRE): 37–46. doi:10.1109/MoDRE.2014.6890824.
- ^ Dale, Chris; Anderson, Tom (2009). Safety-Critical Systems: Problems, Process and Practice: Proceedings of the Seventeenth Safety-Critical Systems Symposium Brighton, UK, 3 - 5 February 2009. Springer Science & Business Media. pp. 80–89. ISBN 9781848823495. Retrieved 28 December 2018.
- ^ "User Manual, FAA Requirements Quality Tool (FRQT) For The IBM Rational Dynamic Object Oriented Requirements System (DOORS), Version 1.0" (PDF). March 2017.
- ^ "Forum: Rational DOORS DXL".
- ^ a b "The DXL Reference Manual" (PDF).
- ^ "LESSONS LEARNED IMPLEMENTING DOORS IN A CITRIX ENVIRONMENT" (PDF).
- ^ a b "DXL attributes and layout DXL columns".
- ^ "Layout DXL".
- ^ Sodius DXL 편집기
- ^ DXL 에디터
외부 링크
- IBM Rational DOORS eXtension Language(DXL) 소개