Welcome to Hyun's homepage

  • Home
  • Modeling Language Creation By Demonstration

University of Alabama
Department of Computer Science
Box 870290
Tuscaloosa, AL  35487-0290
hcho7 at ua dot edu

Short Biography

I am currently a Ph.D. student in the Software Engineering Group of Department of Computer and Science at University of Alabama. My advisor is Dr. Jeff Gray. My research interests line in Software Product Line Engineering, Domain-Specific Modeling Languages, Aspect-Oriented Analysis and Design. Prior to coming UA, I got M.S degree in Computer Science from University of Alabama at Birmingham on May 2010. I have worked as database administrator in Posdata Co. Ltd. for five years and as software architect in Samsung Electronics Co. Ltd. for eight years.


Book Chapters

  1. Model-Driven Impact Analysis of Software Product Lines
    Hyun Cho, Jeff Gray, Yuanfang Cai, Sunny Wong, and Tao Xie Model-Driven Domain Analysis and Software Development: Architecture and Functions, (Janis Osis and Erika Asnina, eds.), Idea Group, 2010.

Conference Papers

  1. Managing API Evolution for Open Software Platforms
    Hyun Cho, Eunyoung Kim, and Jeff Gray International Conference on Software and Data Engineering 2010 (SEDE2010), San Francisco, CA, June 2010.

  2. A Domain-Specific Modeling Language for Scientific Data Composition and Interoperability
    Hyun Cho ACM Southeast Conference 2010, Oxford, MS, April 16~18 2010.

  3. Requirement Management in Software Product Lines
    Hyun Cho 1st International Global Requirements Engineering Workshop (GREW07), Munich, Germany, August, 2007.

  4. Study on automated version information management using code history
    Hyun Cho Korean Information Science Society 2003 Spring Conference, Jeju, Korea, May, 2003.

  5. Refactoring legacy software for component-based reuse
    Hyun Cho Korean Information Science Society 2002 Fall Conference, Suwon, Korea, October., 2002.

  6. Embedded software development using unified change management (UCM)
    Hyun Cho Korean Information Science Society 2001 Fall Conference, Seoul, Korea, October., 2001..

Workshop Papers

  1. Creating Visual Domain-Specific Modeling Languages from End-User Demonstration
    Hyun Cho, Jeff Gray, and Eugene Syriani 4th International Workshop on Modelling in Software Engineering (MiSE 2012), Zurich, Switzerland, Jun 2012.

  2. Design Patterns for Metamodel
    Hyun Cho and Jeff Gray 11th Workshop on Domain-Specific Modeling), Portland, OR, October 2011.

  3. Key Challenges for Modeling Language Creation By Demonstration
    Hyun Cho, Yu Sun, Jeff Gray, and Jules White ICSE 2011 Workshop on Flexible Modeling Tools, Honolulu HI, May 2011.

  4. Assisting Feature Model Configuration using Demonstration-based Model Transformation
    Yu Sun, Hyun Cho, Jeff Gray, and Jules White 2nd International Workshop on Product Line Approaches in Software Engineering (PLEASE11), Hawaii HI, May 2011.

  5. Ontology Support for Abstraction Layer Modularization
    Hyun Cho, Jeff Gray, and Jules White 4th Workshop on Assessment of Contemporary Modularization Techniques (ACoM2010), Jeju Island, South Korea, September 2010.

Doctoral Symposium Papers

  1. A Demonstration-Based Approach for Designing Domain-Specific Modeling Languages
    Hyun Cho SPLASH 2011 Doctoral Symposium, Portland, OR, October 2011.

  2. Model-driven Project Management in Software Product Lines
    Hyun Cho Software Product Line Conference Doctoral Symposium, Jeju Island, South Korea, September 2010.


  1. Creating Domain-Specific Modeling Languages Using a By-Demonstration Technique
    Hyun Cho SPLASH 2011 Student Research Competition, Portland, OR, October 2011.

  2. Automating the Management of the Traceability Relation Evolution
    Hyun Cho SEPG North America, Savannah, GA, March 2010.

  3. Using Metaprogramming to implement a Testing Framework
    Hyun Cho ACM Southeast Conference, Clemson, SC, March 2009.


Although Domain-Specific Modeling Languages (DSMLs) have been applied successfully to various areas (e.g., finance, combat simulation, and image manipulation) and have shown improvements to productivity and quality, development of a new DSML is challenging for either computer scientists or end-users because it requires profound knowledge of the domain and deep experience in modeling language development. To address the challenges of DSML development, we propose a new approach for building DSMLs that represents a demonstration-based technique for specifying the details of a new modeling language.

Domain-Specific Modeling Languages (DSMLs)
  • Languages designed and implemented for specific domain requirements
  • Support encapsulation and abstraction of a particular domain
  • Provide notations tailored to the domain

Benefits of DSMLs
  • Provide rich expressiveness
  • Minimize miscommunication
  • Shorten learning curve to use the language
  • Improve the quality

Barriers of the DSML Development
  • Domain knowledge and language development expertise are required when developing DSMLs but few experts have such expertise
  • Lack of methods and guidelines to develop and manage quality DSML
  • Shorten learning curve to use the language
  • Developed by iterating over complex language development tasks

Goal of the Research

Provide automated and systematic approach to domain experts who do not have language development expertise in developing their own DSMLs

  • Capture concrete syntax of DSML automatically
  • Infer abstract syntax (or metamodel) from concrete syntax and demonstrated model examples
  • Associate semantics to abstract syntax

Overall Process of MLCBD

Technical Challenges and Solutions
  • Support for free-form or sketch-level shapes
    • Preference of domain experts to work in more unconstrained environments (i.e., whiteboard and paper-based sketch)
    • Advances in pen-based input devices

    Shape recognition -> Start with shape authoring tool and then embodies free-form recognition functionality

  • Capturing concrete syntax
    • Concrete syntax represents the visual representation of a DSML
    • Designed to avoid ambiguity and assist readability by domain experts

    Apply By-Demonstration technique

    • Similar to Program-By-Example or Query-By-Example
    • Hook domain experts actions when they demonstrate (or model) domain
    • Maintaining the optimized user action sequences without violating user concerns
    • Design user action sequence management algorithm

  • Inferring abstract syntax
    • Special case of inductive learning

    Infer abstract syntax from a small number of model instance -> Introduce the notion of metamodel design pattern and devise new inference algorithm to utilize metamodel design pattern instead of a large set of training model instances

  • Inferring semantics
    • Most challenging research area and under investigation

Prototype of the approach
  • Development Environment: MS Visio SDK, Visual Basic Script, C++
  • Implemented functionality
    • Identification of concrete syntax
    • Automatic creation of MS Visio template -> Correspond to abstract syntax inference
    • Identification and association of rules -> Correspond to static semantics inference
  • Demo 1: Creating the finite state machine
    • Creating the Finite State Machine (FSM) using By-Demonstration WMV
    • Modeling new FSM using FSM language created through By-Demonstration WMV

  • Demo 2 : Creating the network management diagram
    • Creating the network modeling language using By-Demonstration WMV
    • Modeling new network using network modeling language created through By-Demonstration WMV