E Brainstorming

Semantic Ideation Learning for Agent- Based E-Brainstorming in partial fulfillment of the requirement for the award of the degree of BACHELOR OF TECHNOLOGY IN INFORMATION TECHNOLOGY ANNA UNIVERSITY: CHENNAI 600 025 ANNA UNIVERSITY: CHENNAI 600 025 BONAFIDE CERTIFICATE


Studies on Brainstorming

Transcript of E Brainstorming

Page 1: E Brainstorming

Semantic Ideation Learning for Agent-Based E-Brainstorming

in partial fulfillment of the requirement for the award of the degree of






Page 2: E Brainstorming


Brainstorming can assist organizations in generating creative ideas using

teamwork and collaboration. It is the best known tools for creative problem solving.

Brainstorming can simply be defined as a group process for generating ideas by using the

four divergent thinking guidelines, namely, deferring judgment (the process of stopping

to judge ideas and options until after there are many ideas generated), striving for

quantity (more ideas generated leads to higher quality ideas), freewheeling (giving

participants the opportunity to be playful and to strive for imagination), and seeking

combinations (creating ideas that are based upon previously stated ideas). That is, an idea

from one participant can trigger a new idea in another participant, who would otherwise

not have been produced the idea.

This paper integrates the unique association thinking of humans with an

intelligent agent technique to devise an automated decision agent called the Semantic

Ideation Learning Agent (SILA) that can represent a session participant who is actively

participating in brainstorming.

Page 3: E Brainstorming












Page 4: E Brainstorming











Page 5: E Brainstorming



BRAINSTORMING is an effective means of “getting a large number of ideas

from a small number of people in a short time”. Brainstorming can help organizations

and individuals in generating creative ideas through teamwork and collaboration.

Creativity then refers to the ability of bringing something new into being for some

purpose. In this paper, we shared a definition of creativity developed by the

organizational psychologist Reginald Talbot, who defined creativity as “making a change

that sticks.” The word “making” indicates that creativity is about bringing something into

being. The word “change” means the introduction of something new, which can fall

anywhere along the continuum from continuous change (that is, incremental

improvement) to discontinuous change (that is, paradigm breaking). The phrase “that

sticks” then indicates that the creative product or idea serves some need or purpose. E-

brainstorming is a form of brainstorming that employs computer-mediated electronic

communication to replace verbal communications. E-brainstorming often utilizes special

software that gathers employees’ ideas and shares them with other group members to

encourage faster collaboration. In general, e-brainstorming generates more ideas than

verbal brainstorming groups. This improvement of e-brainstorming over the conventional

brainstorming process comes from factors such as production blocking and evaluation


Furthermore, the number of ideas generated has been viewed as the dominant measure of

e-brainstorming effectiveness. (The issue of opportunities to build relationships with

other people or individual growth is beyond the scope of this study.) This work seeks to

consider whether the effectiveness of e-brainstorming could further be enhanced.

Furthermore, aside from improving group creativity, this study explores the application

of idea generation to the era of the service economy. This study seeks to better

understand human’s capabilities in generating ideas and attempts to devise an

architecture and inference mechanism adopted by intelligent agents in order to achieve

Page 6: E Brainstorming

effective e-brainstorming (which might be useful to some intelligent e-services). This

study develops an inference mechanism of Semantic Ideation Learning Agent (SILA,

which performs idea associations and generation, and an architecture of Collective

Brainstorming Decision System (CBDS), which provides an environment where SILAs

could learn and share their knowledge. These intelligent agents could not only represent

the session participants and attend brainstorming session when they could not be present

but also report the session process and productions to their clients after completing the

brainstorming discussion.


Most ideation research either implicitly or explicitly conjecture that if people

generate more ideas, then they will produce more good ideas.

Previous ideation literatures were inconsistent in the arguments.


E-brainstorming might be useful to some intelligent e-services.

E-brainstorming often utilizes special software that gathers employees’ ideas and

shares them with other group members to encourage faster collaboration.

E-brainstorming eliminates the production blocking.

SILA can learn to understand the task and utilize external stimulus without

restrictions in the working memory or attention span.

This project is proposed to find the hidden connections in any organization and

helps people to work together, share social resources to achieve common goals.

This system designs to unlock valuable business intelligence without explicit

human involvement

Page 7: E Brainstorming


Use it when new ideas are required, to generate a large list of possibilities.

Use it when a solution to a problem cannot be logically deduced.

Use it when information about a problem is confused and spread across several

people, to gather the information in one place.

The creative synergy of a Brainstorming session is also useful in helping a team

bind together.


This system aims at constructing a new e-brainstorming decision model,

integrating semantic expression with the three ideation association capabilities into SILA

agents that are supported and facilitated with the system architecture of CBDS. This

Project develops an inference mechanism of Semantic Ideation Learning Agent (SILA),

which performs idea associations and generation, and architecture of Collective

Brainstorming Decision System (CBDS).


For solving any defined problem successfully the constraints bounding the

problem must be defined. There may be different ways of checking whether a system is

feasible or not. The reliability of the system should also be encountered for the feasibility


There are three dimensions of software analysis:




Page 8: E Brainstorming

The following feasibility studies were performed to gauge the Feasibility of the system.


In this test the operational scope of the system is checked. The system under

consideration should have enough operational reach. This E-Brainstorming Project is

very user friendly. Users generally have to find it easier to get accomplish tasks that

require fewer actions on their part. Every thing to one page also reduces user interactions

since there is no clicking or typing to get to another page.


The technology is the first step of feasibility for a project. This test includes the

study of Function, Performance and Constraints that may affect the ability to achieve an

acceptable system. This test begins with an assessment of the technical viability of the

proposed project. One of the main factors to be accessed is implementation of the

proposed project. The technology should be within the state art, where the defect can be

reduced to a level matching the application.


The development of the E-Brainstorming project can be completed at an

affordable cost which any client can afford. The E-Brainstorming is very much

financially feasible. Transfer of data from source to sinks can be carried out at a faster

rate when compared to the existing one. The organizations must have all the resources to

acquire this system.


This System use of semantic ideation agents (SILAs) in the e-brainstorming

process in order to reach automatic collective decisions by e-brainstorming. In this process,

SILAs collaborate with CBDS e-brainstorming system architecture. Although a big gap still

Page 9: E Brainstorming


exists between artificial brainstorming and creative human brainstorming, this study advances

existing e-brainstorming research by crossing the three key boundaries of the human ideation

capability (understanding, cognition, and endurance). The proposed agent-based e-brainstorming

system improves e-service recommendation and delivery by creating a novel reasoning process

for recommender systems, focusing on producing creative recommendations.Fig.1 shows the

overall System architecture.

Fig. 1

UI Module

Collective Brainstorming Blackboard

Idea chosen Module

Semantic Ideation Learning Agent

Profile module

Bookkeeping Agent

Open Problem & Participants

Valued Ideas Notification

User Profile

Idea Knowledge


Page 10: E Brainstorming


1.5.1 Software Requirements

Windows Operating System 2000 and above.

Jdk1.5 and above.

Apache Tomcat 6.0.


Java Server Pages

Oracle 10G/Derby



1.5.2 Hardware Requirements

Hard Disk: 10GB and Above

RAM: 256MB and Above

Processor: Pentium III and Above

Page 11: E Brainstorming



2.1 Bounded Ideation Theory: A New Model of the Relationship between Idea-Quantity and Idea-Quality during Ideation

Bounded Ideation Theory (BIT) to explain the relationship between the number-

of-ideas and the number-of-good-ideas contributed during ideation session and

the total number of ideas contributed.

BIT posits that certain cognitive and physical boundaries cause the ideation

function to be an inflected curve that transitions from a positive-but-increasing

slope to a positive-but decreasing slope.

The ideation function, the relationship between idea-quantity and idea-quality,

might inform the development of more productive ideation processes by linking

idea-quality to the rich body of existing research on idea-quantity.

Bounded Ideation Theory must now undergo rigorous empirical testing to see the

propositions of cause-and-effect it posits are useful models of the ideation

function; whether observed ideation functions are consistent with those posited by

the model.

The model implies that once an understanding of the task has been achieved, the

relationship between number-of-good-ideas and total-ideas ideas will be a

curvilinear function with a positive but decreasing slope.

Page 12: E Brainstorming

2.2 Effective Meetings through Electronic Brainstorming

Electronic Brainstorming (EBS) is designed to change the behavior of groups. It

is designed to help employees communicate effectively during meetings in a

painless and efficient way.

Electronic brainstorming is used as part of a regular organizational meeting

process. It gives organizations the opportunity to efficiently gather ideas, organize

those ideas, and to later make decisions.

It speeds the meeting process at which it is used, increases productivity, and

allows the focus to remain on the ideas rather than on the people who spawned

them. When members run out of ideas, they access the ideas produced by the


Electronic brainstorming (EBS) has recently been introduced into organizations as

a means of generating ideas; it makes use of computers to allow members to

interact and to exchange ideas.

Electronic brainstorming is a form of brainstorming that makes use of computer-

mediated electronic communication in order to replace verbal communications.

Page 13: E Brainstorming



3.1 Database:

A database is a collection of information organized into interrelated tables of data

and specifications of data objects. It is designed to offer an organized mechanism for

storing, managing and retrieving information. They do so through the use of tables.

Database tables consist of columns and rows. Each column contains a different type of

attribute and each row corresponds to a single record.

3.2 Data mining (DM):

Also called Knowledge-Discovery in Databases (KDD) or Knowledge-Discovery

and Data Mining, is the process of automatically searching large volumes of data for

patterns using tools such as classification, association rule mining, clustering, etc.. Data

mining is a complex topic and has links with multiple core fields such as computer

science and adds value to rich seminal computational techniques from statistics,

information retrieval, machine learning and pattern recognition.

It involves sorting through large amounts of data and picking out relevant information. It

is usually used by businesses and other organizations, but is increasingly used in the

sciences to extract information from the enormous data sets generated by modern


There are two types of data mining. They are

Structured data mining

It is the process of finding and extracting useful information from raw datasets.

This page may one day describe mining for general data structures. Graph mining

is a special case of Structured Data Mining.

Unstructured data mining

Page 14: E Brainstorming

It refers to masses of (usually) computerized information which do not have a

data structure easily readable by a machine. Examples of unstructured data may

include audio, video and unstructured text such as the body of an email or word

processor document.

The other name for data mining is clustering. Clustering is a data mining (machine

learning) technique used to place data elements into related groups without advance

knowledge of the group definitions.

Other definitions

The nontrivial extraction of implicit, previously unknown, and potentially useful

information from data.

The science of extracting useful information from large data sets or databases.

Data Mining in Business

Through the use of automated statistical analysis (or “data mining”) techniques,

businesses are discovering new trends and patterns of behavior that previously went

unnoticed. Once they’ve uncovered this vital intelligence, it can be used in a predictive

manner for a variety of applications.

The steps involved in data mining are

Gathering Data

The first step toward building a productive data mining program is to gather

data. Most businesses already perform these data gathering tasks to some

extent the key here is to locate the data critical to your business, refine it and

prepare it for the data mining process.

Selecting an Algorithm

The next step is to select an algorithm. Generally there are two algorithms.


Regression is the oldest and most well-known statistical technique that the data mining

Page 15: E Brainstorming

community utilizes. Basically, regression takes a numerical dataset and develops a

mathematical formula that fits the data.


Working with categorical data or a mixture of continuous numeric.

The Foundations of Data Mining

Data mining techniques are the result of a long process of research and product

development. This evolution began when business data was first stored on computers,

continued with improvements in data access, and more recently, generated technologies

that allow users to navigate through their data in real time. Data mining takes this

evolutionary process beyond retrospective data access and navigation to prospective and

proactive information delivery. Data mining is ready for application in the business

community because it is supported by three technologies that are now sufficiently mature:

Massive data collection

Powerful multiprocessor computers

Data mining algorithms

The Scope of Data Mining

Data mining derives its name from the similarities between searching for valuable

business information in a large database — for example, finding linked products in

gigabytes of store scanner data — and mining a mountain for a vein of valuable ore. Both

processes require either sifting through an immense amount of material, or intelligently

probing it to find exactly where the value resides. Given databases of sufficient size and

quality, data mining technology can generate new business opportunities by providing

these capabilities:

Automated prediction of trends and behaviors. Data mining automates

the process of finding predictive information in large databases. Questions that

traditionally required extensive hands-on analysis can now be answered directly

Page 16: E Brainstorming

from the data — quickly. A typical example of a predictive problem is targeted

marketing. Data mining uses data on past promotional mailings to identify the

targets most likely to maximize return on investment in future mailings. Other

predictive problems include forecasting bankruptcy and other forms of default,

and identifying segments of a population likely to respond similarly to given


Automated discovery of previously unknown patterns. Data mining

tools sweep through databases and identify previously hidden patterns in one step.

An example of pattern discovery is the analysis of retail sales data to identify

seemingly unrelated products that are often purchased together. Other pattern

discovery problems include detecting fraudulent credit card transactions and

identifying anomalous data that could represent data entry keying errors.

Data mining techniques can yield the benefits of automation on existing software and

hardware platforms, and can be implemented on new systems as existing platforms are

upgraded and new products developed. When data mining tools are implemented on high

performance parallel processing systems, they can analyze massive databases in minutes.

Faster processing means that users can automatically experiment with more models to

understand complex data. High speed makes it practical for users to analyze huge

quantities of data. Larger databases, in turn, yield improved predictions.

Databases can be larger in both depth and breadth:

More columns. Analysts must often limit the number of variables they

examine when doing hands-on analysis due to time constraints. Yet variables that

are discarded because they seem unimportant may carry information about

unknown patterns. High performance data mining allows users to explore the full

depth of a database, without preselecting a subset of variables.

More rows. Larger samples yield lower estimation errors and variance, and allow

users to make inferences about small but important segments of a population.

Page 17: E Brainstorming

A recent Gartner Group Advanced Technology Research Note listed data mining and

artificial intelligence at the top of the five key technology areas that “will clearly have a

major impact across a wide range of industries within the next 3 to 5 years.”2 Gartner

also listed parallel architectures and data mining as two of the top 10 new technologies in

which companies will invest during the next 5 years. According to a recent Gartner HPC


The most commonly used techniques in data mining are:

Artificial neural networks: Non-linear predictive models that learn through

training and resemble biological neural networks in structure.

Decision trees: Tree-shaped structures that represent sets of decisions. These

decisions generate rules for the classification of a dataset. Specific decision tree

methods include Classification and Regression Trees (CART) and Chi Square

Automatic Interaction Detection (CHAID)

Genetic algorithms: Optimization techniques that use processes such as

genetic combination, mutation, and natural selection in a design based on the

concepts of evolution.

Nearest neighbor method: A technique that classifies each record in a

dataset based on a combination of the classes of the k record(s) most similar to it

in a historical dataset (where k ³ 1). Sometimes called the k-nearest neighbor


Rule induction: The extraction of useful if-then rules from data based on

statistical significance.

Many of these technologies have been in use for more than a decade in specialized

analysis tools that work with relatively small volumes of data. These capabilities are now

Page 18: E Brainstorming

evolving to integrate directly with industry-standard data warehouse and OLAP

platforms. The appendix to this white paper provides a glossary of data mining terms.

How Data Mining Works

The technique that is used to perform these feats in data mining is called modeling.

Modeling is simply the act of building a model in one situation where you know the

answer and then applying it to another situation that you don’t. Computers are loaded up

with lots of information about a variety of situations where an answer is known and then

the data mining software on the computer must run through that data and distill the

characteristics of the data that should go into the model. Once the model is built it can

then be used in similar situations where you don’t know the answer.

3.3 Architecture

Fig 1- Data Mining Architecture

An OLAP (On-Line Analytical Processing) server enables a more sophisticated end-user

business model to be applied when navigating the data warehouse. The multidimensional

structures allow the user to analyze the data as they want to view their business –

Page 19: E Brainstorming

summarizing by product line, region, and other key perspectives of their business. The

Data Mining Server must be integrated with the data warehouse and the OLAP server to

embed ROI-focused business analysis directly into this infrastructure. An advanced,

process-centric metadata template defines the data mining objectives for specific business

issues like campaign management, prospecting, and promotion optimization. Integration

with the data warehouse enables operational decisions to be directly implemented and

tracked. As the warehouse grows with new decisions and results, the organization can

continually mine the best practices and apply them to future decisions.

This design represents a fundamental shift from conventional decision support

systems. Rather than simply delivering data to the end user through query and reporting

software, the Advanced Analysis Server applies users’ business models directly to the

warehouse and returns a proactive analysis of the most relevant information. These

results enhance the metadata in the OLAP Server by providing a dynamic metadata layer

that represents a distilled view of the data. Reporting, visualization, and other analysis

tools can then be applied to plan future actions and confirm the impact of those plans.

3.4 Knowledge Discovery in Databases: KDD refers to the overall process of

discovering useful knowledge from data.

Basic Definitions: KDD is the nontrivial process of identifying valid, novel,

potentially useful, and ultimately understandable patterns in data.

Page 20: E Brainstorming

Fig 2-KDD Process

KDD Process:

The KDD process is interactive and iterative, involving numerous steps with many

decisions made by the user. First is developing an understanding of the application

domain and the relevant prior knowledge and identifying the goal of the KDD process

from the customer’s viewpoint.

Selection: selecting a data set, or focusing on a subset of variables or data

samples, on which discovery to be performed.

Data cleaning and Preprocessing: Basic operations include removing

noise appropriate, collecting the necessary information to model or account for

noise, deciding on strategies for handling missing data fields, and accounting for

time-sequence information and known changes.

Data reduction and Projection: Finding useful features to represent the

data depending on the goal of the task. With dimensionality reduction or

transformation methods, the effective number of variables under consideration

can be reduced, or invariant representations for the data can be found.

Page 21: E Brainstorming

Data Mining: Matching the goals of the KDD process (step 1) to a particular

data-mining method. For example, summarization, classification, regression,

clustering, and so on.

Exploratory Analysis and model and hypothesis selection: choosing

the data mining algorithm(s) and selecting method(s) to be used for searching for

data patterns. This process includes deciding which models and parameters might

be appropriate (for example, models of categorical data are different than models

of vectors over the real) and matching a particular data-mining method with the

overall criteria of the KDD process (for example, the end user might be more

interested in understanding the model than its predictive capabilities).

Pattern Generation: searching for patterns of interest in a particular

representational form or a set of such representations, including classification

rules or trees, regression, and clustering. The user can significantly aid the data-

mining method by correctly performing the preceding steps.

Interpretation and Evaluation: It is interpreting mined patterns, possibly

returning to any of steps 1 through 7 for further iteration. This step can also

involve visualization of the extracted patterns and models or visualization of the

data given the extracted models.

Knowledge: It is acting on the discovered knowledge using the knowledge

directly, incorporating the knowledge into another system for further action, or

simply documenting it and reporting it to interested parties. This process also

includes checking for and resolving potential conflicts with previously believed

(or extracted) knowledge.

Page 22: E Brainstorming



Ontologies are used to capture knowledge about some domain of interest.

Ontology describes the concepts in the domain and also the relationships that hold

between those concepts. Different ontology languages provide different facilities. The

most recent development in standard ontology languages is OWL from the World Wide

Web Consortium (W3C). Like Prot´eg´e OWL makes it possible to describe concepts but

it also provides new facilities. It has a richer set of operators - e.g. and, or and negation. It

is based on a different logical model which makes it possible for concepts to be defined

as well as described. Complex concepts can therefore be built up in definitions out of

simpler concepts. Furthermore, the logical model allows the use of a reasoner which can

check whether or not all of the statements and definitions in the ontology are mutually

consistent and can also recognise which concepts fit under which definitions. The

reasoner can therefore help to maintain the hierarchy correctly. This is particularly useful

when dealing with cases where classes can have more than one parent.

3.1 The Three Species of OWL

OWL ontologies may be categorised into three species or sub-languages: OWL-Lite,

OWL-DL and OWL- Full. A defining feature of each sub-language is its expressiveness.

OWL-Lite is the least expressive sub-langauge. OWL-Full is the most expressive sub-

language. The expressiveness of OWL-DL falls between that of OWL-Lite and OWL-

Full. OWL-DL may be considered as an extension of OWL-Lite and OWL-Full an

extension of OWL-DL.

3.1.1 OWL-Lite

OWL-Lite is the syntactically simplest sub-language. It is intended to be used in

situations where only a simple class hierarchy and simple constraints are needed. For

example, it is envisaged that OWL-Lite will provide a quick migration path for existing

thesauri and other conceptually simple hierarchies.

Page 23: E Brainstorming

3.1.2 OWL-DL

OWL-DL is much more expressive than OWL-Lite and is based on Description Logics

(hence the suffix DL). Description Logics are a decidable fragment of First Order Logic2

and are therefore amenable to automated reasoning. It is therefore possible to

automatically compute the classification hierarchy3 and check for inconsistencies in an

ontology that conforms to OWL-DL. This tutorial focuses on OWL- DL.

3.1.3 OWL-Full

OWL-Full is the most expressive OWL sub-language. It is intended to be used in

situations where very high expressiveness is more important than being able to guarantee

the decidability or computational completeness of the language. It is therefore not

possible to perform automated reasoning on OWL-Full ontologies.

3.1.4 Choosing the Sub-Language to Use

For a more detailed synopsis of the three OWL sub-languages see the OWL Web

Ontology Language Overview4. Although many factors come into deciding the

appropriate sub-language to use, there are some simple rules of thumb.

• The choice between OWL-Lite and OWL-DL may be based upon whether the simple

constructs of OWL-Lite are sufficient or not.

• The choice between OWL-DL and OWL-Full may be based upon whether it is

important to be able to carry out automated reasoning on the ontology or whether it is

important to be able to use highly expressive and powerful modelling facilities such as

meta-classes (classes of classes).

3.2 Components of OWL Ontologies

OWL ontologies have similar components to Prot´eg´e frame based ontologies. However,

the terminology used to describe these components is slightly different from that used in

Prot´eg´e. OWL ontology consists of Individuals, Properties, and Classes, which roughly

correspond to Prot´eg´e Instances, Slots and Classes.

Page 24: E Brainstorming

Figure: Representation of Individuals

3.2.1 Individuals

Individuals, represent objects in the domain that we are interested in5. An important

difference between Prot´eg´e and OWL is that OWL does not use the Unique Name

Assumption (UNA). This means that two different names could actually refer to the same

individual. For example, “Queen Elizabeth”, “The Queen” and “Elizabeth Windsor”

might all refer to the same individual. In OWL, it must be explicitly stated that

individuals are the same as each other, or different to each other — otherwise they might

be the same as each other, or they might be different to each other. Figure shows a

representation of some individuals in some domain – in this tutorial we represent

individuals as diamonds in diagrams. Individuals are also known as instances. Individuals

can be referred to as being ‘instances of classes’.

3.2.2 Properties

Properties are binary relations6 on individuals - i.e. properties link two individuals

together7. For example, the property hasSibling might link the individual Matthew to the

individual Gemma, or the property hasChild might link the individual Peter to the

individual Matthew. Properties can have inverses.

For example, the inverse of hasOwner is isOwnedBy. Properties can be limited to having

a single value – i.e. to being functional. They can also be either transitive or symmetric.

These ‘property characteristics’ are explained in detail section 4.8. Figure shows a

representation of some properties linking some individuals together.

Page 25: E Brainstorming

Properties are roughly equivalent to slots in Prot´eg´e . They are also known as roles in

description logics and relations in UML and other object oriented notions. In GRAIL and


Figure: Representation Of Properties

Figure: Representation Of Classes (Containing Individuals)

3.2.3 Classes

OWL classes are interpreted as sets that contain individuals. They are described using

formal (mathematical) descriptions that state precisely the requirements for membership

of the class. For example, the class Cat would contain all the individuals that are cats in

Page 26: E Brainstorming

our domain of interest.8 Classes may be organised into a superclass-subclass hierarchy,

which is also known as taxonomy. Subclasses specialize (‘are subsumed by’) their

superclasses. For example consider the classes Animal and Cat – Cat might be a subclass

of Animal (so Animal is the superclass of Cat). This says that, ‘All cats are animals’, ‘All

members of the class Cat are members of the class Animal’, ‘Being a Cat implies that

you’re an Animal’, and ‘Cat is subsumed by Animal’. One of the key features of OWL-

DL is that these superclass-subclass relationships (subsumption relationships) can be

computed automatically by a reasoner – more on this later. Figure shows a representation

of some classes containing individuals – classes are represented as circles or ovals, rather

like sets in Venn diagrams. The word concept is sometimes used in place of class.

Classes are a concrete representation of concepts. In OWL classes are built up of

descriptions that specify the conditions that must be satisfied by an individual for it to be

a member of the class.

Page 27: E Brainstorming




Java has been around since 1991, developed by a small team of Sun Microsystems

developers in a project originally called the Green project. The intent of the project was

to develop a platform-independent software technology that would be used in the

consumer electronics industry. The language that the team created was originally called


The first implementation of Oak was in a PDA-type device called Star

Seven (*7) that consisted of the Oak language, an operating system called GreenOS, a

user interface, and hardware. The name *7 was derived from the telephone sequence that

was used in the team's office and that was dialed in order to answer any ringing telephone

from any other phone in the office.

Around the time the First Person project was floundering in consumer

electronics, a new craze was gaining momentum in America; the craze was called "Web

surfing." The World Wide Web, a name applied to the Internet's millions of linked

HTML documents was suddenly becoming popular for use by the masses. The reason for

this was the introduction of a graphical Web browser called Mosaic, developed by ncSA.

The browser simplified Web browsing by combining text and graphics into a single

interface to eliminate the need for users to learn many confusing UNIX and DOS

commands. Navigating around the Web was much easier using Mosaic.

It has only been since 1994 that Oak technology has been applied to the Web. In

1994, two Sun developers created the first version of Hot Java, and then called Web

Runner, which is a graphical browser for the Web that exists today. The browser was

coded entirely in the Oak language, by this time called Java. Soon after, the Java

compiler was rewritten in the Java language from its original C code, thus proving that

Page 28: E Brainstorming

Java could be used effectively as an application language. Sun introduced Java in May

1995 at the Sun World 95 convention.

Web surfing has become an enormously popular practice among millions

of computer users. Until Java, however, the content of information on the Internet has

been a bland series of HTML documents. Web users are hungry for applications that are

interactive, that users can execute no matter what hardware or software platform they are

using, and that travel across heterogeneous networks and do not spread viruses to their

computers. Java can create such applications.

Page 29: E Brainstorming



6.3 Data Flow Diagram

Level 0:

Level 1:

Level 2:

User/Input Collective Brainstorming Blackboard.

Semantic Ideation

Learning Agent

Request Request

Semantic Ideation

Learning Agent




Idea Ontology

User Profile

Idea Knowledge


Collective Brainstorming

BlackboardIdea Chosen

ModuleOutput to client

Page 30: E Brainstorming

Level 3:

Fig 7- Data Flow Diagram


Collective Brainstorming Blackboard.


RequestSemantic Ideation

Learning Agent

Idea Ontology User Profile Idea

Knowledge BaseIdea Chosen


Output to client


Page 31: E Brainstorming

Sequence Diagram

Page 32: E Brainstorming

Usecase Diagram

Page 33: E Brainstorming

Activity Diagram

Page 34: E Brainstorming



Brainstorming is one of the best known tools for creative problem

solving. The term brainstorming was first used by Osborn.

Brainstorming can simply be defined as a group process for generating

ideas by using the four divergent thinking guidelines, namely,

deferring judgment (the process of stopping to judge ideas and options

until after there are many ideas generated), striving for quantity (more

ideas generated leads to higher quality ideas), freewheeling (giving

participants the opportunity to be playful and to strive for imagination),

and seeking combinations (creating ideas that are based upon

previously stated ideas). Accordingly, brainstorming engenders

synergy; that is, an idea from one participant can trigger a new idea in

another participant, who would otherwise not have been produced the


E-brainstorming utilizes electronic communication to replace verbal communications and

thus eliminates problems such as production blocking. For example, group support

systems (GSSs) have been applied to assist in the idea generation process. A GSS is a

suite of collaborative software tools that operates over a computer network and allows

people to anonymously contribute ideas. Some works have revealed that the application

of GSS in idea generation improves both the quantity and the quality of ideas generated.

Further indicated that the types of ideas generated are affected by the stimulus contained

within a GSS group memory.

The Modules are

Page 35: E Brainstorming

UI Module

Collective Brainstorming Blackboard Module

Semantic Ideation Learning Agent Module

Profile Module

Idea Chosen Module

7.1 UI Module:

This module has two components. First one is Open Problem & Participants

component. The Open Problem and Participants Component represent the given open

problem and the participants and send two input parameters. Second one is Valued Ideas

Notification Component. This receives the set of valued ideas and the ideation map from

the Idea Chosen Module and delivers them to the session participants.


Enter the open problem

Choose participant

7.2 Collective Brainstorming Blackboard:

The Collective Brainstorming Blackboard receives system parameters Initial Idea

and Clients from the Open Problem and Participants Component, then spontaneously

initializes each client’s SILA, and builds a communication platform to provide an

environment in which SILAs can learn and share their knowledge.


Input Ideation


Generate idea for each ideation round

7.3 Semantic Ideation Learning Agent:

Page 36: E Brainstorming

A SILA is an intelligent agent that represents its client to attend the brainstorming

session and manage the process of ideas association. The Function of a SILA are

receiving the Input Idea from the Collective Brainstorming Blackboard, accessing a

client’s domain knowledge from Personal Data Manger Component, creating a creative

idea based on its inference engine, and returning creative ideas to the Collective

Brainstorming Blackboard.

Bookkeeping Agents, the knowledge of SILAs can also be learned and evolved with the

feedback (that is, ranking of the value ideas) collected from the clients, and their Idea

Knowledge Base can also be updated.

Input: Input Ideation


Generated Idea from idea Ontology

7.4 Profile Module:

The User Profile stores fundamental information about a client. The Idea

Knowledge Base records every client’s domain knowledge, which comprises idea

instances and the relationships between these instances. It assumes the existence of a

given set of ideation participants and their relevant knowledge.

Input: User Profile input

User Knowledge Base.

7.5 Idea Chosen Module:

Page 37: E Brainstorming

The Idea-Chosen Module can perform a valued idea selection according to a user-

set criterion after a brainstorming process finishes. For instance, a creative idea is

selected as a valued idea if its Idea Chosen Value (IEV) is over a particular bound.

Input: Generated Idea from blackboard.


Sorted Valued Idea.



8.1 Software Testing

Software Testing is the process used to help identify the correctness, completeness,

security, and quality of developed computer software. Testing is a process of technical

investigation, performed on behalf of stakeholders, that is intended to reveal quality-

related information about the product with respect to the context in which it is intended to


Steps in testing:

Requirements Analysis: Testing should begin in the requirements phase of

the software development life cycle. During the design phase, testers work

with developers in determining what aspects of a design are testable and

under what parameter those tests work.

Test Planning: Test Strategy, Test Plan(s), Test Bed creation.

Test Development: Test Procedures, Test Scenarios, Test Cases, and Test

Scripts to use in testing software.

Page 38: E Brainstorming

Test Execution: Testers execute the software based on the plans and tests

and report any errors found to the development team.

Test Reporting: Once testing is completed, testers generate metrics and

make final reports on their test effort and whether or not the software

tested is ready for release.

Retesting the Defects

8.2 Unit testing:

Unit testing is a procedure used to validate that individual units of source code are

working properly. A unit is the smallest testable part of an application. In procedural

programming a unit may be an individual program, function, procedure, web page, menu

etc, while in object-oriented programming, the smallest unit is always a Class; which may

be a base/super class, abstract class or derived/child class. Units are distinguished from

modules in that modules are typically made up of units.

8.3 Integration testing:

Integration testing (sometimes called Integration and Testing, abbreviated I&T) is the

phase of software testing in which individual software modules are combined and tested

as a group. It follows unit testing and precedes system testing.

Integration testing takes as its input modules that have been unit tested, groups them

in larger aggregates, applies tests defined in an integration test plan to those aggregates,

and delivers as its output the integrated system ready for system testing. The purpose of

integration testing is to verify functional, performance and reliability requirements placed

on major design items. The overall idea is a “building block” approach, in which verified

assemblages are added to a verified base which is then used to support the integration

testing of further assemblages.

8.4 White Box Testing:

Page 39: E Brainstorming

A software testing technique whereby explicit knowledge of the internal workings of

the item being tested are used to select the test data. White box testing uses specific

knowledge of programming code to examine outputs.

8.5 Black box testing:

It takes an external perspective of the test object to derive test cases. These tests can

be functional or non-functional, though usually functional. The test designer selects valid

and invalid input and determines the correct output. There is no knowledge of the test

object’s internal structure.



This paper presents the use of semantic ideation agents (SILAs) in the e-

brainstorming process in order to reach automatic collective decisions by e-

brainstorming. In this process, SILAs collaborate with CBDS e-brainstorming system

architecture. Although a big gap still exists between artificial brainstorming and creative

human brainstorming, this study advances existing e-brainstorming research by crossing

the three key boundaries of the human ideation capability (understanding, cognition, and

endurance). The proposed agent-based e-brainstorming system improves e-service

recommendation and delivery by creating a novel reasoning process for recommender

systems, focusing on producing creative recommendations.


However, the proposed mechanism still has limitations, owing to the confined scopes

of SILA’s association capabilities and ideation ontologies, and the rigidity of the protocol

for ideation map construction. Future work will incorporate new association techniques

and flexible agent ideation protocols and explore different semantic ideation ontologies

Page 40: E Brainstorming

and idea evaluation systems. Additionally, the dynamic evolution of ideation ontologies

and possible scopes of future applications will be addressed.

Dynamic Ideation

Important keywords are store in database

When two staffs are in discussion, at that time system monitor them and

check, in which domain their discussion is going and match their domain with database

and store their discussion. Discussions are done by Mail or Instant Messaging.



<%@ include file="/client/include.jsp" %>

<%@ include file="/client/Menu.jsp" %>



<meta http-equiv="Content-Language" content="en-us">

<meta name="GENERATOR" content="Microsoft FrontPage 5.0">

<meta name="ProgId" content="FrontPage.Editor.Document">

<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">

<title>New Page 1</title>



Page 41: E Brainstorming





font-family:"Times New Roman";

margin-left:0mm; margin-right:0mm; margin-top:0mm}




function showSettings(){

var divArea = document.getElementById("divsettings");

if (document.getElementById("ownsettings").checked){

divArea .style.visibility = 'visible';



divArea .style.visibility = 'hidden';



function SelectSubCat(){

Page 42: E Brainstorming


if(document.knowledgeCenterFrm.topic.value == 'java'){

addOption(document.knowledgeCenterFrm.subTopic,"jsp", "JSP");

addOption(document.knowledgeCenterFrm.subTopic,"servlet", "Servlet");

addOption(document.knowledgeCenterFrm.subTopic,"ejb", "EJB");


if(document.knowledgeCenterFrm.topic.value == 'MS'){

addOption(document.knowledgeCenterFrm.subTopic,"asp", "ASP");

addOption(document.knowledgeCenterFrm.subTopic,"Cricket", "VB");

addOption(document.knowledgeCenterFrm.subTopic,"net", ".net");




function removeAllOptions(selectbox)


var i;




Page 43: E Brainstorming




function addOption(selectbox, value, text )


var optn = document.createElement("OPTION");

optn.text = text;

optn.value = value;





<body bgcolor="#808080">

<form method="POST" action="KnowledgeCenter.htm"


<font size="4">&nbsp;</font><u><b><font size="4">Knowledge


<p class="MsoNormal" align="left">

<u><font size="3"><b>Add New Entry</b></font></u></p>

Page 44: E Brainstorming

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse:

collapse" bordercolor="#111111" width="50%" id="AutoNumber1">


<td width="50%">Topic</td>

<td width="50%"><select size="1" name="topic" id="topic"


<option selected value="java">Java</option>

<option value="MS">Microsoft</option>




<td width="50%">Sub Topic</td>

<td width="50%"><select size="1" name="subTopic">

<option selected value="jsp">JSP</option>

<option value="servlet">Servlet</option>

<option value="ejb">EJB</option>




<td width="50%">Document Type</td>

Page 45: E Brainstorming

<td width="50%"><select size="1" name="docType">

<option selected>PDF</option>


<option>Flat File</option>




<td width="50%">Location</td>

<td width="50%"><input type="text" name="docLocation" size="20"></td>



<td width="50%">

<p class="MsoNormal">Short Description</td>

<td width="50%"><textarea rows="2" name="shortDesc"




<td width="50%">&nbsp;</td>

<td width="50%">&nbsp;</td>

Page 46: E Brainstorming



&nbsp;<p>Personal knowledge <input type="checkbox" name="ownsettings" id

="ownsettings"value="ON" onclick="showSettings()"></p>

<div id = "divsettings" style="width: 900; height: 133">


<b><u>Update Own Knowledge Center</u></b></p>

<table border="0" cellpadding="0" cellspacing="0" style="border-collapse:

collapse" bordercolor="#111111" width="50%" id="AutoNumber2" height="65">


<td width="50%" height="22">

<p class="MsoNormal">Department</td>

<td width="50%" height="22"><select size="1" name="department">

<option selected value="hrdep">HR</option>

<option value="dev">Development</option>




<td width="50%" height="42">

Page 47: E Brainstorming

<p class="MsoNormal">Interest</p>

<p class="MsoNormal">&nbsp;</td>

<td width="50%" height="42"><textarea rows="2" name="interest"





<c:forEach items="${model.knowledge}" var="knowledge">


<p align="center"><input type="submit" value="Submit" name="B1"><input

type="reset" value="Reset" name="B2"></p>

<table boder="1">


<td> Select </td>

<td>topic </td>

<td>subTopic </td>




Page 48: E Brainstorming




<c:forEach items="${model.knowledge}" var="knowledge">


<td><input type ="checkbox" name="ad_mark" value=<c:out value='$


<td> <c:out value="${knowledge.topic}"/> </td>

<td> <c:out value="${knowledge.subTopic}"/> </td>

<td> <c:out value="${knowledge.docType}"/> </td>

<td> <c:out value="${knowledge.docLocation}"/> </td>

<td> <c:out value="${knowledge.shortDesc}"/> </td>

<td> <c:out value="${knowledge.department}"/> </td>

<td> <c:out value="${knowledge.interest}"/> </td>






Page 49: E Brainstorming



package com.gts.brainstorm.controller;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.net.URL;

import java.net.URLConnection;

import java.net.URLEncoder;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

import org.jdom.Document;

import org.jdom.Element;

import org.jdom.JDOMException;

import org.jdom.output.XMLOutputter;

Page 50: E Brainstorming

import org.springframework.web.servlet.ModelAndView;

import org.springframework.web.servlet.mvc.Controller;

import com.gts.brainstorm.search.util.FindKnowledgeUtil;

public class SearchSubmitController implements Controller{

public ModelAndView handleRequest(HttpServletRequest req,

HttpServletResponse res) throws Exception {

String xmlStr=BuildInputXML(req);

String stringToReverse = URLEncoder.encode("INBA", "UTF-8");

String proxy =


HttpSession session = req.getSession();

if(proxy!=null && proxy.equals("")){

session.setAttribute("resultHtml", "Proxy Not Found");

return new ModelAndView("SearchResults","resultHtml","Proxy Not



URL url = new URL("http://"+proxy+":8080/bs/UnitController");

URLConnection connection = url.openConnection();


Page 51: E Brainstorming

OutputStreamWriter out = new OutputStreamWriter(




BufferedReader in = new BufferedReader(

new InputStreamReader(


String decodedString="";

String tempstr="";

while ((decodedString = in.readLine()) != null) {




session = req.getSession();

session.setAttribute("resultHtml", tempstr);

return new ModelAndView("SearchResults","resultHtml",decodedString);


Page 52: E Brainstorming

private String BuildInputXML(HttpServletRequest req) throws JDOMException,


String searchText=req.getParameter("txtmsg");

String recipients=req.getParameter("txtrecipients");

String globalSsearch=req.getParameter("globalsch");

String advSearch=req.getParameter("advsch");

String searchKey=req.getParameter("searchKey");

String optionKey=req.getParameter("keyoptions");

Element root = new Element("Search");

Document doc = new Document(root);

Element input =new Element("input");

Element e_searchText =new Element("key");


Element e_recipients = new Element("recipients");


Element e_global = new Element("global");


Element e_adv_search = new Element("advSearch");


Page 53: E Brainstorming

Element e_searchKey = new Element("key");


Element e_optionKey = new Element("option");









XMLOutputter outputter = new XMLOutputter();

String hello = outputter.outputString(doc);

return hello;


private String findProxy(String dep,String subTopic){

Page 54: E Brainstorming

int depId = FindKnowledgeUtil.findDepId(dep);

int knowledgeId=-1;

ArrayList<String> depIdList = new ArrayList<String>();

ArrayList<String> proxyList = null;

if(depId != -1){

knowledgeId = FindKnowledgeUtil.getKnowledgeId(dep,



if(knowledgeId != -1){

depIdList =



if(depIdList.size() > 0) {

proxyList =



if(proxyList !=null && proxyList.size()>= 0)

return proxyList.get(0);

Page 55: E Brainstorming


return "";






[1] J. Geoffrey Rawlinson, Creative Thinking and Brainstorming. Halsted Press, 1981.

[2] R.J. Talbot, “Taking Style on Board,” Creativity and Innovation Management, vol. 6, no. 3, pp. 177-184, 1997.

[3] G. Kay, “Effective Meetings through Electronic Brainstorming,” Management Quarterly, vol. 35, no. 4, pp. 15-26, 1995.

[4] R.B. Gallupe, L.M. Bastianutti, and W.H. Copper, “Unblocking Brainstorming,” J. Applied Psychology, vol. 76, no. 21, pp. 137-142, 1991.

[5] A.R. Dennis and B. Reinicke, “Beta vs. VHS and the Acceptance of Electronic Brainstorming Technology,” MIS Quarterly, vol. 28, no. 1, pp. 1-20, 2004.

[6] M.J. Garfield, N.J. Taylor, A.R. Dennis, and J.W. Satzinger, “Modifying Paradigms: Individual Differences, Creativity Techniques and Exposure to Ideas in Group Idea Generation,” Information Systems Research, vol. 12, no. 3, pp. 322-333, 2001.

[7] A.R. Dennis and M.L. Williams, “Electronic Brainstorming: Theory, Research, and Future Directions,” Group Creativity, Oxford Univ. Press, 2003.

[8] A.R. Dennis, A. Pinsonneault, K.M. Hilmer, H. Barki, R.B. Gallupe, M. Huber, and F. Bellavance, “Patterns in Electronic Brainstorming: The effects of Synergy and Social

Page 56: E Brainstorming

Loafing on Group Idea Generation,” Int’l J. e-Collaboration, vol. 1, no. 4, pp. 38-57, 2005.

[9] W.-L. Chang and S.-T. Yuan, “iCare Home Portal: A Quest for Quality Aging e-Service Delivery,” Proc. First Workshop Ubiquitous and Pervasive Health Care (UbiCare ’06), 2006.

[10] A.F. Osborn, “Applied Imagination: Principles and Procedures of Creative Problem-Solving,” Creative Education Foundation, third revised ed., 1993.


Appendix A: Glossary

IEEE The Institute of Electrical and Electronics Engineers, Inc.HTML Hyper Text Markup LanguageHTTP Hyper Text Transport ProtocolSRS Software Requirements SpecificationOWL Web Ontology Language SB Semantic BrokerRFC Request For CommentsJ2EE Java 2 Platform Enterprise EditionJSP Java Server PageFP6 Sixth Framework ProgramOS Operating System

Table Design

1) Table Name: bs_addressbook

Column Name Data Typebs_first_name varchar(15)

Page 57: E Brainstorming

bs_last_name varchar(15)bs_phone_number varchar(15)bs_email_id varchar(15)bs_department varchar(15)bs_interest varchar(15)

2) Table Name: bs_user_knowledge

Column Name Data Typebs_topic varchar(30)

bs_sub_topic varchar(30)bs_doc_type varchar(20)

bs_doc_location varchar(100)bs_short_desc varchar(250)bs_department varchar(20)

bs_interest varchar(250)

3) Table Name: org_details

Column Name Data TypeOrg_name varchar(30)

org_address1 varchar(30)org_address2 varchar(30)org_street1 varchar(30)org_street2 varchar(30)

org_city varchar(30)org_nation varchar(30)

org_zip_code varchar(30)org_phone1 varchar(30)org_phone2 varchar(30)org_email1 varchar(30)org_email2 varchar(30)

4) Table Name: org_dep_details

Column Name Data Typedep_id Integer Not Null(PK)dep_short varchar(10)

Page 58: E Brainstorming

dep_long varchar(30)dep_display varchar(100)

5) Table Name: dep_knowledge_info

Column Name Data Typedep_id Integer Not Nullknowledge_id Integer

6) Table Name: knowledge_info

Column Name Data TypeKnowledge_id Integer NOT NULL(PK)bs_topic varchar(100)bs_sub_topic1 varchar(100)bs_sub_topic2 varchar(100)bs_topic_desc varchar(500)bs_topic_display_name varchar(300)

7) Table Name: opposite_knowledge_info

Column Name Data Typeopposite_knowledge_id Integer Not Null(PK)knowledge_id Integertopic_display_name varchar(300)

8) Table Name: dep_knowledge_controller_map

Column Name Data Typedep_id Integercontroller_id Integercontroller_name varchar(50)controller_ip varchar(30)controller_system_name varchar(50)controller port_number Integer

9) Table Name: org_emp_details

Column Name Data Typeemp_id Integer Not Null(PK)emp_dep_id Integer

Page 59: E Brainstorming

emp_name varchar(15)emp_mid_name varchar(10)emp_last_name varchar(15)emp_phone_no varchar(30)emp_email_id varchar(30)

10) Table Name: emp_interest

Column Name Data Typebs_emp_id Integerknowledge_id Integer

11) Table Name: user_knoledge_info

Column Name Data Typeuser_knowledge_doc_id Integer Not Null(PK)user_id Integerknowledge_id Integerdoc_type_id Integerdoc_location varchar(300)user_doc_desc varchar(500)

12) Table Name: bs_doc_map

Column Name Data Typedoc_type_id Integer Not Null(PK)doc_type_short_name varchar(10)doc_type_long_name varchar(30)doc_display_name varchar(100)

13) Table Name: search_trace

Column Name Data Typeknowledge_id Integeruser_knowledge_doc_id Integerhit_count Integeruser_rating Integer

Page 60: E Brainstorming


Page 61: E Brainstorming
Page 62: E Brainstorming
Page 63: E Brainstorming