실행 가능한 UML
Executable UML실행 파일 UML(xtUML 또는 xUML)은 소프트웨어 개발 방법인 동시에 매우 추상적인 소프트웨어 언어입니다.이는 2002년 "실행 가능한 UML: 모델 중심 아키텍처의 기초"[1]라는 책에서 처음으로 설명되었습니다.이 언어는 "UML(Unified Modeling Language) 그래픽 표기법의 서브셋을 실행 가능한 의미론 및 타이밍 [2]규칙과 결합합니다."Executable UML 메서드는 Shlaer-Mellor [3]메서드의 후속입니다.
실행 가능한 UML 모델은 "실행, 테스트, 디버깅 및 [4]성능 측정이 가능합니다.".또, 특정의 [5]실장을 타겟으로 하기 위해서, 보다 추상적인 프로그래밍 언어로 컴파일 할 수 있습니다.실행 파일 UML은 플랫폼 독립 모델 지정 및 플랫폼 독립 모델을 플랫폼 고유 [6][7]모델로 컴파일하여 모델 기반 아키텍처(MDA)를 지원합니다.
개요
실행 가능한 UML은 3세대 프로그래밍 언어보다 높은 수준의 추상화입니다.이를 통해 개발자는 애플리케이션의 [8]추상화 수준에서 개발할 수 있습니다.실행 가능한 UML은 관심사를 분리하는 것을 목표로 합니다.이를 통해 재사용의 용이성을 높이고 소프트웨어 개발 비용을 절감할 수 있습니다.이를 통해 실행 가능한 UML 도메인이 크로스 플랫폼이 될 수도 있습니다.즉, 특정 프로그래밍 언어, 플랫폼 또는 기술에 얽매이지 않습니다.
실행 가능한 UML을 사용하면 Platform-Independent Model(PIM; 플랫폼 독립 모델)을 Platform-Specific Model(PSM; 플랫폼 고유 모델)로 변환할 수도 있습니다.Executable UML 메서드는 모델이 문제 공간에 대한 완전한 실행 가능한 솔루션이기 때문에 모델을 지적 재산으로 평가할 수 있습니다.
동작은 동작 언어로 지정됩니다.즉, 실행 가능한 UML 모델에서 구현 코드를 자동으로 생성하면 최적화된 형태로 출력할 수 있습니다.
실행 파일 UML은 문서뿐만 아니라 실행 파일 코드로도 사용됩니다.모델은 대상 구현으로 컴파일된 문제 공간의 그래픽 실행 가능한 사양입니다.그것들은 또한 사람이 읽을 수 있도록 고안되었다.
실행 가능한 UML 구성 요소
시스템은 실행 가능한 UML 용어로 도메인이라고 하는 여러 주제로 구성됩니다.실행 가능한 UML은 구현과 무관하게 주제를 추상화하는 수준에서 도메인을 모델링하기 위해 사용됩니다.결과 도메인 모델은 다음 요소로 나타납니다.
- 도메인 차트는 모델링 중인 도메인의 보기와 다른 도메인에 대한 종속성을 제공합니다.
- 클래스 다이어그램은 도메인의 클래스 및 클래스 연결을 정의합니다.
- 상태도 다이어그램은 클래스 또는 클래스 인스턴스의 상태, 이벤트 및 상태 천이를 정의합니다.
- 작업 언어는 모델 요소에 대한 처리를 수행하는 작업 또는 작업을 정의합니다.
도메인 차트
실행 가능한 UML을 사용하려면 시스템의 도메인(양상 또는 우려 사항이라고도[9] 함)을 식별해야 합니다."각 도메인은 개념적 [10]실체가 거주하는 자율적인 세계입니다." 각 도메인은 시스템 내의 다른 도메인과 독립적으로 모델링할 수 있으므로 관심사를 분리할 수 있습니다.예를 들어 현금자동입출금시스템 도메인은 다음과 같습니다.
- 자동 입출금기의 비즈니스 로직 응용 프로그램 도메인 모델입니다.
- 시스템 보안에 관한 다양한 문제의 보안 도메인 모델(인증이나 암호화 등).
- 외부 데이터 사용 방법에 대한 데이터 액세스 도메인 모델입니다.
- 시스템이 정보를 기록할 수 있거나 기록해야 하는 다양한 방식의 로깅 도메인 모델입니다.
- 시스템과 상호 작용하는 사용자의 사용자 인터페이스 도메인 모델입니다.
- 시스템의 하드웨어 및 소프트웨어 플랫폼에 구현된 실행 파일 UML 모델의 아키텍처 도메인 모델입니다.
관심사를 분리함으로써 각 도메인은 시스템 내의 다른 도메인과 독립적으로 개발 및 검증할 수 있다.
도메인간의 접속을 브리지라고 부릅니다.브릿지는 도메인 간의 계층 의존 관계입니다.[11]즉, 도메인이 다른 도메인에 요건을 부여할 수 있습니다.브릿지는 다른 도메인 전문가에 의해 합의되는 것이 좋습니다.
도메인은 도메인이 존재하며 모델링할 필요가 없음을 나타내기 위해 실현된 것으로 표시할 수 있습니다.예를 들어 MySQL 데이터베이스를 사용하는 데이터 액세스 도메인은 실현된 것으로 표시됩니다.
클래스 다이어그램
유형, 역할, 사고, 상호작용 및 사양과 같은 모델링되는 도메인에 고유한 개념적 실체가 클래스로 추상화됩니다.클래스에는 속성과 연산을 지정할 수 있습니다.
이러한 클래스 간의 관계는 연관성과 일반화로 나타납니다.어소시에이션은 어소시에이션클래스로서 한층 더 추상화가 필요한 경우가 있습니다.
클래스 다이어그램의 제약조건은 액션 언어와 객체 제약조건 언어(OCL)로 모두 작성할 수 있습니다.
Executable UML 메서드는 Executable UML 클래스 다이어그램에서 사용할 수 있는 UML 요소를 제한합니다.
실행 파일 UML 클래스 다이어그램은 도메인에 대한 정보를 노출하기 위한 것입니다.상태 다이어그램이 너무 복잡하다는 것은 클래스 다이어그램을 수정해야 한다는 좋은 지표입니다.
상태 차트 다이어그램
클래스에는 상태 차트 다이어그램과 함께 실행 파일 UML에서 모델링된 라이프 사이클이 있습니다.상태도 다이어그램은 클래스의 동작을 정의하는 상태, 전환, 이벤트 및 절차를 정의합니다.
각 스테이트에는, 그 스테이트가 되었을 때에 실행되는 순서는 1개 뿐입니다.절차는 액션 언어로 지정된 액션으로 구성됩니다.
액션 언어
클래스 및 상태 모델 자체는 도메인에 대한 정적 보기만 제공할 수 있습니다.실행 가능한 모델을 가지려면 클래스 인스턴스 작성, 어소시에이션 확립, 속성 조작, 콜스테이트이벤트 등의 방법이 필요합니다.실행 파일 UML에서는 UML 액션시멘틱스에 준거한 액션 언어를 사용합니다.
액션 시멘틱스는 2001년에 UML 사양에 추가되었습니다.액션 시멘틱스 RFP는 Shlaer-Mellor 메서드를 지원하는 액션 언어에서의 이전 작업에 기초하고 있습니다.기존 액션 언어는 객체 액션 언어(OAL), Shlaer – Meller 액션 언어(SMAR), 액션 사양 언어(ASL), 모델 액션 사양 언어(MASL),[12] That Action Language(TAL), Starr의 간결한 관계형 액션 언어(SCR All Platform)에 의존하지 않습니다.그래피컬 액션 언어인 것은 SCRALL이 유일합니다.
모델 테스트 및 실행
도메인을 모델링한 후에는 모델을 실행하여 대상 구현과 독립적으로 테스트할 수 있습니다.각 도메인은 다른 도메인과는 독립적으로 검증 및 검증할 수 있습니다.이것에 의해, 검출된 에러를 도메인에 관련지을 수 있어 다른 시스템의 문제와는 무관하게 할 수 있습니다.
검증에는 모델에 대한 인적 검토, 관련 분야의 전문가에 의한 실행 가능 UML 시멘틱스 자동 체크, 즉 실행 가능 UML 모델이 실행 가능 UML 메타모델에 준거하고 있는지 확인하는 등의 작업이 포함됩니다.
검증에는 일반적으로 실행 가능한 UML 도구를 사용하여 모델을 실행합니다.모델 컴파일 전 또는 후에 실행할 수 있습니다.
모델 컴파일
타깃 구현에서의 실행을 지원하려면 도메인 모델을 덜 추상적인 형식으로 변환해야 합니다.이 번역 프로세스를 모델 컴파일이라고 합니다.대부분의 모델 컴파일러는 기존의 컴파일러 기술을 재사용할 수 있기 때문에 알려진 프로그래밍 언어를 대상으로 합니다.
목표 구현을 위해 도메인 모델을 최적화하면 추상화 수준이 감소하고 도메인 독립성에 악영향을 미치며 재사용 비용이 증가합니다.실행 가능한 UML에서 최적화는 모델 컴파일러에 의해 자동으로 또는 마킹을 통해 수행됩니다.마킹을 사용하면 특정 모델 요소를 특정 하위 수준 구현의 대상으로 지정할 수 있으며, 객체 컬렉션을 이중 링크 목록으로 구현해야 한다고 지정하는 등 보다 광범위한 아키텍처 결정을 내릴 수 있습니다.
MDA 용어로 모델 컴파일러는 PSM을 만듭니다.실행 가능 UML에서 PIM과 PSM을 분리하면 모델을 라운드 트립 엔지니어링할 수 없게 되어 PSM에 [13]대한 변경이 저지됩니다.
실행 가능한 UML의 주요 측면
실행 파일 UML은 UML의 하위 집합에 대한 실행 의미를 정의합니다. 실행 파일 UML 하위 집합의 주요 측면은 다음과 같습니다.
- 집약 및 [14]구성 등의 구현별 구조를 지원하지 않습니다.
- 일반화는 항상 {complete, disconnect}으로 표시됩니다.
- 클래스 간의 연관성은 항상 이름이 지정되며, 역할을 지정하는 동사 구문이 양 끝에 있고, 양 끝에 다중성이 지정됩니다.
- 어소시에이션 엔드의 배수는 0.1(0 ~1), *(0 ~ 다), 1(정확히 1), 또는 1로 제한됩니다.* (1대 다)
- 데이터 유형은 부울, 문자열, 정수, 실제, 날짜, 타임스탬프 및 arbitary_id 핵심 데이터 유형 또는 숫자, 문자열, 열거형 및 복합 도메인 고유 데이터 유형 중 하나로 제한됩니다.도메인 고유의 숫자 및 문자열 데이터 유형은 핵심 데이터 유형의 하위 집합을 나타낼 수 있습니다.도메인별 복합 데이터 유형은 항상 도메인 내에서 단일 단위로 취급해야 합니다. 예를 들어, MailingAddress 복합 데이터 유형은 선언할 수 있지만 도시 정보는 추출할 수 없습니다.
- 실행 파일 UML 모델의 제약 조건은 OCL(Object Constraint Language) 또는 액션 언어로 나타낼 수 있습니다.
fUML 및 ALF
오브젝트 관리 그룹은 Foundation UML(fUML)을 표준화했습니다.Foundation UML은 실행 가능 UML의 영향을 크게 받았습니다.
ALF([15]Action Language for Foundational UML)는 객체 관리 그룹의 표준 작업 언어 사양입니다.
「 」를 참조해 주세요.
- 애스펙트(컴퓨터 프로그래밍)
- 자동 프로그래밍
- 코드 생성(컴파일러)
- 모델 주도 아키텍처(MDA)
- 모델 구동 엔지니어링(MDE)
- Shlaer-Meller법
- 통합 모델링 언어(UML)
출판물
- Gerry Boyd (2003) "Executable UML: Diagrams for the Future" (실행 가능 UML: 미래를 위한 다이어그램)"은 2003년 2월 5일 devx.com에서 출판되었다.
- Shayne Flint, and Clive Boyon (2003) "실행 가능/번역 가능 UML 및 시스템 엔지니어링"복잡한 시스템을 위한 실용적인 접근법(SETE 2003).
- 셰인 플린트, 헨리 가드너, 클라이브 부욘(2004년)."컴퓨팅 교육에서 UML 실행 가능/번역 가능"제6회 호주 컴퓨터 교육에 관한 회의의 진행-제30권.오스트레일리아 컴퓨터 협회
- H.S. Lahman (2011). Model-Based Development: Applications. Addison-Wesley Professional. ISBN 0-321-77407-8.
- Stephen J. Mellor & Marc Balcer (2002). Executable UML: A Foundation for Model-Driven Architecture. Addison Wesley. ISBN 0-201-74804-5. 제1장 온라인
- 실행 가능 및 번역 가능 UML
- Stephen J. Mellor (2004), 실행 가능 및 번역 가능 UML 소개
- Stephen J. Mellor (2004), 측면 지향 모델링을 위한 프레임워크
- Chris Raistrick; et al. (2004). Model Driven Architecture with Executable UML. Cambridge University Press. ISBN 0-521-53771-1.
- Leon Starr (2002). Executable UML:How to Build Class Models. Prentice-Hall. ISBN 0-13-067479-6.
레퍼런스
- ^ 멜러 앤 발서 2002
- ^ 스타 2002, 페이지 3
- ^ G. Okeefe (2006) "UML 일관성을 위한 동적 논리 의미론" (모델 주도 아키텍처 - 기초 및 응용 프로그램): 제2차 유럽회의, ECMDA-FA 2006, 스페인 빌바오, 2006년 7월 10일 ~ 13일, Proceedings.Arend Rensink ed. 페이지 124
- ^ 스타 2002, 페이지 3
- ^ 멜러와 발서 2002, 섹션 1.4
- ^ 멜러와 발서 2002, 섹션 1.5
- ^ 레이스트릭 외2004년, 섹션 2.3.3 및 2.3.4.
- ^ 멜러와 발서 2002, 섹션 1.1.
- ^ 멜러와 발서 2002, 섹션 3.4
- ^ 멜러와 발서 2002, 페이지 14
- ^ 멜러 앤 발서 2002, 페이지 35
- ^ "MASL is a Shlaer-Mellor dialect action language and structural modeling language.: xtuml/masl". xtUML. 27 December 2018. Retrieved 26 October 2019.
- ^ 멜러와 발서 2002, 9장
- ^ 멜러와 발서 2002, 페이지 xxx
- ^ "Action Language for Foundational UML™ (ALF™)". www.omg.org. Retrieved 2016-12-21.
외부 링크
- http://executableumlbook.com "Executable UML: A Foundation for Model-Driven Architecture" 공식 웹 사이트.