무스(분석)

Moose (analysis)
무스
Moose Logo.png
스크린샷
Moose-Panel.png
모델 브라우징용 기본 무스 사용자 인터페이스 스크린샷
개발자무스 팀
안정된 릴리스
8.0.1 / 2021년 2월 5일 (2021-02-05)
기입처스몰토크
운영 체제크로스 플랫폼
유형데이터 분석
면허증.BSD 라이선스
웹 사이트modularmoose.org

Moose는 Pharo에 구축된 소프트웨어 및 데이터 분석을 위한 무료 오픈 소스 플랫폼입니다.

Moose는 데이터 Import 및 파싱에서 모델링, 측정, 쿼리, 마이닝, 인터랙티브 및 비주얼 분석 도구 구축에 이르기까지 다양한 서비스를 제공합니다.무스는 연구 [1]환경에서 태어났고, 현재 전 세계 여러 연구 그룹에 의해 지지를 받고 있다.그것은 점점 더 산업에서[citation needed] 채택되고 있다.

주요 기능

Moose의 철학은 분석가가 새로운 전용 분석 도구를 제작하고 분석 흐름을 맞춤화하는 것입니다.Moose는 주로 소프트웨어 분석에 사용되지만 어떤 데이터에도 사용할 수 있도록 구축되어 있습니다.

이를 위해 다음과 같은 여러 메커니즘과 프레임워크를 제공합니다.

  • Import 및 메타 메타 모델링은 범용 메타 기술 [2][3]엔진을 통해 이루어집니다.모든 메타 모델은 자체 설명 메타 모델로 설명되며, 이 설명을 기반으로 MSE 파일 형식을 통해 Import/export가 제공됩니다.이 파일 형식을 통해 Moose는 외부 도구와 데이터를 교환할 수 있습니다.
  • 파싱을 위해 Moose는 몇 가지 파싱 기술(파싱 표현식 문법 등)을 사용하고 쉬운 구성을 위한 유연한 인터페이스를 제공하는 새로운 프레임워크를 제공합니다.
  • 소프트웨어 분석은 특히 FAMIX 계열의 메타모델을 통해 지원됩니다.FAMIX의 핵심은 UML과 유사하지만 분석에 초점을 맞춘 언어 독립 메타 모델이다.또한 모델을 쿼리할 수 있는 풍부한 인터페이스를 제공합니다.
  • 시각화는 그래프 [5]시각화를 표현하기 위한 엔진과 차트 표현을 위한 엔진 두 가지를 통해 지원됩니다.둘 다 구성이 용이한 인터페이스를 제공합니다.
  • 브라우징은 무스의 중요한 원칙이며 다양한 방법으로 지원됩니다.범용 인터페이스를 통해 분석가는 모든 모델을 찾아볼 수 있습니다.특정 브라우저를 지정할 수 있도록 Moose는 특정 유창한 인터페이스를 통해 사양을 용이하게 하는 범용 엔진을 제공합니다.

역사

1996-1999:최초의 인프라스트럭처, 메타 모델

무스는 1996년 9월부터 1999년 9월까지 진행된 유럽 프로젝트인 FAMOUS의 맥락에서 베른 대학에서 태어났다.FAMOUS는 객체 지향 레거시 시스템의 설계 문제를 분석 및 감지하고 이러한 시스템을 보다 유연한 아키텍처로 마이그레이션하기 위한 방법과 도구에 초점을 맞췄다.FAMOUS의 주요 결과는 FAMOUS 핸드북과 객체 지향 리엔지니어링[6] 패턴 책에 요약되어 있다.

FAMOUS 프로젝트 초기에 Moose는 FAMIX로 알려진 언어 독립 메타 모델의 구현에 불과했다.C/C++ 코드의 해석은 Snif+를 통해 이루어졌으며 생성된 모델은 CDIF 표준을 통해 Import되었습니다.처음에 Moose는 하드 코드화된 수입업체를 제공했으며 단순 시각화 및 프로그램 팩트 추출기(1997년)의 기초가 되었습니다.그 후 메트릭스를 계산하는 데 사용되기 시작했습니다.

나중에 메타 모델이 진화함에 따라 Import/export 서비스가 메타 모델과 직교해야 하며, 가장 중요한 것은 환경이 메타 모델 확장을 지원해야 한다는 것입니다.그 결과, 최초의 극히 단순한 메타 메타 모델이 구현되었고, 이는 당시 실체와 관계를 나타낼 수 있었다(1998년).

1999-2003: 교환 포맷, 시각화

XMI 규격의 도입으로 최초의 Meta-Object Facility 메타모델이 구현되었고 CDIF 메타모델은 XMI 모델 생성을 위한 MOF 메타모델로 전환되었다.단, MOF는 기반이 되는 Moose 메타메타 모델로는 사용되지 않았습니다.

이와 동시에 시각화 개발은 계산된 메트릭 세트를 확장하는 결과로 이어졌다.당시 CodeCrawler는 Moose의 대표적인 응용 프로그램이었으며, 상당 기간 동안 CodeCrawler는 Moose의 아키텍처에 영향을 미쳤다(1999년).예를 들어 뷰를 생성하기 전에 모든 엔티티에 대해 메트릭을 계산해야 했습니다.

시스템의 진화에 대한 연구 관심은 메타 모델 저장소의 구현으로 이어졌다.이와 같이, 첫 번째 적용은 진화 매트릭스(2001)였다.그 후, 시스템의 진화를 이해하는 데 더 많은 연구가 투입되어 Van(2002년)이 개발되었습니다.

진화 분석에는 대량의 데이터가 필요하기 때문에 모든 모델 정보를 항상 조작하는 것은 더 이상 가능하지 않았습니다.또한, 모델 내의 모든 엔티티에 대해 사전에 메트릭을 계산한 것도 또 다른 병목현상이었습니다.그 결과, 모델의 부분 로드, 속성의 느린 계산, 결과의 캐싱 등 여러 서비스가 구현되었습니다.

메타 기술이 데이터 표현(즉, 메타 모델)을 이 데이터를 조작하기 위한 다른 기술로부터 분리하는 강력한 방법이라는 것이 명백해졌다.이에 따라 MOF급 메타메타 모델(2002년) 구현에 착수해 기존 모델을 대체했다.Eclipse Modeling Framework(EMF)와 유사한 아키텍처를 제공합니다.

2003-2007: 범용 UI, 커스텀 교환 포맷, 스크립트 가능 시각화

메타기술의 응용 프로그램으로서 내비게이션, 쿼리, 자기성찰 등의 기본 서비스를 제공하기 위한 범용 GUI 개발이 시작되었다(2003).캐싱 메커니즘과 쿼리에서 중요한 역할은 그룹이 퍼스트 클래스 엔티티라는 개념에 의해 이루어집니다.무스의 모든 쿼리 또는 선택 항목은 그룹을 생성하며 브라우저(2003)에서 임의의 그룹을 조작할 수 있습니다.

툴 개발을 용이하게 하기 위해 플러그인 메커니즘이 필요했습니다.따라서 메타설명을 기반으로 각 툴은 메타모델의 각 엔티티에 부착된 메뉴에 등록할 수 있습니다.이 간단한 메커니즘에 의해 이들 툴은 하드 코드화된 의존관계를 강요하지 않고 서로 보완할 수 있습니다.

메뉴와 그룹의 조합은 복잡한 분석을 여러 단계로 나누어 각각 다른 도구를 사용할 수 있음을 의미한다.따라서 도구를 조합하고 구성하는 것이 자연스럽고 투명해진다.

2006년 Meta는 EMOF(Essential Meta Object Facility)의 자체 구현으로 만들어졌으며, Moose의 메타 메타 모델을 대체하였다.Meta와 함께 새로운 MSE 파일 형식이 생성되었습니다.Meta가 자체 기술되어 있기 때문에, Moose는 이제 동일한 메커니즘을 사용하여 외부 모델과 메타 모델을 모두 로드할 수 있습니다.동시에 XMI 및 CDIF 지원은 중단되었습니다.

대화형 시각 도구의 빠른 프로토타이핑을 지원하기 위해 Mondrian이 제작되었습니다.Mondrian은 Smalltalk를 기본 스크립트 언어로 사용하며 그래프 기반 시각화에 대한 지원을 추가합니다.몬드리안은 ESUG 2006 Innovation Awards에서 2위를 차지했습니다.

2007년, EyeSee라고 불리는 새로운 엔진은 Excel과 같은 차트를 스크립팅할 수 있도록 무스 주변에서 성장했습니다.EyeSee는 ESUG 2007 Innovation Awards에서 2위를 차지했습니다.

2008-2011: FAMIX 3.0, 스크립트 지원 브라우저 및 Pharo로의 이행

2008년, Meta는 Fame으로 대체되어 EMOF보다 심플하고 유연성이 뛰어난 새로운 메타 메타 모델(FM3)을 구현했습니다.Fame을 구축하기 위한 노력은 소프트웨어 분석용 메타 모델 제품군인 FAMIX 3.0의 개발과 관련이 있습니다.

2008년 말부터, 무스를 Visual Works에서 오픈 소스 Smalltalk인 Pharo로 옮기기 위한 큰 노력이 시작되었습니다.파로의 첫 번째 알파 버전은 2009년 8월에 출시되었습니다.

이 기간 동안 Glamer는 인터랙티브 브라우저를 스크립팅하기 위한 엔진으로 개발되었습니다.글래머는 ESUG 2009 Innovation Awards에서 3위를 차지했습니다.

PetitParser가 Moose Suite에 추가되었습니다.PetitParser는 전용 파서를 만들기 위한 새로운 엔진입니다.

레퍼런스

  1. ^ 오스카 니에르스트라즈, 스테판 뒤카세, 튜더 게르바.무스 이야기: 민첩한 리엔지니어링 환경유럽 소프트웨어 엔지니어링 회의(ESEC/FSE'05), 페이지 1~10, ACM Press, New York NY, 2005.초대지.
  2. ^ 스테판 뒤카세, 튜더 고르바, 아드리안 쿤, 루카스 렝글리.Smalltalk: Experience Report를 사용한 메타 환경 및 실행 가능한 메타 언어.『 Journal of Software and Systems Modeling (SOSYM)』8 (1) 페이지 5 ~ 2009년 2월 19일
  3. ^ 아드리안 쿤과 툰 버웨스트.FAME, 런타임 메타모델링을 위한 폴리글롯 라이브러리.실행 시 모델에 관한 워크숍, 페이지 57~66, 페이지
  4. ^ 루카스 랭글리, 스테판 뒤카세, 튜더 게르바, 오스카 니어스트라즈.다이나믹 언어의 실용적인 다이나믹 그래머.2010년 6월 스페인 말라가(Malaga)에서 열린 제4회 DYLA 2010 워크숍
  5. ^ 마이클 마이어, 튜더 고르바, 미르체아 룽구.몬드리안:신속한 변화를 위한 시각화 프레임워크.소프트웨어 시각화에 관한 ACM 심포지엄(SoftVis'06), 페이지 135~144, ACM Press, New York, NY, USA, 2006.
  6. ^ Serge Demeyer, Stéphane Ducasse, Oscar Nierstrasz.오브젝트 지향 리엔지니어링 패턴, 각 괄호 어소시에이트, 2008.URL

외부 링크

  • 무스 홈페이지
  • 이전 무스 홈페이지
  • 무스북은 무스 플랫폼을 설명하는 오픈북입니다.
  • 휴먼 어세스먼트는 무스가 가능하게 한 소프트웨어와 데이터 어세스먼트에 대한 새로운 접근법입니다.
  • Glamorous Toolkit은 Moose의 아이디어를 바탕으로 발전한 성형 가능한 개발 환경이며, 그 창시자 중 일부를 공유합니다.