Browse > Article
http://dx.doi.org/10.3745/KTSDE.2013.2.8.543

Automatic Extraction of Abstract Components for supporting Model-driven Development of Components  

Yun, Sang Kwon (경북대학교 전자전기컴퓨터학부)
Park, Min Gyu (경북대학교 IT 대학 컴퓨터학부)
Choi, Yunja (경북대학교 IT 대학 컴퓨터학부)
Publication Information
KIPS Transactions on Software and Data Engineering / v.2, no.8, 2013 , pp. 543-554 More about this Journal
Abstract
Model-Driven Development(MDD) helps developers verify requirements and design issues of a software system in the early stage of development process by taking advantage of a software model which is the most highly abstracted form of a software system. In practice, however, many software systems have been developed through a code-centric method that builds a software system bottom-up rather than top-down. So, without support of appropriate tools, it is not easy to introduce MDD to real development process. Although there are many researches about extracting a model from code to help developers introduce MDD to code-centrically developed system, most of them only extracted base-level models. However, using concept of abstract component one can continuously extract higher level model from base-level model. In this paper we propose a practical method for automatic extraction of base level abstract component from source code, which is the first stage of continuous extraction process of abstract component, and validate the method by implementing an extraction tool based on the method. Target code chosen is the source code of TinyOS, an operating system for wireless sensor networks. The tool is applied to the source code of TinyOS, written in nesC language.
Keywords
Component Model; Reverse Engineering; nesC; MARMOT Framework;
Citations & Related Records
Times Cited By KSCI : 2  (Citation Analysis)
연도 인용수 순위
1 M. Snoeck and G. Dedene, "Experiences with Object Oriented Model-Driven Development," in Software Technology and Engineering Practice, 1997. Proceedings, Eighth IEEE International Workshop on [incorporating Computer Aided Software Engineering], pp.143-153, 1997
2 H.Jang, M.Park, Y.Choi, "A Model Translator for Checking Behavioral Consistency of Abstract Components", The KIPS transactions. Part D. Vol.18D, No.6, pp.443-450, 2011.   과학기술학회마을   DOI   ScienceOn
3 E. Korshunova, "CPP2XMI: Reverse Engineering of UML Class, Sequence, and Activity Diagrams from C++ Source Code," in Proceedings of the 13th Working Conference on Reverse Engineering (WCRE'06), pp.297-298, 2006.
4 C. Abbaneo, F. Flammini, A. Lazzaro and P. Marmo, "UML Based Reverse Engineering for the Verification of Railway Control Logics," in Proceedings of the International Conference on Dependability of Computer Systems (DEPCOS-RELCOMEX'06), pp.3-10, 2006.
5 T. Parr, The Definitive ANTLR Reference, Pragmatic Bookshelf, 2007.
6 N. Kothari, T. Millstein and R. Govindan, "Deriving State Machines from TinyOS Programs using Symbolic Execution," in 2008 International Conference on Information Processing in Sensor Networks, pp.271-282, 2008.
7 Chouambe, L., Klatt, B. and Krogmann, K., "Reverse Engineering Software-Models of Component-Based Systems," in 12th European Conference on Software Maintenance and Reengineering. CSMR, pp.93-102, 2008.
8 E. Cho, C. Kim, "A Design Technique of Meta-Model for Reengineering from Legacy to CBD", Journal of Korea Multimedia Society, Vol.8, No.3, pp.398-412, 2005.   과학기술학회마을
9 M.Park and Y.Choi, "A tool for scalable verification of multi-component distributed systems", International conference on Computer, Networks, Systems, and industrial Applications, pp.541-545, 2012.
10 B. Selic, "The pragmatics of model-driven development," in IEEE SOFTWARE, Vol.20, pp.19-25, 2003.   DOI   ScienceOn
11 Y. Choi and H. Jang, "Reverse Engineering Abstract Components for Model-Based Development and Verification of Embedded Software", in Proc. IEEE 12th Int High-Assurance Systems Engineering (HASE) Symp, pp. 122-131, 2010.
12 Y. Choi and C. Bunse, "Design verification in model-based ${\mu}$-controller development using an abstract component", Software and System Modeling, pp.91-115, 2008.
13 D. Gay, "nesC 1.3 Language Reference Manual", 2009.
14 D. Gay, "Software design patterns for TinyOS," Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems, Vol.40, pp.40-49, 2005.
15 A. MacDonald, D. Russell and B. Atchison, "Model-driven Development within a Legacy System: An industry experience report," in Proceedings of the 2005 Australian Software Engineering Conference (ASWEC'05), pp.14-22, 2005.