We present CLOUDS, which stands for C++ Library Organizing Uncertainty in Database Systems, a tool that allows the creation of fuzzy reasoning systems over classic, nonfuzzy, relational databases. CLOUDS can be used in three flavors: CLOUDS API, a C++ API; CLOUDS-L, a compiled language; and CLOUDSQL, a fuzzy extension to SQL queries (ANSI, 1992). It was developed using the objectoriented paradigm and has an extensible architecture based on a main control system that manages different models, and runs queries and commands defined in them. As a test, it was incorporated into a geographic information system and used to analyze epidemiological data.
Key Terms in this Chapter
Solution Variable: In CLOUDS, a solution variable is a linguistic variable that appears in the consequent part of an IF-THEN rule.
CLOUDS-L: The command language of CLOUDS that can be directly translated to API commands.
GIS: Geographic Information Systems. Systems that usually allow the user to manipulate data that is georeferenced and present it using maps.
CLOUDSQL: The SQL-like interface of CLOUDS.
Linguistic Term: A subjective value that can be attributed to a linguistic variable, such as “young” and “mature” for “age.”
API: Application Programming Interface. A source-code interface that a software library provides for programmers to call within their programs and access its services.
Linguistic Variable: A variable, or label, that represents some characteristic of an element, such as “age” for persons or “temperature” for water. It is a variable that takes words, known as linguistic terms, as values. See a formal definition in the first pages of this chapter.
Design Pattern: A design pattern (Gamma, 1995) is a design structure that solves a recurrent problem in some area, such as programming.
CLOUDS: C++ Library Organizing Uncertainty in Database Systems. A library and user interface that act as a fuzzy front-end to a relational database management system.
Complete Chapter List
Maria Amparo Vila, Miguel Delgado
Slawomir Zadrozny, Guy de Tré, Rita de Caluwe, Janusz Kacprzyk
Balazs Feil, Janos Abonyi
Didier Dubois, Henri Prade
Noureddine Mouaddib, Guillaume Raschia, W. Amenel Voglozin, Laurent Ughetto
P Bosc, A Hadjali, O Pivert
Guy De Tré, Marysa Demoor, Bert Callens, Lise Gosseye
Bordogna Bordogna, Guiseppe Psaila
Ludovic Liétard, Daniel Rocacher
Angélica Urrutia, Leonid Tineo, Claudia Gonzalez
Rallou Thomopoulos, Patrice Buche, Ollivier Haemmerlé
Troels Andreasen, Henrik Bulskov
Mohamed Ali Ben Hassine, Amel Grissa Touzi, José Galindo, Habib Ounelli
Geraldo Xexéo, André Braga
Aleksandar Takaci, Srdan Škrbic
Carlos D. Barranco, Jesús R. Campaña, Juan M. Medina
Yauheni Veryha, Jean-Yves Blot, Joao Coelho
Yan Chen, Graham H. Rong, Jianhua Chen
R. A. Carrasco, F. Araque, A. Salguero, M. A. Vila
Andreas Meier, Günter Schindler, Nicolas Werro
Shyue-Liang Wang, Ju-Wen Shen, Tuzng-Pei Hong
Radim Belohlavek, Vilem Vychodil
Awadhesh Kumar Sharma, A. Goswami, D. K. Gupta
Hamid Haidarian Shahri
J. I. Peláez, J. M. Doña, D. La Red