02.04.2013 Views

CONTENTS

CONTENTS

CONTENTS

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

KNOWLEDGE ENGINEERING: PRINCIPLES AND TECHNIQUES<br />

Proceedings of the International Conference on Knowledge Engineering,<br />

Principles and Techniques, KEPT2009<br />

Cluj-Napoca (Romania), July 2–4, 2009, pp. 185–188<br />

A CLUSTERING APPROACH FOR TRANSFORMING<br />

PROCEDURAL INTO OBJECT-ORIENTED SOFTWARE SYSTEMS<br />

ISTVAN GERGELY CZIBULA (1)<br />

Abstract. It is well known that object-oriented programming has mechanisms<br />

for constructing highly flexible, adaptable, and extensible systems. Legacy software<br />

systems evolution often requires their reengineering to object oriented systems.<br />

In this paper we are focusing on the problem of automating the transformation<br />

of procedural software systems into object-oriented systems. For this<br />

purpose we propose a clustering approach and we develop a partitional clutering<br />

algorithm that can be used for assisting software developers in the process of<br />

migrating procedural code into object-oriented code. A simple example showing<br />

how our approach works is also considered.<br />

1. Introduction<br />

It is well known that object-oriented programming has many advantages over conventional<br />

procedural programming languages for constructing highly flexible, adaptable,<br />

and extensible systems [1].<br />

Object-oriented concepts are useful concerning the reuse of existing software.<br />

Therefore a transformation of procedural programs to object-oriented programs becomes<br />

an important process to enhance the reuse of procedural programs. It would<br />

also be useful to assist by automatic methods the software developers in transforming<br />

procedural code into an equivalent object-oriented one.<br />

Unsupervised classification, or clustering, as it is more often referred as, is a data<br />

mining activity that aims to differentiate groups (classes or clusters) inside a given<br />

set of objects [2].<br />

The main contributions of this paper are:<br />

• To introduce a clustering approach for transforming non object-oriented software<br />

systems into object-oriented ones. The proposed approach can be useful<br />

during the evolution of non object-oriented software systems.<br />

• To propose a k-medoids based clustering algorithm for our goal.<br />

2000 Mathematics Subject Classification. 68N30, 62H30.<br />

Key words and phrases. software engineering, object-oriented systems, clustering.<br />

185<br />

c○2009 Babe¸s-Bolyai University, Cluj-Napoca

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!