파이FML 파이썬 기반 텍스트형 피처 모델링 언어
초록
본 논문은 파이썬과 textX, PyConstraint를 결합한 텍스트 기반 도메인 특화 언어(PyFML)를 제안한다. PyFML은 기존 그래픽 피처 모델링의 한계를 극복하고, 인스턴스 카디널리티·속성·복제·복합 교차 제약을 자연스럽게 표현한다. 텍스트 입력을 자동으로 파이썬 객체 모델로 변환하고, CSP 솔버를 통해 구성 가능성 검증 및 변이 계산을 수행한다.
상세 분석
PyFML은 기존 피처 모델링 도구가 주로 프로로그나 자바 기반의 그래픽 표기법에 의존하고, 확장성·표현력에서 한계를 보인다는 문제점을 인식한다. 이를 해결하기 위해 저자들은 파이썬의 풍부한 라이브러리와 메타‑모델링 프레임워크인 textX를 선택하였다. textX는 EBNF 형태의 문법을 정의하면 자동으로 파이썬 클래스와 파서 코드를 생성하므로, DSL 구현 비용을 크게 낮춘다. PyFML 문법은 기본 피처, 복합 피처, 그룹(ALL, ONE OF, MORE OF), 카디널리티, 속성, 논리·수학적 교차 제약 등을 포함한다. 특히 “(n..m)” 형태의 카디널리티와 “{attr=val}” 형태의 속성 정의를 통해 기존 그래픽 모델이 표현하기 어려운 다중 인스턴스와 파라미터화된 특성을 자연스럽게 기술한다.
파싱된 AST는 파이썬 객체 그래프로 전환되고, 각 피처는 Boolean 혹은 정수 도메인을 갖는 변수로 매핑된다. 여기서 핵심은 PyConstraint CSP 솔버와의 연동이다. 제약식은 논리 연산자(and, or, implies, not)와 비교 연산자를 지원하며, 속성값에 대한 산술 연산도 가능하도록 설계되었다. 이렇게 구성된 CSP는 SAT‑like 탐색을 수행해 모든 유효한 제품 구성을 도출하거나, 특정 제약 위반을 탐지한다.
성능 측면에서 저자들은 “수천 개 피처” 규모의 모델에서도 CSP 기반 검증이 실시간에 가깝게 수행된다고 주장한다. 이는 파이썬의 인터프리터 특성에도 불구하고, 텍스트 기반 DSL이 파싱·모델링·제약 해결을 일관된 파이프라인으로 제공함으로써 전통적인 그래픽 툴보다 확장성과 유지보수성이 뛰어나다는 점을 강조한다. 다만, 현재 구현은 복잡한 교차 제약이 많아질수록 CSP 탐색 비용이 급증할 가능성이 있으며, 대규모 산업 현장에서의 실험적 검증이 추가로 필요하다.
댓글 및 학술 토론
Loading comments...
의견 남기기