Danhyung Lee

Learn More
During software development process, software artifacts are produced. Consistency among these artifacts should be verified to ensure error-free product. In software product line development, consistency becomes more important because commonalities and variabilities increase the complexity of relationship among artifacts. In this paper, we present a formal(More)
Software architecture is a core asset for any organization that develops software-intensive systems. Unsuitable architecture can precipitate disaster because the architecture determines the structure of the project. To prevent this, software architecture must be evaluated. The current evaluation methods, however, focus on single product architecture, and(More)
Current software engineering practice is focused on value-neutral processes. Value-based architecting, one of value-based software engineering agendas, involves the further consideration of the system objectives associated with different stakeholder values in selecting an optimal architectural alternative. There are several value-based architectural(More)
Following the dawn of autonomic computing, self-healing systems have been considered as an alternative to maintenance and evolution problems. In web-based applications, the uncertainty about the flux of users is a motivation for implementing a self-healing strategy to tackle response time fluctuations. A knowledge base is implemented to support monitoring(More)
Currently sensor network middlewares are developed so that they include all functionalities for various nodes. Since sensor network nodes usually operate with limited resources, it is desirable for them to have middlewares that have only the functionalities necessary to perform their roles. This paper proposes a systematic method for developing sensor(More)
In this paper, we reflect upon the past five years of the KAIST-Carnegie Mellon MSE collaboration, and look ahead to the ways in which we can improve in the years to come. With the understanding that the major component of the program lies in its curriculum, our insights focus mainly in the areas of curriculum improvement and evolution. As a means of(More)
Feature models have been used to support requirements analysis and domain engineering in Software Product Line. By identifying the mapping between feature model and architecture model by capturing the relationships among elements in the models, we can establish the traceability between the two models. The identified traceability can be used to verify(More)