모형주도공학

Model-driven engineering

MDE(Model-Driven Engineering)는 특정 문제와 관련된 모든 주제의 개념적 모델도메인 모델을 만들고 활용하는 데 초점을 맞춘 소프트웨어 개발 방법론입니다.따라서 컴퓨팅(즉, 알고리즘) 개념보다는 특정 애플리케이션 영역을 지배하는 지식과 활동의 추상적 표현을 강조하고 목표로 합니다.

MDE는 왕복 엔지니어링이라 불리는 소프트웨어 설계 접근법의 하위 분야입니다.MDE의 범위는 모델 중심 아키텍처의 범위보다 훨씬 넓습니다.[1]

개요

MDE 접근 방식은 시스템 간 호환성을 극대화함으로써(표준화된 모델 재사용을 통해), 설계 프로세스를 단순화함으로써(애플리케이션 도메인에서 반복되는 설계 패턴의 모델을 통해) 생산성을 향상시키기 위한 것입니다.시스템 작업을 수행하는 개인과 팀 간의 커뮤니케이션을 촉진합니다(애플리케이션 도메인에서 사용되는 용어 및 모범 사례 표준화를 통해).예를 들어, 모델 기반 개발에서 소스 코드, 문서, 테스트 등과 같은 기술적 아티팩트는 도메인 모델에서 알고리즘적으로 생성됩니다.[2]

MDE에 대한 모델링 패러다임은 도메인에 익숙한 사용자의 관점에서 모델이 의미가 있고 시스템 구현을 위한 기반이 될 수 있다면 효과적인 것으로 간주됩니다.모델은 애플리케이션 도메인의 제품 관리자, 설계자, 개발자 및 사용자 간의 광범위한 커뮤니케이션을 통해 개발됩니다.모델이 완성에 가까워짐에 따라 소프트웨어와 시스템 개발이 가능해집니다.

보다 잘 알려진 MDE 이니셔티브는 다음과 같습니다.

  • MDA(Meta-Object Facility), XMI, CWM, CORBA, Unified Modeling Language 등 여러 표준을 활용하는 객체 관리 그룹(OMG) 이니셔티브 모델 구동 아키텍처(MDA)(정확히 말하면, 현재 OMG는 모델 구동 아키텍처를 위해 액션 언어인 ALF와 함께 fUML이라는 UML의 하위 집합 사용을 장려합니다)cuture; 이전의 접근 방식은 대신 Executiveable UML과 OCL에 의존했습니다), 그리고 QVT.[3]
  • 일반적인 용어로 표현되는 프로그래밍 및 모델링 도구의 Eclipse "에코시스템"(Eclipse Modeling Framework).이 프레임워크를 통해 OMG의 MDA 표준을 구현하는 도구를 만들 수 있지만, 다른 모델링 관련 도구를 구현하는 데 사용할 수도 있습니다.

역사

메타 모델, 모델 및 오리지널(프랑스어?) 간의 인스턴스화 및 표현 연결을 보여주는 차트입니다.

MDE를 지원하는 최초의 도구는 1980년대에 개발된 CASE(Computer-Aided Software Engineering) 도구였습니다.통합 개발 환경(IDE - StP), 고차 소프트웨어(현재 Hamilton Technologies, Inc., HTI), Cadre Technologies, Bachman Information SystemsLogic Works(BP-Win 및 ER-Win)와 같은 회사들이 이 분야의 선구자였습니다.

미국 정부는 IDEF 규격을 만드는 모델링 정의에 참여했습니다.모델링 정의의 여러 가지 변형(Booch, Rumbaugh, Jacobson, Gane and Sarson, Harrel, Shlaer and Mellor 등 참조)을 통해 결국 UML(Unified Modeling Language)을 만들었습니다. UML 구현을 위한 제품인 Rational Rose,Rational Corporation(Booch)은 소프트웨어 개발에서 자동화 수율이 더 높다고 응답했습니다.이 추상화는 문제 공간에 더 초점을 두고 단순한 모델을 촉진합니다.실행 가능한 의미론과 결합하면 가능한 전체 자동화 수준이 향상됩니다.OMG(Object Management Group)는 MDA(Model-Driven Architecture)라는 일련의 표준을 개발하여 이러한 고급 아키텍처 중심 접근 방식을 위한 기반을 구축했습니다.

이점

Douglas C에 의하면. 모델 기반 엔지니어링 기술인 Schmidt는 3세대 언어가 플랫폼의 복잡성을 완화하고 도메인 개념을 효과적으로 표현하지 못하는 문제를 해결할 수 있는 유망한 접근 방식을 제공합니다.[4]

도구들

모델 구동 공학을 위한 주목할 만한 소프트웨어 도구는 다음과 같습니다.

참고 항목

참고문헌

  1. ^ "8 Reasons Why Model-Driven Approaches (will) Fail". InfoQ. Retrieved 2023-07-26.
  2. ^ Flatt, Amelie; Langner, Arne; Leps, Olof (2022). Model-Driven Development of Akoma Ntoso Application Profiles - A Conceptual Framework for Model-Based Generation of XML Subschemas (1st ed.). Heidelberg: Sprinter Nature. ISBN 978-3-031-14131-7.
  3. ^ Object Management Group (2006-05-24). "OMG Trademarks". Retrieved 2008-02-26.
  4. ^ Schmidt, D.C. (February 2006). "Model-Driven Engineering" (PDF). IEEE Computer. 39 (2). doi:10.1109/MC.2006.58. S2CID 10006139. Archived from the original (PDF) on 2006-09-09. Retrieved 2006-05-16.Schmidt, D.C. (February 2006). "Model-Driven Engineering" (PDF). IEEE Computer. 39 (2). doi:10.1109/MC.2006.58. S2CID 10006139. Archived from the original (PDF) on 2006-09-09. Retrieved 2006-05-16."플랫폼의 복잡성과 3세대 언어가 이러한 복잡성을 완화하고 도메인 개념을 효과적으로 표현하지 못하는 문제를 해결할 수 있는 유망한 방법은 MDE(Model-Driven Engineering) 기술을 개발하는 것입니다.."

추가열람

외부 링크