728x90
반응형

MDA 3

OCL (Object Constraint Language)

개요OCL(Object Constraint Language)은 UML(Unified Modeling Language)의 확장 언어로, 모델 요소에 대한 정형화된 제약 조건을 명시하기 위해 사용되는 선언형 모델링 언어입니다. 자연어보다 명확하며, 프로그래밍 언어보다 단순한 문법을 갖춘 OCL은 클래스 다이어그램의 속성, 연관관계, 불변식, 선행 조건, 후행 조건 등을 정확하게 정의할 수 있도록 지원합니다.1. 개념 및 정의OCL은 UML 모델의 요소(예: 클래스, 속성, 연관 등)에 대한 명세적 제약 조건을 선언적으로 기술하는 데 사용되는 언어입니다. 수학적 논리(1차 논리)를 기반으로 하며, 실행이 아닌 명세 목적에 최적화되어 있습니다.예: context Person inv: self.age >= 0 →..

Topic 2025.04.26

OMG 4계층 아키텍처

개요OMG(Object Management Group) 4계층 아키텍처는 모델 중심(Model-Driven)의 소프트웨어 및 시스템 개발을 위한 표준적인 구조로, 모델링 언어의 정의부터 실제 인스턴스 데이터에 이르기까지 4단계로 추상화된 계층을 제공합니다. 이 구조는 MDA(Model-Driven Architecture) 및 **UML(Unified Modeling Language)**의 이론적 기반으로 사용되며, 소프트웨어 설계의 일관성과 재사용성, 자동화된 도구 연계를 가능하게 합니다.1. 개념 및 정의OMG 4계층 구조는 모델, 메타모델, 메타-메타모델을 포함하는 계층적 메타모델링 프레임워크입니다. 각 계층은 아래와 같이 구분됩니다:M0 (Data layer): 실제 인스턴스 데이터 (예: 실행 중..

Topic 2025.04.26

메타모델(Metamodel)

개요메타모델은 “모델의 모델”로, 다양한 모델링 언어나 프레임워크를 정의하는 데 사용되는 추상적 구조입니다. 시스템, 데이터, 프로세스를 모델링할 때 일관된 문법과 의미를 제공하며, 소프트웨어 공학, 데이터 아키텍처, 도메인 모델링 등에서 핵심적인 역할을 합니다. 본 글에서는 메타모델의 개념, 구조, 활용 방식 및 도구를 포함한 실무 적용 사례를 포괄적으로 소개합니다.1. 개념 및 정의메타모델(Metamodel)은 특정 모델이 어떻게 구성되어야 하는지를 정의하는 추상적인 구조 또는 틀입니다. 즉, 모델링 언어 자체의 문법과 의미를 정의하는 규칙의 집합으로, 모델을 생성하기 위한 ‘설계도’라고 볼 수 있습니다. 예를 들어, UML(Unified Modeling Language)의 메타모델은 클래스 다이어그..

Topic 2025.04.01
728x90
반응형