Knowledge-Based Application Development with Dynamic Objects Technology

October 1997


With this article, we take a look at a growing trend in corporate computing -- the integration of knowledge-based applications into multi-tier client-server computing architectures, and how the Dynamic Objects technology of Allegro CL has become the "tool of choice" for development of knowledge-based systems. This story launches a new series of articles discussing the features of Dynamic Objects systems which make them ideal for this kind of development.

Knowledge-Based Applications in Corporate Computing
Knowledge-based applications -- such as software agents, knowledge-based middleware, and intelligent decision-support systems -- are today at the core of mainstream corporate computer systems worldwide. Fortune 1000 companies are successfully using knowledge-based applications as a means of achieving competitive advantage within a particular industry segment, such as automotive and aerospace manufacturing, transportation and shipping, industrial design and telecommunications. Knowledge-based applications are also used for the improvement of general business functions that span across industry segments: sales and customer support, process control, workflow management, information retrieval and data mining.

Why are knowledge-based applications so critical to achieving corporate competitive advantage today?

Information Overload
The answer lies in the proliferation of information that the typical business organization must manage and leverage on a daily basis in order to remain competitive. Every day, an organization receives an enormous amount of incoming information that it must filter, process and store based on its particular organizational policies and practices.

The data must then be made available to users across the enterprise for use in their daily work. Where once the adage "information is power" ruled, now the data overload experienced by the typical organization has led to a situation in which "information is weakness," unless that information can be filtered and processed efficiently to prepare it for use.

Dynamic Data
The information management problem is compounded by the fact that data sources are becoming increasingly dynamic. Some data may be present in passive repositories, such as files or databases, that respond to straightforward queries. But, data sources can also be more unstructured and dynamic.

Real-time information associated with highly dynamic situations, such as stock quotes and late-breaking news items, are examples of dynamic data. This data might be published in the form of broadcast messages, like mail to mailing lists or updates to Web pages.

New Computing Architecture
A new corporate computing paradigm, referred to as multi-tier client-server, has recently arisen to address the challenges associated with knowledge-based information processing. This architecture consists of a database server layer (containing corporate information sources), an application server layer (containing various applications for processing and filtering information) and a "thin" client layer, either a desktop PC or net-PC browser. The layers are connected together via the corporate LAN, intranet, extranet, or the internet.

Multi-Tier Client-Server Architecture

Multi-Tier Client-Server Architecture

Intelligent Middleware
The application layer of this architecture has become an important piece in the information-processing puzzle. The software applications in this tier, including what is referred to as middleware applications, can perform "intelligent" functions by storing the policies and practices of a business organization as business rules and applying these to information transactions and other network operations.

Corporate developers can specify these business rules as a separate module, apart from other application logic within this tier, so that when the organization's policies change (and they are likely to do so regularly), these changes can be implemented quickly and efficiently in one place, and then effectively promulgated throughout the enterprise. In order to provide optimal information-sorting capability; moreover, applications in this middle tier often employ knowledge bases which contain encoded expertise related to a particular industry domain (such as industrial design or engineering), or a specific business function (such as sales or customer support). Information transactions initialized at the client are passed through this "intelligent" layer. The domain-specific knowledge required to maximize the efficiency of the transaction is applied, and the client is given back a response with maximum informational value as a result of the intelligence accessed and utilized during processing.

Need for Flexibility
In this new multi-tier paradigm, change is common, system evolution is rapid, and user demands for improvements are insatiable. Knowledge-based applications in this middle tier must integrate new data sources as they become available, they must support dynamic querying systems, they must permit users to ask more intelligent and more flexible questions, and they must be able to formulate replies which can fit well with new, rapidly changing client technologies, such as Web browser interfaces. How can corporate developers address these challenges and build into their applications the dynamic capabilities and "intelligence" required to make this middle tier truly effective?

Dynamic Objects: the Technology Behind Knowledge-Based Applications
Dynamic object-orientation, or Dynamic Objects technology, is particularly suited to knowledge-based application development. Available in development systems such as the Common Lisp Object System (CLOS), Dynamic Objects technology provides the strengths of the object-oriented paradigm for modeling complex business information systems, and adds the dynamic capabilities and built-in support for knowledge programming that are critical to building intelligent middle tier systems such as those described above.

Allegro CL is the world's most widely used Dynamic Object system, and is one of the most popular development environments for building knowledge-based applications ranging from intelligent software agents, to expert systems, to knowledge-based engineering applications. Indeed, Dynamic Object systems like Allegro CL have a long history of being the "tool of choice" for developing knowledge-based applications. Beginning in the late 1970's, continuing throughout the heyday of artificial intelligence (AI) technology in the 1980's, and carrying through to the current "renaissance" of knowledge systems in corporate computing worldwide, Dynamic Object systems have been the natural choice for application development in this area.

There are several reasons behind this trend. Dynamic Objects systems offer a number of important features pertaining to knowledge-based systems development that make them ideal for this kind of project. These features include support for runtime extensibility, and dynamic reflection capabilities using meta-data and the Meta-Object Protocol. Look for next month's cover story to explain some of these key features in detail. We'll show how Dynamic Objects features enable applications to meet the challenges encountered in today's information-driven organizations: they can integrate new dynamic data sources as they become available, support sophisticated querying systems which permit users to ask more intelligent and more flexible questions, and formulate replies which fit well with new, rapidly changing client technologies.

Questions about building knowledge-based applications using Dynamic Objects technology? We'd be pleased to tell you more about the features of Allegro CL that make it the ideal environment for knowledge-based system development. Please direct your questions and comments to info@franz.com or call us at 1-888-CLOS-NOW.

Copyright © 2023 Franz Inc., All Rights Reserved | Privacy Statement Twitter