Content uploaded by Ruqian lu
Author content
All content in this area was uploaded by Ruqian lu on Oct 12, 2015
Content may be subject to copyright.
Editor: Alun Preece
University of Aberdeen
apreece@csd.abdn.ac.uk
Global IS
develop a middle- to long-term plan for strategic science
and technology development. Second, the Chinese Acad-
emy of Sciences completed its 20-Year Forecast of Infor-
mation Technology Development, part of its 20-Year
Forecast Project of Science and Technology Development.
Third, from 10–12 September, the National Natural Sci-
ence Foundation of China sponsored the National Work-
shop on Future Directions of Artificial Intelligence to
identify key areas for funding in the next decade.
I attended the last event, where workshop attendees
identified widespread AI applications as central to effec-
tively using information in the era of networking and the
Internet. They also concluded that such applications are
the driving force behind future IT development. A variety
of proposals were made at the workshop, but I suggested
that researching and developing “zhijian” or knowware
will be an important step toward next-generation IT and
its widely used applications.
Knowware seems a natural development in IT after hard-
ware and software. Consider the fact that we once viewed the
computer industry as part of the electronics industry. Then
the formation of an independent computer hardware industry
liberated IT from electronics. Similarly, before the 1980s,
developers created software packages to support specific
machines; thus, computer software development’s indepen-
dence from particular machines and hardware became IT’s
second liberation. Will we soon consider the emergence of
knowware and its independence from software as IT’s third
liberation?
Developing knowware
What’s knowware? It’s a knowledge module that’s inde-
pendent, commercialized, suitable for computer manipula-
tion, and directly usable by a class of software. (Regarding
the term “knowware,” see the sidebar.) It’s directly related to
intelligence: if software is the condensation and crystalliza-
tion of knowledge, then knowware would be the condensa-
tion and crystallization of intelligence. Simply speaking, if
we can represent an intelligent software system as Intelligent
Computer-Aided X (where X represents some application
domain, such as design (D) or education (E)), and ICAX =
CAX + X knowledge base, then the X knowledge base
should be considered a preliminary form of knowware.
Over the last two decades, researchers at the Institute of
Mathematics, Academia Sinica have spent considerable
effort developing various ICAXs. We’ve realized that we
can mass produce them only when we can mass produce
an X knowledge base. To construct an X knowledge base
efficiently, we’ve developed a class of pseudo natural lan-
guages (PNLs) called Z
HIWEN, which are similar to natural
languages used in scientific fields.
Two kinds of Z
HIWEN exist. The first is the Domain Knowl-
edge Description Language, which is based on common
scientific and technical languages. Domain experts use it to
create a knowledge description of text materials. It’s easy for
them to first translate written scientific materials into DKDL
texts, because it requires only slightly modifying the original
text. Then the computer can automatically perform the subse-
quent tasks, such as text understanding, X knowledge acqui-
sition, X knowledge base construction, and ICAX system
generation. We call this technique “the automatic generation
of ICAX systems,” and we’ve used it to develop three soft-
ware programs: C
ONBES for ICAC (consultation),
1
KONGZI (or
Confucius in English) for ICAI (instruction),
2
and PROMIS for
ICASE (software engineering).
3
The second kind of ZHIWEN is the Web Knowledge Pump-
ing Language, which specifies knowledge requirements
and acquires knowledge over the Web. WKPL doesn’t
describe specific knowledge contents; it specifies only
knowledge requirements and rules for knowledge organiza-
tion. A WKPL program is a set of instructions for a number
of mobile agents searching knowledge over the Web, speci-
fying what knowledge to acquire and how to compile and
edit it. Running a WKPL program can produce an X
knowledge base from the Web that meets the user’s spe-
cific requirements.
L
ast year, China witnessed several important events in
science and technology. First, the Chinese govern-
ment, headed by Premier Jiaobao Wen, organized several
ministries and thousands of scientists and engineers to
From Hardware to Software
to Knowware:
IT’s Third Liberation?
Ruqian Lu, Academy of Mathematics and Systems Sciences, Institute of Computing
Technology, and Fudan University
82 1541-1672/05/$20.00 © 2005 IEEE IEEE INTELLIGENT SYSTEMS
Published by the IEEE Computer Society
So, our technique lets computers trans-
form Z
HIWEN text into an X knowledge base
so it can then construct an ICAX system.
Not only is Z
HIWEN easy for humans to read
and use, but computers can also easily read,
understand, and transform it. Furthermore,
the X knowledge base that the ICAX sys-
tem uses is exchangeable with the help of
the new text written in Z
HIWEN. This ability
to exchange X knowledge bases arbitrarily by
modifying Z
HIWEN text arbitrarily supports
applied software development and provides
a domain- and client-oriented PNL for the
interface. This means the client can simply
provide, in a natural format, information on
his or her objective, organization, resource,
and activity, and the computer can then gen-
erate the required software under the sup-
port of an exchangeable domain-specific
knowledge base. This type of exchangeable
X knowledge base has the basic feature of
knowware: an independent and computer-
operable knowledge module.
Nevertheless, the X knowledge bases
we’ve constructed thus far aren’t completely
knowware, because they’re not commercial-
ized and don’t yet provide standard inter-
faces—such as interfaces for commercial
software components. We hope to develop
arbitrarily exchangeable X knowware so
that replacing knowware becomes as easy
as replacing a computer’s conventional
plug-ins.
Creating a new industry
Over the years, software developers have
mixed software development with knowl-
edge development and mixed software with
the knowledge it provides. Furthermore, they
haven’t drawn a clear border between soft-
ware’s intellectual properties and the intel-
lectual properties of the knowledge it uses.
As a result, software developers must play
the role of knowledge developers, while
experts who have domain-specific knowl-
edge are excluded from development teams
because they usually don’t have software
development knowledge. This lack of a com-
mon background between the client and soft-
ware engineer is a serious problem. This is
another reason why we want to separate the
knowledge component from software and
make knowware and software two different
research topics and salable commodities (see
Table 1). (Although knowware is similar to
an expert system, an expert system is a kind
of software, not knowware.)
PNLs such as Z
HIWEN make it possible to
develop knowware in a fast and massive fash-
ion. They also offer a way to separate soft-
ware developers from knowware developers,
so that software engineers need only develop
software tools, leaving the task of knowware
development to the domain-specific experts.
A client could buy software tools from a soft-
ware developer and knowware from a know-
ware developer. The scenario would be simi-
lar to the early 1980s, when PC clients
bought hardware from IBM and the corre-
sponding software from compatible-software
developers—a win-win scenario for both
hardware and software developers. Software
and knowware should follow a similar path,
separating hardware, software, and know-
ware into three separate industries.
Knowware engineering
Of course, discovering knowledge using a
computer or some human and computer com-
bination has already become an industry—
the knowledge industry. If computers can
generate normalized, packaged, and commer-
cialized knowledge—knowware—then we
can call the process of generating knowledge
knowware engineering. Knowware engineer-
ing is similar to (but not the same as) software
engineering. In a sense, knowware engineer-
ing is a special kind of knowledge engineer-
ing characterized by its mass production.
Software engineering researchers have
suggested many development models, which
are closely related to the software life cycle,
such as the well-known waterfall,
4
spring,
5
spiral,
6
and rapid prototype development
7
models. Knowware engineering needs its
own development model and life cycle, and I
propose a crystallization model.
The basic idea can be described as fol-
lows. During knowware’s life cycle, it con-
tinuously accumulates new and useful knowl-
edge while discarding old and obsolete
knowledge. The knowledge that knowware
requires exists in our surroundings. How-
ever, it’s not like buying candy in a candy
store, because the knowledge isn’t immedi-
MARCH/APRIL 2005 www.computer.org/intelligent 83
My concept of knowware differs from other similar concepts, such as knowledge
ware and intelligent ware. Actually, the name “knowware” is coined to emphasize
this difference and should be placed in the same position as hardware and soft-
ware in computer science. As predicted by Edward Feigenbaum, the pioneer of AI
and knowledge engineering, we’re entering an era of a “knowledge industry in
which knowledge itself will be a salable commodity like food and oil. Knowledge
itself is to become the new wealth of nations.”
1
Knowware should be the soul of
this knowledge industry and the name for all salable knowledge commodities.
Reference
1. E.A. Feigenbaum and P. McCorduck, The Fifth Generation: Artificial Intelligence and
Japan’s Challenge to the World, Addison-Wesley, 1983.
Why “Knowware”?
Table 1. Major differences between software and knowware.
Classical software Knowware
Technique content Domain knowledge and software Domain knowledge
Life cycle Determined mainly by variations of custom requirements Determined mainly by the accumulation and evolution of knowledge
Classification Normally divided into system software and application Application knowware only (“system knowware” would be
software considered software)
Developer Primarily only software engineers (sometimes Experts from various domains (sometimes supported by knowledge
supported by domain experts) engineers)
Intellectual property Software copyright Knowledge patent
ately edible, so to speak. Most knowledge
must first be acquired, refined, analyzed,
fused, and reorganized. So, knowledge in our
surroundings is more like a knowledge solu-
tion, and knowledge formation is more like
crystallization. Owing to the huge scale of
knowledge solutions, we refer to them as a
knowledge sea. The demand for and making
of knowledge is at crystallization’s center,
and the knowledge in the sea precipitates and
gathers around this center, so the “crystals”
grow larger. The structure of knowledge
crystals is the rules and norms of knowledge
representation and organization. A typical
knowledge sea is the knowledge hidden in
the Internet. Meanwhile, knowledge will
degrade and become obsolete, as represented
by the crystals’ weathering and evaporation.
We need a control mechanism, called a
knowledge pump, to regulate the extraction
and crystallization of knowledge. (Xerox
has used the name to patent one of its prod-
ucts;
8
we use the name in a completely dif-
ferent sense to identify our knowledge for-
mation concept.) A knowledge pump must
accomplish three tasks: it must extract, fuse,
and reorganize knowledge. PNL is one such
knowledge pump, which controls not only
knowledge extraction’s content but also its
granularity. To a certain degree, Z
HIWEN also
embodies the format of knowledge crystal-
lization. Figure 1 presents the crystallization
model of knowware development.
Because the knowledge in crystals might
be degraded and obsolete, we need new
knowledge to replace or modify the original
knowledge. During crystallization, the new
and original knowledge might not always be
compatible with each other. To knowledge
crystals, this is a process of annealing and
recrystallization. So, knowledge crystals are
dynamic, metabolic objects. On the other
hand, existing knowledge crystals can enter
the knowledge sea as new knowledge, so
they can be used again at a new and higher
level. John Sowa has also discussed knowl-
edge crystals,
9
but mainly from a cognition
science viewpoint. Here I discuss this crys-
tallization process from an engineering per-
spective, using it to model knowware devel-
opment. From an applications perspective,
knowledge crystals are half-products, which
require further processing to become know-
ware (see Table 2).
Knowledge middleware
Middleware is an important distributed-
software-management technique and tool,
with functions including network operation,
communication management, directory
management, remote calling, and database
inquiry. Some even suggest that middleware
is “the nervous system of client-server sys-
tems.”
10,11
Actually, the concept of middle-
ware is suitable not just for client-server sys-
tems, but also for grid-computing and peer-
to-peer systems as well as the Semantic Web.
System knowware doesn’t exist—just soft-
ware. However, knowledge middleware can
play the role of system knowware. Alfred
Spector discussed knowledge middleware
during his keynote talk at the 2002 Interna-
tional World Wide Web Conference, saying
it’s a kind of middleware used to acquire
knowledge massively, especially through text
mining. I consider knowledge middleware to
84 www.computer.org/intelligent IEEE INTELLIGENT SYSTEMS
Knowware
Knowledge crystal
Knowledge pump
Commercialization
Crystallization Knowledge reuse
Knowledge
Knowledge sea
Knowledge annealing and recrystallization
Figure 1. The crystallization model of knowware development.
Table 2. Differences between knowledge crystals and knowware.
Principle Knowledge crystals Knowware
Inclusion The relative integrity of the knowledge within a The relative integrity of the knowledge application under a specific
specific domain or problem area requirement
Classification Knowledge in different domains or problem areas Several knowledge crystals can be combined into a unified
usually formulates different knowledge crystals knowware
Representation Mainly descriptive representation Mainly procedural representation
Interface Emphasizes scientific value Emphasizes standards and convenience in applications
Production Driven by knowledge development and evolution Driven by market requirements
Property right Not necessary to have intellectual property Always has intellectual property
Update Updated by knowledge crystal’s self evolution, including Updated and reformulated into a new knowware version by evolved
crystal combination, degradation, evaporation, annealing, knowledge crystals
and recrystallization
Update cycle Continuous evolution Relatively stable—knowware is updated only after an extended
accumulation and evolution of a knowledge crystal
be a kind of software tool used to accomplish
the entire knowware life cycle (see Table 3).
Other knowledge base projects, such as
Douglas Lenat’s CyC (short for encyclope-
dia)
12
and Cungen Cao’s CNKI (China’s
National Knowledge Infrastructure),
13
have
also explored the need for knowledge accu-
mulation and production. However, to the
best of my knowledge, no one else has pro-
posed the concept of knowware and know-
ware engineering. Clearly, without an elab-
orated form of knowware, it’ll be difficult
to turn huge knowledge bases into the sal-
able commodities Edward Feigenbaum en-
visioned (see the sidebar). The Semantic
Web and grid computing have already laid
the foundation for the next-generation Inter-
net, and knowware will play an important
role in this new networking environment.
Of course, many issues remain to be clari-
fied and solved before we can widely use
knowware in the new Internet environment
and in massive software development for
applications.
The main challenge facing knowware
development is the complexity associated
with knowledge. This complexity is reflected
by its massive size, distributed nature, and
openness. Furthermore, complications include
properties of the Semantic Web and grid
computing—such as their shared use, hetero-
geneous nature, and multimedia capabilities.
The term extensional knowledge complexity
summarizes these factors. On the other hand,
complexity is also reflected through knowl-
edge’s ambiguity in semantics, incomplete-
ness, inconsistency, noise, content instabil-
ity, and situational and conditional context
dependency—intentional knowledge com-
plexity summarizes these factors. Developing
effective methods and tools to address these
issues should be the main focus of knowware
research.
Acknowledgments
I thank Fei-Yue Wang for his valuable discus-
sion on knowware. This work is supported partly
by the 973 and 863 projects 2001CCA03000,
2001AA113130, and 2001CB312004; National
Natural Science Foundation of China Grant Pro-
gram 60496324; and the Chinese Academy of
Sciences’ Brain and Mind Science project.
References
1. R. Lu and C. Cao, “Towards Knowledge
Acquisition from Domain Books,” Current
Trends in Knowledge Acquisition, B. Wielinga
et al., eds., IOS Press, 1990, pp. 289–301.
2. R. Lu et al., “On Automatic Generation of
Intelligent Tutoring Systems,” Proc. World
Conf. Artificial Intelligence in Education,
Assoc. Advancement of Computing in Edu-
cation, 1995, pp. 67–74.
3. R. Lu and Z. Jin, Domain Modeling Based
Software Engineering—A Formal Approach,
Kluwer, 2000.
4. W.W. Royce, “Managing the Development of
Large Software Systems: Concepts and Tech-
niques,” WESCON Technical Papers, vol. 14,
1970, pp. 1–9.
5. T. Reenskaug et al., Working with Objects,
The OOram Software Engineering Method,
Manning, 1995.
6. B. Boehm, “A Spiral Model for Software
Development and Enhancement,” Computer,
vol. 21, no. 5, 1988, pp. 61–72.
7. J. Kerr et al., Inside RAD, McGraw-Hill,
1994.
8. N. Glance et al., “Knowledge Pump: Sup-
porting the Flow and Use of Knowledge,”
Information Technology for Knowledge Man-
agement, U. Borghoff et al., eds., Springer-
Verlag, 1998, chapter 3, pp. 33–53.
9. J.F. Sowa, “Representing Knowledge Soup in
Language and Logic,” Conference on Knowl-
edge and Logic, 2002; www.jfsowa.com/
talks/souprepr.htm.
10. R.S. Pressman, Software Engineering: A
Practitioner’s Approach, 6th ed., McGraw-
Hill, 2004.
11. R. Orfali, D. Harkey, and J. Edwards, Essen-
tial Client/Server Survival Guide, John Wiley,
1994.
12. D.B. Lenat and P.V. Guha, Building Large
Knowledge Based Systems: Representation
and Inference in the CYC Project, Addison
Wesley, 1990.
13. C. Cao et al., “Progress of National Knowl-
edge Infrastructure,” J. Computer Science and
Technology, vol. 17, no. 5, 2002, pp. 523–534.
MARCH/APRIL 2005 www.computer.org/intelligent 85
Table 3. Classifying knowledge middleware.
Middleware Function Typical techniques
Knowledge extraction Extract knowledge from knowledge solution Pseudo-natural-language understanding, text and data mining,
and machine learning
Knowledge crystallization Crystallize knowledge from extracted knowledge Ontology structuring, knowledge management, and truth
elements maintenance
Knowware production Use knowledge crystals to formulate knowware Component engineering and rapid prototyping
Knowware combination Acquire a set of basic knowware based on user Knowledge modeling, automated architecture design
requirements and assemble it into more
complicated knowware
Knowware management Register, enroll, distribute, and protect intellectual Requirement analysis, e-commerce, and e-service
property, and collect fees
Knowware cooperation Complete online problem-solving processes by Remote Procedure Call, knowledge grid, and the Semantic Web
providing only distributed knowledge inquiry
instead of knowware itself
Ruqian Lu is a
fellow of the Chi-
nese Academy of
Sciences and a
professor of com-
puter science at the
Academy of Math-
ematics and Sys-
tems Sciences, the
Institute of Computing Technology, and
Fudan University. Contact him at rqlu@
math.ac.cn.