Skip to main content
QUICK REVIEW

[논문 리뷰] Low-Code Programming Models

Martin Hirzel|arXiv (Cornell University)|2022. 05. 04.
Software Engineering Research참고 문헌 39인용 수 4
한 줄 요약

이 논문은 시각적 프로그래밍, 예제 기반 프로그래밍, 자연어 기반 프로그래밍을 분석함으로써 저코드 프로그래밍 모델에 대한 연구를 통합하며, 도메인 특화 언어와 모델-뷰-컨트롤러 패턴을 기초적인 통합 원칙으로 규명한다. 이는 재사용 가능한 구성 요소, 메타도구, 종량계 소프트웨어 공학 기법을 강조함으로써 시민 개발자와 전문 개발자 모두를 지원하는 통합된 프레임워크를 제안한다.

ABSTRACT

Traditionally, computer programming has been the prerogative of professional developers using textual programming languages such as C, Java, or Python. Low-code programming promises an alternative: letting citizen developers create programs using visual abstractions, demonstrations, or natural language. While low-code programming is currently getting a lot of attention in industry, the relevant research literature is scattered, and in fact, rarely uses the term "low-code". This article brings together low-code literature from various research fields, explaining how techniques work while providing a unified point of view. Low-code has the potential to empower more people to automate tasks by creating computer programs, making them more productive and less dependent on scarce professional software developers.

연구 동기 및 목표

  • 다양한 분야와 기법에 걸쳐 산산이 흩어진 저코드 프로그래밍 연구를 통합하는 것.
  • 저코드, 노코드, 종량계 프로그래밍 간의 차이를 명확히 하고, 저코드를 더 넓고 포괄적인 패러다임으로 위치지우는 것.
  • 저코드 기법들을 통합하는 공통된 프로그래밍 모델 추상화—특히 도메인 특화 언어(DSL)와 MVC 패턴—를 규명하는 것.
  • 저코드 도구 개발을 가속화하고 상호 운용성을 향상시키기 위해 재사용 가능한 빌딩 블록과 메타도구를 제안하는 것.
  • 장기적인 유지보수성과 품질을 확보하기 위해 저코드 환경에 종량계 소프트웨어 공학(EUSE) 관행을 통합할 것을 주장하는 것.

제안 방법

  • 시각적 프로그래밍 언어(VPL), 예제 기반 프로그래밍(PBD), 자연어 기반 프로그래밍(PBNL)이라는 세 핵심 저코드 기법을 분석하며, 각 기법의 기본 구성 요소에 집중한다.
  • 도메인 특화 언어(DSL)와 모델-뷰-컨트롤러(MVC) 패턴을 기반으로 한 통합 프레임워크를 도입하여 저코드 시스템의 기반을 마련한다.
  • 저코드 도구의 생성을 자동화하기 위해 메타도구(예: VPL용 Blockly, PBD용 DreamCoder, PBNL용 Overnight)의 사용을 제안한다.
  • 저코드 도구를 사용해 다른 저코드 도구를 만들 수 있는 메타순환 도구를 도입함으로써 개발자 공감 능력 향상과 도구 제작의 민주화를 촉진한다.
  • 공통의 UI 구성 요소(예: 코드 캔버스, 팔레트, 설정 패널)와 공유되는 AI 구성 요소(예: 의미 분석기, 언어 모델)를 재사용하여 저코드 개발의 표준화와 가속화를 도모한다.
  • 장기적인 프로그램 유지보수를 지원하기 위해 저코드 환경에 버전 관리, 암시 조건, 테스트 커버리지 등의 종량계 소프트웨어 공학(EUSE) 관행을 통합할 것을 권장한다.

실험 결과

연구 질문

  • RQ1다양한 저코드 프로그래밍 모델 간의 공통된 추상화와 통합 원칙은 무엇인가?
  • RQ2메타도구와 메타순환 설계는 새로운 저코드 플랫폼 개발을 어떻게 가속화하는가?
  • RQ3시각적 프로그래밍, 예제 기반 프로그래밍, 자연어 기반 프로그래밍이 결합될 경우 상호 보완적으로 작용하는 방식은 무엇인가?
  • RQ4도메인 특화 언어와 모델-뷰-컨트롤러 패턴은 일관되고 조합 가능한 저코드 시스템을 가능하게 하는 데 어떤 역할을 하는가?
  • RQ5종량계 소프트웨어 공학 관행은 어떻게 저코드 환경에 통합되어 장기적인 프로그램 품질과 유지보수성을 확보할 수 있는가?

주요 결과

  • 모델-뷰-컨트롤러(MVC) 패턴과 도메인 특화 언어(DSL)는 시각적 프로그래밍, 예제 기반 프로그래밍, 자연어 기반 프로그래밍 기법 간의 통합 기반으로 기능한다.
  • 예제 기반 프로그래밍(PBD)을 자연어 기반 프로그래밍(PBNL)의 모호성 해결에 활용하는 것과 같은 저코드 기법의 조합은 개별 기법의 약점을 상쇄하고 프로그램 정확도를 향상시킨다.
  • Blockly, DreamCoder, Overnight과 같은 메타도구는 반복적인 구현 작업을 자동화함으로써 저코드 플랫폼의 개발 속도를 높이고 일관성을 확보한다.
  • VisPRO와 Racket와 같은 메타순환 저코드 도구는 개발자가 자신의 저코드 도구를 만들고 개선할 수 있도록 하여 더 깊은 사용자 공감 능력과 혁신을 촉진한다.
  • 저코드 시스템 간에 공통 UI 구성 요소와 AI 모듈(예: 의미 분석기, 언어 모델)을 재사용하면 일관성 향상, 개발 시간 단축, 상호 운용성 향상에 기여한다.
  • 버전 관리, 암시 조건, 테스트 커버리지 등의 종량계 소프트웨어 공학(EUSE) 관행을 저코드 환경에 통합하는 것은 장기적인 프로그램 신뢰성과 진화를 확보하기 위해 필수적이다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.