TY - JOUR
T1 - Constructing flow-based tools with generative and compositional techniques
AU - Yang, Ji Tzay
AU - Wang, Feng-Jian
AU - Chu, William C.
AU - Hu, Chung Hua
PY - 2000/4/1
Y1 - 2000/4/1
N2 - In this paper, a model called object-oriented attribute grammar (OOAG), which combines both compositional and generative techniques, is presented to effectively construct flow-based tools that deal with fine-grained language semantics as well as a mass of graphics-drawing activities. OOAG, which consists of two interrelated parts: a model-view-shape (MVS) class framework and an AG++, an object-oriented extension to traditional AGs, is intended to preserve both advantages introduced by respective OO and AG models, such as rapid prototyping, reusability, extensibility, incrementality, and applicability. So far, a flow-based editor associated with two flow-analyzer prototypes, DU/UD tools and a program slicer, have been implemented using OOAG on the Windows environment. Our flow-based editor can be used to construct programs by specifying the associated flow information in a visual way, while (incremental) flow analyzers incorporated into the editor can help analyze incomplete program fragments to locate and inform the user of possible errors or anomalies during programming.
AB - In this paper, a model called object-oriented attribute grammar (OOAG), which combines both compositional and generative techniques, is presented to effectively construct flow-based tools that deal with fine-grained language semantics as well as a mass of graphics-drawing activities. OOAG, which consists of two interrelated parts: a model-view-shape (MVS) class framework and an AG++, an object-oriented extension to traditional AGs, is intended to preserve both advantages introduced by respective OO and AG models, such as rapid prototyping, reusability, extensibility, incrementality, and applicability. So far, a flow-based editor associated with two flow-analyzer prototypes, DU/UD tools and a program slicer, have been implemented using OOAG on the Windows environment. Our flow-based editor can be used to construct programs by specifying the associated flow information in a visual way, while (incremental) flow analyzers incorporated into the editor can help analyze incomplete program fragments to locate and inform the user of possible errors or anomalies during programming.
UR - http://www.scopus.com/inward/record.url?scp=0034165971&partnerID=8YFLogxK
U2 - 10.1016/S0218-1940(00)00012-2
DO - 10.1016/S0218-1940(00)00012-2
M3 - Article
AN - SCOPUS:0034165971
SN - 0218-1940
VL - 10
SP - 203
EP - 226
JO - International Journal of Software Engineering and Knowledge Engineering
JF - International Journal of Software Engineering and Knowledge Engineering
IS - 2
ER -