Using User-Defined Domain-Specific Visual Languages to Modularize Programs for Conducting Experiments

Yung-Yu Zhuang, Jui Hsiang Kao, Kuan Shang Liu, Chia Yu Lin

Research output: Contribution to journalArticlepeer-review


Experimental programs for conducting related scientific computing or engineering simulations often share common steps but differ in their workflows. Although switching between different workflows within a single program is possible, those switches prevent from understanding the individual experimental workflows. To domain experts, it is usu-ally tricky to modularize experimental programs for maintenance and comprehension. Suppose common steps in these workflows can be wrapped up as components in a tiny visual language. The experiments can be expressed as programs written in that language and even constructed by drag-and-drop. It not only hides implementation details in each step but also improves program comprehension. However, existing domain-specific visual languages (DSVLs) are not targeted for full customization so far as we know. We propose customizing a user-defined DSVL to represent different experimental workflows and fol-low Dijkstra's sequencing discipline in structured programming to develop a proof-of-concept framework. For discussion, a tiny DSVL for running wind turbine system simula-tion was then built upon as an example, and a comparison with existing visual frameworks was made based on diagram style, component set, and program construction. Our approach can help domain experts to express the experimental concern and quickly construct pro-grams for running related experiments. Supporting complex syntax and parallel computing are included in our future work.

Original languageEnglish
Pages (from-to)1089-1108
Number of pages20
JournalJournal of Information Science and Engineering
Issue number6
StatePublished - Nov 2022


  • code modularity
  • domain-specific language
  • flowchart
  • visual programming language
  • workflow management system


Dive into the research topics of 'Using User-Defined Domain-Specific Visual Languages to Modularize Programs for Conducting Experiments'. Together they form a unique fingerprint.

Cite this