scispace - formally typeset
Search or ask a question
Author

Kyo C. Kang

Other affiliations: Carnegie Mellon University
Bio: Kyo C. Kang is an academic researcher from Pohang University of Science and Technology. The author has contributed to research in topics: Software product line & Software development. The author has an hindex of 24, co-authored 76 publications receiving 8480 citations. Previous affiliations of Kyo C. Kang include Carnegie Mellon University.


Papers
More filters
ReportDOI
01 Nov 1990
TL;DR: This report will establish methods for performing a domain analysis and describe the products of the domain analysis process to illustrate the application of domain analysis to a representative class of software systems.
Abstract: : Successful Software reuse requires the systematic discovery and exploitation of commonality across related software systems. By examining related software systems and the underlying theory of the class of systems they represent, domain analysis can provide a generic description of the requirements of that class of systems and a set of approaches for their implementation. This report will establish methods for performing a domain analysis and describe the products of the domain analysis process. To illustrate the application of domain analysis to a representative class of software systems, this report will provide a domain analysis of window management system software.

4,420 citations

Journal ArticleDOI
TL;DR: In this article, the authors propose a feature model that captures commonality as an AND/OR graph, where AND nodes indicate mandatory features and OR nodes indicate alternative features selectable for different applications, and it is used to define parameterized reference architectures and appropriate reusable components instantiatable during application development.
Abstract: Systematic discovery and exploitation of commonality across related software systems is a fundamental technical requirement for achieving successful software reuse By examining a class/family of related systems and the commonality underlying those systems, it is possible to obtain a set of reference models, ie, software architectures and components needed for implementing applications in the class FORM (FeaturedOriented Reuse Method) supports development of such reusable architectures and components (through a process called the “domain engineering”) and development of applications using the domain artifacts produced from the domain engineering FORM starts with an analysis of commonality among applications in a particular domain in terms of services, operating environments, domain technologies, and implementation techniques The model constructed during the analysis is called a “feature” model, and it captures commonality as an AND/OR graph, where AND nodes indicate mandatory features and OR nodes indicate alternative features selectable for different applications Then, this model is used to define parameterized reference architectures and appropriate reusable components instantiatable during application development Architectures are defined from three different viewpoints (subsystem, process, and module) and have intimate association with the features The subsystem architecture is used to package service features and allocate them to different computers in a distributed environment Each subsystem is further decomposed into processes considering the operating environment features Modules are defined based on the features on domain technology and implementation techniques These architecture models that represent an architecture at different levels of abstraction are derived from the feature hierarchy captured in the feature model Modules serve as basis for creating reusable components, and their specification defines how they are integrated into the application (eg, asdis integration of predcoded component, instantiation of parameterized templates, and fillingdin skeletal codes) Our experiences have shown that for the electronic bulletin board and the private branch exchange (PBX) domains, “features” make up for a common domain language and the main communication medium among application users and developers Thus, the feature model well represents a “decision space” of software development, and is a good starting point for identifying candidate reusable components

1,022 citations

Journal ArticleDOI
TL;DR: This paper briefly summarizes software reuse research, discusses major research contributions and unsolved problems, provides pointers to key publications, and introduces four papers selected from The Eighth International Conference on Software Reuse (ICSR8).
Abstract: This paper briefly summarizes software reuse research, discusses major research contributions and unsolved problems, provides pointers to key publications, and introduces four papers selected from The Eighth International Conference on Software Reuse (ICSR8).

684 citations

Journal ArticleDOI
TL;DR: The article illustrates, with a home integration system example, how FORM brings efficiency into product line development.
Abstract: The feature-oriented reuse method analyzes and models a product line's commonalities and differences in terms of product features and uses the analysis results to develop architectures and components. The article illustrates, with a home integration system example, how FORM brings efficiency into product line development.

519 citations

Book ChapterDOI
15 Apr 2002
TL;DR: The concept of features and the goals of feature modeling are clarified, practical guidelines for successful product line software engineering are provided, and the authors have extensively used feature modeling in several industrial product line projects.
Abstract: Product line software engineering (PLSE) is an emerging software engineering paradigm, which guides organizations toward the development of products from core assets rather than the development of products one by one from scratch In order to develop highly reusable core assets, PLSE must have the ability to exploit commonality and manage variability among products from a domain perspective Feature modeling is one of the most popular domain analysis techniques, which analyzes commonality and variability in a domain to develop highly reusable core assets for a product line Various attempts have been made to extend and apply it to the development of software product lines However, feature modeling can be difficult and time-consuming without a precise understanding of the goals of feature modeling and the aid of practical guidelines In this paper, we clarify the concept of features and the goals of feature modeling, and provide practical guidelines for successful product line software engineering The authors have extensively used feature modeling in several industrial product line projects and the guidelines described in this paper are based on these experiences

357 citations


Cited by
More filters
Journal ArticleDOI
01 Apr 1988-Nature
TL;DR: In this paper, a sedimentological core and petrographic characterisation of samples from eleven boreholes from the Lower Carboniferous of Bowland Basin (Northwest England) is presented.
Abstract: Deposits of clastic carbonate-dominated (calciclastic) sedimentary slope systems in the rock record have been identified mostly as linearly-consistent carbonate apron deposits, even though most ancient clastic carbonate slope deposits fit the submarine fan systems better. Calciclastic submarine fans are consequently rarely described and are poorly understood. Subsequently, very little is known especially in mud-dominated calciclastic submarine fan systems. Presented in this study are a sedimentological core and petrographic characterisation of samples from eleven boreholes from the Lower Carboniferous of Bowland Basin (Northwest England) that reveals a >250 m thick calciturbidite complex deposited in a calciclastic submarine fan setting. Seven facies are recognised from core and thin section characterisation and are grouped into three carbonate turbidite sequences. They include: 1) Calciturbidites, comprising mostly of highto low-density, wavy-laminated bioclast-rich facies; 2) low-density densite mudstones which are characterised by planar laminated and unlaminated muddominated facies; and 3) Calcidebrites which are muddy or hyper-concentrated debrisflow deposits occurring as poorly-sorted, chaotic, mud-supported floatstones. These

9,929 citations

ReportDOI
01 Nov 1990
TL;DR: This report will establish methods for performing a domain analysis and describe the products of the domain analysis process to illustrate the application of domain analysis to a representative class of software systems.
Abstract: : Successful Software reuse requires the systematic discovery and exploitation of commonality across related software systems. By examining related software systems and the underlying theory of the class of systems they represent, domain analysis can provide a generic description of the requirements of that class of systems and a set of approaches for their implementation. This report will establish methods for performing a domain analysis and describe the products of the domain analysis process. To illustrate the application of domain analysis to a representative class of software systems, this report will provide a domain analysis of window management system software.

4,420 citations

Journal ArticleDOI
TL;DR: In this article, the authors identify patterns in the decision, analysis, design, and implementation phases of DSL development and discuss domain analysis tools and language development systems that may help to speed up DSL development.
Abstract: Domain-specific languages (DSLs) are languages tailored to a specific application domain. They offer substantial gains in expressiveness and ease of use compared with general-purpose programming languages in their domain of application. DSL development is hard, requiring both domain knowledge and language development expertise. Few people have both. Not surprisingly, the decision to develop a DSL is often postponed indefinitely, if considered at all, and most DSLs never get beyond the application library stage.Although many articles have been written on the development of particular DSLs, there is very limited literature on DSL development methodologies and many questions remain regarding when and how to develop a DSL. To aid the DSL developer, we identify patterns in the decision, analysis, design, and implementation phases of DSL development. Our patterns improve and extend earlier work on DSL design patterns. We also discuss domain analysis tools and language development systems that may help to speed up DSL development. Finally, we present a number of open problems.

1,778 citations

Journal ArticleDOI
TL;DR: The literature available on the topic of domain-specific languages as used for the construction and maintenance of software systems is surveyed, and a selection of 75 key publications in the area is listed.
Abstract: We survey the literature available on the topic of domain-specific languages as used for the construction and maintenance of software systems. We list a selection of 75 key publications in the area, and provide a summary for each of the papers. Moreover, we discuss terminology, risks and benefits, example domain-specific languages, design methodologies, and implementation techniques.

1,538 citations