Sie sind auf Seite 1von 6

Journal of Applied Computer Science & Mathematics, no.

10 (5) /2011, Suceava

Framework for Intelligent Decision Support Systems


1
1

Cristina Ofelia STANCIU, 2Ioan tefan NICHI

Tibiscus University of Timioara, 2Babes-Bolyai University, Romania


1
ofelia.stanciu@gmail.com, 2stefan.nitchi@econ.ubbcluj.ro
managing relations, attributes and instances. It also defines a
number of sample decision algorithms based on this
framework. This structural definition of the solution
explains itself through the general recommendation of
separating the core, logic compound from the user interface,
design rule that should be obeyed in the process of
development computer applications [13].
The kernel of the project is implementing the whole
working logic, mandatory to reach the projects aims, while
the graphical user interface part can be changed anytime.
The graphical user interface part is highly connected to the
kernel, directly using its functionality.
The class library project defined for the integrated system
aggregates a series of class assemblies, each one having its
corresponding namespace definition (Figure 2). The basic
assembly will be named ML.Core; the classes that manage
relations and their subparts will be grouped under the
ML.Core.Relations assembly and all the algorithm classes
will be stored in ML.Core.Algorithms.
The system has been developed keeping a close eye on
programming engineering standards that are recommended
for code writing. The implemented methods are planned so
that they would be short and concise. Long and
unintelligible methods are not recommended in software
development, because of the simple reason that they
complicate the understanding capacity of the code (by
another programmer, in case the code is reusable, or even by
the programmer that initially wrote the code).

AbstractDecision support systems have evolved and new


technologies are involved in their development. The proposed
framework was developed as an expandable and reusable
environment that facilitates the implementation of modern
algorithms that aim to help decision makers in solving complex
problems. The presented solution is a powerful, efficient and
"elegant" from an object-oriented programming standpoint,
built using XML-represented data models, with corresponding
XSD schemas and C#.NET source code implementations,
offering libraries of functions for processing these data models.
Keywords: decision support system, XML, class library

I. INTRODUCTION
Management activity within organizations has suffered
significant modifications in the context of information
society development and the new computer technologies
have beneficially influenced the most important domain of
this activity, decision making. Decision tasks become harder
and harder to achieve without the support of computer-based
instruments known as decision support systems.
We seek to present a new approach regarding the
development of decision support systems, emphasizing new
directions in decision algorithms implementation through an
expandable system designed with respect to advanced
principles of software engineering. The proposed approach
comes as a retort to trends imposed by the current software
technologies and allows the implementation of decision
support systems using new Machine Learning technologies.
The proposed system aims to be a framework for a
decision support system that will allow implementing all
sorts of algorithms with the purpose of helping the decision
makers in solving complex decision problems. With this in
mind, the system is designed with the greatest respect to the
Design Patterns [3], with increased levels of reusability.
II. MATERIAL AND METHODS

GUI

The integrated system is developed using the Microsoft


Visual Studio IDE, it is a Windows-forms application based
on the .NET Framework 2.0 architecture and the code is
written in the C# programming language.
The Visual Studio solution is divided into two projects
(Figure 1), one being the main executable application that
contains the graphical user interface (GUI); the other project
consists of a class library that embeds the mechanisms of

kernel

Figure 1. The kernel and the graphical user interface relation

63

Computer Science Section

ML.Core

basic class
assembly

ML.Core.Relations

relation class
assembly

ML.Core.Algorithms

algorithm class
assembly

Figure 2. The class assemblies within the class library

the programming languages, being extensible, platform


independent and easy adaptable. The text format that XML
generates proves the advantage to allow the user to view the
file without using the application that has generated that
very program, but using a simple text editor.
The idea of using XML files to store data emerged from
the numerous benefits this format brings along:
- ease of data structuring process;
- the files are "human readable" (similar to text files, in
this case);
- platform independency, open standard with no license
required.
XML files are formed by storing units, called entities,
containing parsed or unparsed data. By parsed data we
consider data formed by characters that lead to character
data, the so called markup. Markups are entities that are
codifying a description of the storage scheme of the file and
logic structure.
An XML file is similar to an organized labeled tree,
formed by character data leave nodes containing data and
element nodes labeled with a name and the multitude of
attributes, each of them with a name and a value.
From the data storage point of view, in order to use the
data within a decision support system, the XML format
remains elegant in its structure, but could hardly be used for
large amounts of data meaning that the storage is possible
but further use might become hard, comparing to more
performing data base systems.
Modeling data in XML format also offers the possibility
to validate data by defining so called XML schemes. The
XSD (XML Schema Definition) files define rules and
patterns the XML file should fit in.
An XML schema defines the following: elements to
appear in an XML document, possible attributes of the
elements, inherited elements, whether an element is void or
may contain text etc. The clear advantage of the XML
schema is given by their performance in identifying
unusable data and in limiting their use.
The compound that is formed from data models
represented in XML format together with corresponding

We have followed the recommendation to define short


methods, and the methods that became too long were
broken in smaller and more precise ones. The Visual
Studio development environment offers to the implementer
a solution to explain in large lines each class, method,
property, actually each source code entity belonging to a
source file. By adding in the proper line three / characters,
Visual Studio will automatically insert a pattern which
allows building comments referring to the next block. These
XML comments have multiple roles: first, they are of great
use for the systems developer, to help him understand at a
later moment what the effect of a certain part of code would
be and what the involved parameters mean. Secondly, by
using the NDoc tool, one could generate documentations of
the implemented code in different formats. These
documentations could be distributed, if needed, together
with a final software product, to assist a future
implementation that is likely to use functions defined within
the distributed product. Considering that the final product
that we were aiming for is a class library and functions to
serve this purpose, it is imperative to build a solid
documentation of these classes and methods. The fact that
these comments are represented in XML format allows them
a more efficient classification and an easiness to find a
certain proposed objective (a summary of a method,
describing of a parameter or a returned object etc.).
Given the high competition between contemporary
enterprises, that are very strongly client centered, data, when
properly processed and used, is considered the resource to
lead to the development of the business. Efficient data
processing assumes discovering some suggestive patterns
that lead to economic advantages.
XML is a modern format and most if the visual high level
programming languages, such as Visual C++, C#, Java, are
capable to process and manage XML files and the data
stored in these files [14].
XML assumes that a set of rules exist in order to realize
text-like formats that allow data structuring. XML should
not be confused with a programming language, XML itself
being actually a technology that avoids usual problems of

64

Journal of Applied Computer Science & Mathematics, no. 10 (5) /2011, Suceava

The document used within the system is XML, build


based on an XML schema (xsd file) and is compiled as
embedded resource in the Visual Studio project. The
existence if the XML schema is vital for the system
validation, and for verifying the data from the file.
The XML document handled by the integrated system
represents a so-called relation, the Relation element being
the root node of the XML tree (Figure 3). This element
aggregates two major sub-elements: the attribute definition
list (Attributes) and the instance list (Instances). Each
relation will have a name in order to ease identification; this
name can be displayed in the title bar of the GUI
application.

XSD schemas and computer applications implemented in


the programming languages that offer a set of functions for
processing these data models (.NET Framework, Java
packages, Qt) stands for a solution that is powerful and
efficient, but mostly elegant from an object-oriented
standpoint.
The system we proposed in this study is a single
document interface application, meaning that it works with
only one document/file at a certain moment. If needed, the
relation with another document can be implemented, in case
the data has to be retrieved from another document type than
the one used by the application.

XML DOCUMENT
RELATION

INSTANCES

ATTRIBUTES

name

type

Figure 3. The XML document structure

In the next code section we exemplified the element type definition Relation, as described in the XML schema:
<xs:element name="Relation">
<xs:complexType>
<xs:sequence>
<xs:element name="Attributes" type="AttributesType" />
<xs:element name="Instances" type="InstancesType" />
</xs:sequence>
<xs:attribute name="name" type="xs:string" />
</xs:complexType>
</xs:element>
Each attributes definition includes the name and type of the attribute (enumerate integer, real, Boolean etc.), the type being
defined in the XML schema as follows:
<xs:simpleType name="AttributeTypesType">
<xs:restriction base="xs:string">
<xs:enumeration value="enumerated" />
<xs:enumeration value="integer" />
<xs:enumeration value="real" />
<xs:enumeration value="boolean" />
</xs:restriction>
</xs:simpleType>

65

Computer Science Section

For enumerating values, the possible values will be defined as a list of subelements of the Attribute element, according to the
next example:
<Attribute name="education" type="enumerated">
<EnumeratedValue value="high school" />
<EnumeratedValue value="bachelors" />
<EnumeratedValue value="masters" />
</Attribute>
The instances, representing input data, will appear as a sequence of Instance type elements, with attributes of the types
defined in the attribute definition section.
The content of an Instance type element will not be validated using the XML schema, being allowed to have any form, its
validation being fulfilled by the application. The InstanceType element will be define as follows:
<xs:complexType name="InstanceType">
<xs:anyAttribute processContents="skip" />
</xs:complexType>
Unknown attributes, of the missing type, will not be specified within the XML document as attributes of the Instance
element. In the graphical user interface, in case of the appearance of missing attributes of an instance, they will be signaled
using the ? character.
Within the next code section one could notice the way the considered instances are specified, by assigning a value to each
defined attribute.
<Instances>
<Instance age="36-55" education="masters" income="high" marital status="single"
purchase?="yes" />
<Instance age="18-35" education="high school" income="low" marital
status="single" purchase?="no" />
<Instance age="36-55" education="masters" income="low" marital status="single"
purchase?="yes" />
<Instance age="18-35" education="bachelors" income="high" marital
status="single" purchase?="no" />
<Instance age="<18" education="high-school" income="low" marital status="single"
purchase?="yes" />
<Instance age="18-35" education="bachelors" income="high" marital
status="married" purchase?="no" />
<Instance age="36-55" education="bachelors" income="low" marital
status="married" purchase?="no" />
<Instance age=">55" education="bachelors" income="high" marital status="single"
purchase?="yes" />
<Instance age="36-55" education="masters" income="low" marital status="married"
purchase?="no" />
<Instance age=">55" education="masters" income="low" marital status="married"
purchase?="yes" />
<Instance age="36-55" education="masters" income="high" marital status="single"
purchase?="yes" />
<Instance age=">55" education="masters" income="high" marital status="single"
purchase?="yes" />
</Instances>
algorithm (k-Nearest Neighbor) are implemented (Figure 4).
III. RESULTS AND DISCUSSION
Following the ideology of developing strongly objectThe solution for implementing the system is presented in
oriented software and of the design patterns we considered
detail, depicting the XML entities and the top-down model
appropriate to create a separate class for almost all of the
implemented within the class library of the framework
XML element types that make up the input relation
which makes sure of its expandable and reusable character.
document. The alternative would have consisted of
The base abstract classes for algorithms are implemented,
processing all of the XML elements solely at the
and to prove the correctness of their functionality a decision
RelationDocument class level and probably using NET
tree algorithm (ID3) and training instance-based learning
XML DOM classes (XmlElement, XmlAttribute, XmlNode

66

Journal of Applied Computer Science & Mathematics, no. 10 (5) /2011, Suceava

etc.) all throughout the code in the class library. This


approach would have been primarily hard to use from
outside the class library, supplying a weak characteristic of
reusability to the entire framework, and secondly, the Load
and Save methods would have become long and
incomprehensible.Implementing the algorithms represents a
large step in this software development process.
The goal of the algorithm class library is to offer a solid
technical foundation for developing almost any decision
algorithm, as well as presenting the developers with the

possibility of using the base classes define here as a starting


point for implementing new algorithms which are using a
dataset that can be represented in the XML format described
in the previous chapters.
The algorithm class library is build in such a manner as
the addition of new algorithms will not impose any
problems, given that we succeeded in putting together a very
intuitive framework within which method overloading is
omnipresent to aid simplify the usage process.

Figure 4. Hierarchy of algorithm classes

67

Computer Science Section

4. Ganguly, A. R., Gupta A., Data Mining Technologies and


decision Support Systems for Business and Scientific
Applications, Encyclopedia of Data Warehousing and Mining,
Blackwell Publishing, 2005
5. Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann,
P., Witten, I., The WEKA Data Mining Software: An Update,
SIGKDD Explorations, Volume 11, Issue 1, 2009
6. Lungu, I, colectiv, Sisteme informatice Analiz, proiectare i
implementare, Editura Economic, Bucureti, 2003
7. Nasirin, S., Birks, D. F., DSS implementation in the UK retail
organizations: a GIS perspective, Information &
Management, Volume 40, Issue 4, Pages 325-336, March
2003
8. Oancea, Mirela, Sisteme informatice pentru asistarea deciziei
financiare, Editura ASE, Bucureti, 2005
9. Power, D., Categorizing Decision Support Systems: A
Multidimensional Approach, in volume Decision Making
Support Systems: Achievements, Trends and Challenges for
New Decade, Idea Group Publishing, 2003
10. Power, D., Decision Support Systems: Concepts and
Resources for Managers, Westport, 2002
11. Radu, I., colab, Informatic i management o cale spre
performan, Editura Universitar, Bucureti, 2005
12. Stanciu, Cristina Ofelia, Decision Support Systems Present
and Perspective, Universitatea din Oradea Facultatea de
tiine Economice Integrarea European noi provocri
pentru economia Romniei Anale Seria tiine Economice
(Universitatea din Oradea) TOM XIV ISSN 1582 5450,
2007
13. Stanciu, Cristina Ofelia, Solutions for the development of
Decision Dupport Systems, ANALE Seria tiine Economice
(Universitatea Tibiscus din Timioara), Vol. XV, ISSN.
1582 6333, 2009
14. Stanciu, Cristina Ofelia, A. Cojocariu, XML Technologies
for Improving Data Management for Decision Algorithms,
20th DAAAM International Conference, Vienna, 2009
15. Stanciu, Cristina Ofelia, coordonator: Prof. dr. Ioan tefan
Nichi, Contribuii la utilizarea sistemelor de asistare a
deciziilor bazate pe tehnologii Machine Learning n
probleme de afaceri, tez de doctorat, 2010
16. Turban E., Aronson J., Decision Support Systems and
Intelligent Systems, Prentice Hall, SUA, 2001
17. Witten, I. H., Frank, E., Data Mining Practical Machine
Learning Tools and Techniques, Second Edition, Norgan
Kaufmann Publishing, 2005
18. Wu, X., Kumar, V., Quinlan, J. R., Ghosh, J., Yang, Q.,
Motoda, H., McLachlan, G. J., Ng, A., Liu, B., Yu, P. S.,
Zhou, Z., Steinbach, M., Hand D. J., Steinberg, D., Top 10
algorithms in data mining, Knowl Inf Syst 14:137, Springer
Publishing, 2008

IV. CONCLUSION AND FUTURE WORK


The assemble made up by the data models represented in
XML format together with the XSD schemes and the
applications developed in programming languages that offer
function libraries for processing these data models (.Net,
Java packages, Qt) represents a powerful and efficient
solution, but mostly an elegant one, according to the object
oriented programming point of view. The main conclusion is
that the described solution is a new approach upon the
development of decision support systems, emphasizing new
means of implementing the decision algorithms through an
expandable system that respects advanced principles of
software engineering. Obviously further research on
computer-based decision support systems based on Machine
Learning technologies are in order. Even from the very
beginning we had in mind the future evolution of this
application, allowing the implementation of many more
decision algorithms and the possibility of using new
technologies. We're already envisioning as future
development the possibility of the application to
communicate with various database systems, MySQL
databases as a first step and any other connections after that,
in order to be able to handle very large amounts of data.
This enhancement will not be difficult to implement given
that all the classes for storing data are already in place, they
just need to be adapted and connected to database entities.
Also, as future plans, a rather modern enhancement would
be implementing Web Services by creating ASP.NET web
methods which would allow initialization of the data set and
offer the capability of running algorithms upon it.
ACKNOWLEDGMENTS

This work was jointly supported by Romanian National


Authority for Scientific Research under the grant no. PN2
92-100/2008 SICOMAP.
REFERENCES
1. Bishop, C., Pattern Recognition and Machine Learning,
Springer Publishing, 2006
2. Filip F.Gh., Decizie asistat de calculator: decizii, decideni
metode de baz i instrumente informatice asociate, Editura
Tehnic, Bucureti, 2005
3. Gamma, E., Helm, R., Johnson, R., Vlissides, J., Design
Patterns Elements of Reusable Object Oriented Software,
Addison Wesley, 1995

Cristina Ofelia STANCIU Lecturer, Faculty of Economics, Tibiscus University in Timisoara, Romania. She has obtained her
B.E. in Computer Science in 2004, Masters Degree in Economics in 2006 and Ph.D. in Economics in 2010. Her research areas
of interest are Decision Support Systems, Artificial Intelligence and Machine Learning.
Ioan tefan NICHI Professor, Faculty of Economics and Business Administration, Babes Bolyai University in Cluj Napoca,
Romania. He has obtained his Bachelor Degree in Computing Machines in 1966 and Ph.D. in Mathematics in 1990. He has
published 13 books and 106 research papers and has been involved in almost 100 grants and research projects. His research
areas of interest are Information Systems, Data Mining, Artificial Intelligence, Business Intelligence, Machine Learning,
Software Engineering.

68

Das könnte Ihnen auch gefallen