상호작용 흐름 모델링 언어

Interaction Flow Modeling Language
OMG에 의한 IFML(Interaction Flow Modeling Language)의 공식 로고.

상호 작용 흐름 모델링 언어(IFML)는 소프트웨어 엔지니어링 분야에서 표준화된 모델링 언어다.IFML은 소프트웨어 시스템에서 사용자 상호작용과 프런트 엔드 동작의 시각적 모델을 만들기 위한 일련의 그래픽 명칭을 포함한다.

인터랙션 플로우 모델링 언어는 WebRatio의 주도로 2012년과 2013년에 개발되었으며 WebML 표기법뿐만 아니라 웹 모델링 분야에서 몇 가지 다른 경험에 의해 영감을 받았다.

2013년 3월 OMG(Object Management Group)에 의해 표준으로 채택되었다.[1]

초점

IFML은 데스크톱 컴퓨터, 랩톱 컴퓨터, PDA, 휴대폰 및 태블릿과 같은 시스템에서 액세스하거나 배포한 애플리케이션을 위한 그래픽 사용자 인터페이스에 대한 플랫폼 독립적 설명을 지원한다.설명의 초점은 최종 사용자가 인식하는 애플리케이션의 구조와 동작에 있다.

IFML은 다음 도메인에 속하는 응용프로그램의 프런트엔드의 사용자 상호작용 및 제어 동작을 설명한다.

  • HTML+HTTP 기반 웹 응용 프로그램.
  • HTML 5 표준에서 지원하는 풍부한 인터넷 애플리케이션.
  • 모바일 애플리케이션.
  • 클라이언트-서버 응용 프로그램.
  • 데스크톱 애플리케이션.
  • 제어 응용 프로그램을 위한 임베디드 휴먼 머신 인터페이스.
  • 멀티채널 및 컨텍스트 인식 애플리케이션.

IFML은 2차원 및 3차원 컴퓨터 기반 그래픽의 사양에 부합하지 않는다.

IFML은 애플리케이션 프런트엔드의 프리젠테이션 문제(레이아웃/모양 및 느낌) 모델링이나 비즈니스 로직 및 데이터 구성요소의 설계에는 적용되지 않는다.비록 이러한 측면이 언어의 초점은 아니지만, IFML은 설계자가 IFML 모델 내에서 이러한 측면에 관한 외부 모델 또는 모델링 아티팩트를 참조할 수 있도록 한다.

표준의 내용

IFML 사양은[1] 다음과 같이 구성된다.

  • IFML 메타모델(MOF).
  • IFML UML 프로필.
  • IFML 시각적 구문(Diagram Definition 및 Diagram Interchange 사양을 통해 정의됨).
  • IFML XMI 모델 교환 형식.

주요 모델링 개념

주요 IFML 개념 및 표기.

IFML 모델은 하나 이상의 보기 컨테이너로 구성된다(아마도 내포되었을 것이다).예를 들어, 기존 데스크톱 응용 프로그램의 창 또는 웹 응용 프로그램의 페이지 템플릿.뷰 컨테이너는 정적 또는 동적 컨텐츠의 게시를 나타내는 뷰 구성요소 또는 데이터 입력에 대한 인터페이스 요소(입력 양식 등)를 포함할 수 있다.뷰 구성요소는 입력 및 출력 매개변수를 가질 수 있다.

뷰 컨테이너와 뷰 구성요소는 사용자의 상호작용 또는 시스템에서 생성된 발생을 나타낼 수 있는 이벤트와 연관될 수 있다.예를 들어, 목록에서 하나 이상의 항목을 선택하거나 양식에서 입력을 제출하는 이벤트.사건의 영향은 상호작용 흐름 연결로 나타난다.상호작용 흐름은 사용자 인터페이스의 상태 변화를 나타낸다.또한 이벤트는 사용자 인터페이스의 상태를 업데이트하기 전에 실행되는 작업을 트리거할 수 있다. 예를 들어, 데이터베이스 인스턴스에 대한 삭제 또는 업데이트 작업.요소들 간의 입력-출력 의존성은 항법 흐름과 관련된 매개변수 바인딩이나 데이터 흐름을 통해서만 지정될 수 있다.

IFML은 또한 모델링 요소에 대한 제약조건, 모듈화 및 컨텍스트 인식(예: 사용자 프로필, 장치, 위치 기반)을 정의하기 위한 개념도 포함하고 있다.IFML 개념은 정형화에 기초한 표준 확장 메커니즘으로 확장될 수 있다.

혜택들

사용자 상호작용을 독립적으로 설계하는데 사용할 수 있는 플랫폼 독립 모델(PIM)을 만들기 위한 적절한 접근방식의 출현과 함께 전례 없는 범위의 기기, 기술 플랫폼 및 통신 채널의 출현으로 프런트 엔드 애플리케이션 개발 비용이 증가하였다.e 구현 플랫폼.이로 인해 프런트 엔드 개발은 비용이 많이 들고 비효율적인 프로세스가 되는데, 여기서 수동 코딩은 주로 개발 접근방식이며, 설계 아티팩트의 재사용은 낮으며, 플랫폼 간 애플리케이션 이식성은 여전히 어렵다.

IFML은 애플리케이션 프런트 엔드 개발에 다음과 같은 몇 가지 이점을 제공한다.

  • 그것은 인터페이스 구성, 사용자 상호작용, 이벤트 관리 등 다양한 관점에서 프런트엔드의 공식 사양을 지원한다.
  • 비즈니스 논리, 데이터 모델, 그래픽 표시 계층과의 연계를 지원한다.
  • 그것은 프런트 엔드 사양을 구현 특정 문제로부터 분리한다.
  • 상호작용 설계에서 역할 간 우려의 분리를 촉진하여 개발 프로세스를 개선한다.
  • 비기술적 이해당사자들과 UI 설계의 커뮤니케이션을 가능하게 한다.[2]

구현 및 도구

IFML은 현재 WebRatio[1]에 의해 지원되고 있다.표준화 과정을 설명하는 블로그 게시물 세트가 여기에서 이용 가능하다.

Eclipse, EMF/GMF, Grapiti API를 기반으로 한 새로운 오픈소스 IFML 편집기가 개발 중에 있다.이 도구는 오픈소스 이클립스 프로젝트로 출시될 것이다.도구는 IFML 추상개념에서 Java Swing, Microsoft WPF, HTML의 플랫폼별 개념에 이르는 매핑을 포함하며, UI 부분의 IFML 도표 모델링은 (실행 가능한) UML 도표와 백엔드 사업논리의 Alf 스크립트가 결합된 fUML 사양에 따라 (실행 가능한) UML 도표로 보완할 수 있다.비디오에서는 도구 특징에 대한 간단한 미리 보기를 볼 수 있다.

IFMLEdit.org[2]은 교육과 민첩한 개발에 초점을 맞춘 웹 기반 오픈소스 IFML 편집기이다.모델 편집, 코드 생성, 에뮬레이션을 지원한다.현재 코도바나 플라이를 통해 서버측 노드JS, 클라이언트측 자바스크립트, 모바일 애플리케이션 등에 대한 코드 생성을 지원한다.

역사

IFML은 스테파노 세리, 피에로 브람비야, 마르코 브람비야, 사라 코마이, 스테파노 부티, 마리스텔라 마테라 등의 팀과 함께 스테파노 세리, 피에로 브라테날리에 의해 발명된 WebML 표기법에 의해 영감을 받았다.

참조

  1. ^ a b "IFML Specification document". OMG - Object Management Group. Retrieved 9 April 2013.
  2. ^ 시트러스비트의 완벽한 UI 디자인을 위한 기초(2015년 3월 20일)

추가 읽기

  • Marco Brambilla; Piero Fraternali (2015). Interaction Flow Modeling Language. Model-Driven UI Engineering of Web and Mobile Apps with IFML. Morgan Kaufmann & The OMG Press. ISBN 978-0-12-800108-0.
  • Stefano Ceri; Piero Fraternali; Aldo Bongio; Marco Brambilla; Sara Comai; Maristella Matera (2002). Designing Data-Intensive Web Applications. Morgan Kaufmann. ISBN 978-1-55860-843-6.
  • S. Ceri; M. Brambilla; P. Fraternali (2009), "The History of WebML Lessons Learned from 10 Years of Model-Driven Development of Web Applications", Conceptual Modeling: Foundations and Applications, Essays in honor of John Mylopoulos, Springer LNCS, Festschrift series, vol. 5600, pp. 273–292
  • R. S. Wazlawick (2014), "Interface Tier Design with IFML", Object-Oriented Analysis and Design for Information Systems: Modeling with UML, OCL, and IFML, Morgan Kaufmann, pp. 289–334

외부 링크