NEXPERT OBJECT version 3.0
Jean-Marie Chauvet
Neuron Data, Inc.
NEXPERT OBJECT : A Seven Year Assessment
Seven years is a comparatively long lifetime for a software product in these times of standard wars and fast-paced cycles. NEXPERT OBJECT was introduced in July 1985, at the joint conference AAAI-IJCAI held on the UCLA campus in Los Angeles, California. It was, at the time, demonstrated - and for that matter available only on - a Apple Macintosh with 512K of memory (a 'fat' machine back in 1985). Seven years later, NEXPERT OBJECT version 3.0 is introduced as a major upgrade to the tremendously succesful version 2.0. NEXPERT OBJECT now runs on 35 different hardware and operating systems, and is used throughout the world at more than 25000 sites.
From Research To Industry : Expert System Maturity
At the time of its initial inception to the market NEXPERT OBJECT faced a high level of curiosity from the industry towards the field of Artificial Intelligence (AI). Early theoretical successes in AI, as well as seminal work from pioneering companies like Digital Equipment had raised the industry expectations that AI might be a panacea to MIS headaches in application development. NEXPERT OBJECT directly benefited from this 'hype' effect and was quickly adopted by research laboratories, universities, and large industrial or services companies mostly in the USA.
NEXPERT OBJECT, however, had early on adopted a very different stance from the one sustained by its competition at the time. Positioning and marketing strategy for NEXPERT OBJECT widely differed - and still differ - from the messages sent by these veteran AI companies that embarked into the industrialization journey, of which very few remain alive in 1992. While products offered in 1985 usually worked on large resource-greedy Lisp Machine workstations, were coded in Lisp, and targeted to the very restricted audience of AI buffs and knowledge engineers, when knowledge engineering was still a black art embodied in a few gurus, NEXPERT OBJECT first appeared on an Apple Macintosh personal computer, written in Pascal, sporting an interactive graphical user-interface and offering for a tenth of the price of the next competitor the best collection of integrated AI and expert system techniques. In 1992, Lisp Machine vendors are dead or reconverted to standard technology manufacturing, a standard emerged for Lisp, with a long story of difficulties and conflits, under the Common Lisp banner which as a programming language is considered as dead when it comes to industry-strength mission-critical applications, and knowledge engineering became a profession with its growing body of literature, culture, and working professionals. NEXPERT OBJECT passed its 25000 th copy installed and a major third version is introduced in 1992.
Expert system and AI are no longer part of the 'hype', the original user community chiefly located in research and academia, while still a strong and growing base as expert system education needs increase, evolved towards MIS professionals and workers, corporate users and application developers in industrial and services organizations. From the very early beginnings until now, and still further on with the announcement of the upcoming new version, NEXPERT OBJECT was targeted towards this technological corporate need for knowledge based systems both powerful and embeddable in conventional technologies.
From Solution To Tool : A Global Market Need
Initially the expert system market appeared to be driven by the few leaders, with academic background, that jumped on the bandwagon of industrialization and productization of AI techniques, encouraged by the early successes of researchers at three major locations : Stanford, MIT, and CMU. Truly, these early successes were often the result of tremendous research efforts and investments in technology, and also relied on gifted individuals and sponsoring corporations - the part played by Digital Equipment in the old days was vital and never faltered. However this inarticulate collection of victories over some selected complex tasks and these original demonstrations were but a proof of feasability, when related to industry standards and market needs. For the early prospectors AI and expert systems was a market, a dedicated solution to carefully selected and formalized problems.
The latter educated the market, which working under different assumptions and constraints, corporate needs, fixed if not restricted financial and human resources, growing complexity of the business environment, sent back a different message which ultimately told us that AI is a technology not a market. Industry, services - in the USA, in Europe or in Asia-Pacific and Japan - are all craving for tools that would enable their corporate application developers to build mission-critical custom applications, in changing times when the increasingly recognized drive from users would constrain the design phases, when MIS application backlog would spur the downsizing trend towards conventional PCs and networks of workstations, and when hardware, operating systems, software products, and standards lifetimes would grow shorter and shorter while impacting more and more the economics of corporate information systems. The market pull is the great discovery of AI turned industrial and remains the governing rule for expert system providers. NEXPERT OBJECT has fared exceedingly well in these troubled waters, winning over the leadership in tools for building knowledge enabled applications, because this market pull was understood early on and drove both the software development and marketing strategies. NEXPERT OBJECT became the standard software tool for building smarter applications worlwide.
Building Smarter Applications
The term 'Smarter Application' was coined to qualify the mission-critical custom applications used in everyday operations of corporate organizations. With the growing complexity of business tasks and environment, when time places heavy constraints on organization workers, the NEXPERT OBJECT tools provide development and deployment services to application developers along three major axes : task representation, reasoning automation, and integration services.
Task Representation
NEXPERT OBJECT is a premier tool for modelling business tasks and eliciting knowledge about how to perform these tasks. As such it is already a invaluable tool for understanding corporate decision-making and education. It is also a tool for building active and open knowledge repositories.
Tasks and domain specific knowledge about tasks is explicitly represented as networks of rules and class-object hierarchies. The rule-based and object-based representations are tighly integrated in a common design environment. Visual interfaces relying on structured editors and graphical browsers promote interactive design and modern software development methodologies.
Productivity is an immediate benefit of NEXPERT OBJECT as the representation of complex business tasks into high-level abstract entities implies less 'code' than conventional approaches. The visual development environment together with the graphical and interactive testing and debugging environment are geared towards easing the maintenance of such business models.
Reasoning Automation
NEXPERT OBJECT's inference engine offers the widest integrated array of reasoning techniques to capture the essential specificities of the particular problem-solving task at end. The main result of AI research work - particularly well theoricized by H.A. Simon and A. Newell in their seminal book 'Human Problem Solving' - is the existence of invariants in human problem-solving activities, generally speaking. NEXPERT OBJECT realizes, through the so called 'Agenda Mechanisms', a complete implementation of these general cognitive primitives that operate when solving a task.
Let us mention some of these inference mechanisms, non-exhaustively, as an indication towards the scope of applications they encompass. Forward chaining, the ability to reason from facts to conclusions, backward chaining, working from hypotheses back to cues, mixed chaining and automatic goal generation, making optimal used of data gathered during deduction chains, non-monotonic reasoning, the ability to infer alternate even contradictory conclusions from new facts volunteered during a session, defeasible reasoning, the ability to suspend of retract deductions, multiple inheritance, to propagate information through class-object hierarchies, local and global strategies for best-search, priority-based schemes, or exception and uncertainty handlers are but a few of these integrated collection of primitives that NEXPERT OBJECT brings to the application developer to automate reasoning processes.
Flexibility and the ability to tackle larger or more complex tasks are immediate advantages resulting from the direct availability of this pre-built and portable set of Reasoning Services.
Integration To Information Systems
NEXPERT OBJECT has probably reached its highest level of maturity in providing complete Integration Services for the application developer to embed its knowledge bases within the computational environment used in its corporate organization. The resulting application is thus directly driven by the business impetus, gathering real-time corporate data and performing decision-making tasks to assist corporate worker in increasingly demanding environments.
First key point : NEXPERT OBJECT runtime libraries, and development environment, are written in C for performance and portability. Full interoperability is insured as the libraries offer exactly the same functionality, and the development environment graphical interface is the same on all hardware/operating system configuration NEXPERT OBJECT supports.
Second key point : NEXPERT OBJECT supports a vendor-independent database front-end using industry standard SQL as a data description and manipulation language. This front-end provides an object-oriented view of relational tables or flat files, which can be used by the rule-based or object-based reasoning processes.
Third key point : NEXPERT OBJECT also offers an Application Programming Interface (API) to the programmer. The API enables call-out from the object or the rule reasoning processes. But furthermore, the API enable external programs to call-in to the Knowledge-Based Services of NEXPERT OBJECT, with full access to the task representation and the resasoning process. The API supports all major conventional and industry standard programming languages, ranging from C or Pascal, to ADA, and including FORTRAN, COBOL, PL/1, REXX, and even C++, Smalltalk or ... Lisp.
Fourth key point : Deployment options for NEXPERT OBJECT are unlimited. Whether the user-interface should be character-based or bitmapped-graphics, should rely on communication with standard applications or software tools, should be standalone or remotely operated from client workstations, runtime options are readily available to install and deploy smarter applications in any corporate information system. The deployment options promote reusability of task representations across critical applications.
User see their application developed and deployed more quickly, on more platforms. NEXPERT OBJECT applications have professional-quality graphical user interfaces for ease of use, and integrate tightly with productivity applications already in place. NEXPERT OBJECT completely supports industry standards.
NEXPERT OBJECT version 3.0
The announcement for version 3.0 pushes forward NEXPERT OBJECT further along the previous lines. Additional services are provided and built-in into NEXPERT OBJECT to enhance flexibility and productivity of corporate application developers.
Portable Graphical User Interfaces
NEXPERT OBJECT and Neuron Data Open Interface™ have been integrated so that graphical deliverable interfaces may be constructed entirely within NEXPERT OBJECT, without having to write any C code. This capability does not preclude the developer writing interface code for special needs.
A new editor, the 'Window Editor', is used to design interactively question windows, and associate the various widgets (sliders, buttons, tables, icons) with NEXPERT OBJECT slots, classes, or commands to the inference engine. Specific graphical editors are provided to aid in the linkage between widgets and atoms. Widgets can also trigger actions like sending messages, volunteering, suggesting, knowcessing, opening new windows etc. These windows can be associated with specific atoms via the new Meta-Slot Editor, and are inheritable.
The delivered user interfaces are portable across platforms and support the Macintosh, MS/Windows 3.x, OS/2 Presentation Manager, UNIX OPEN LOOK, and OSF/Motif look and feels.
Performance
The internal mechanism for storing and accessing the class/object structures has been changed. For large applications - more than hundreds of objects - the performance improves considerably (factor of 10 depending on how the knowledge base accesses and creates objects).
The internal structures have also been modified to use up less memory than in version 2.0. Typically an object-intensive knowledge base runs several time faster in about half the space it used to take with version 2.0.
Message Passing
NEXPERT OBJECT version 3.0 fully supports the object-oriented control structure of sending messages to trigger methods that may be attached to atoms : properties, objects, classes, and slots. Each method has a name that is not necessarily unique and can accept arguments.
The methods are fully inheritable. A new "SendMessage" operator may be invoked from the left or right hand sides of rules as well as from another method. The maethod are written in an IF-THEN-ELSE format and support local arguments.
A new 'Method Editor' is introduced to help in constructing methods and messages.
System methods are now supported, like the previous 'If-Change' and 'Order-Of-Sources'. New system methods are available like 'Before-Change', 'After-Create', 'Load-KB' and so forth, that are triggered automatically by the inference engine.
New Features
- Compatibility with version 2.0 is assured by a conversion utility supplied with NEXPERT OBJECT version 3.0
- Multivalues have been introduced as a directly supported data type. The older mechanism will be retained for compatibility.
- Validation allows input data to be checked for being a legal value. A boolean expression can be defined that must be satisfied before NEXPERT will accept an input value, a user-defined 'Execute' can also be associated to call a routine to perform additional validation or range checking. These validation expressions can be defined on a property or a slot, and are inheritable.
- Rule syntax now allows IF-THEN-hypo-AND-DO-actions-ELSE-DO-actions. The ELSE-part can be seen in the network and transcript window during execution.
- Interpretation on properties : the syntax \obj.prop\, and \obj1.p1\.\obj2.p2\ are now valid constructs.
- New strategies have been added, like triggering an 'If-Change' system method when the value is reset to 'UNKNOWN', or continuing execution of the 'Order-Of-Sources' system method even when the value of the slot is known.
- Operator renaming : there is one new Operator 'Assign' that replaces old-fashioned 'Let', 'Name', 'Do'
- Relational Operations Syntax : the set of relational comaprison operators : <, <=, =, <>, >, >= now work on all data types and replace the 'Is', 'IsNot', 'Equal', 'NotEqual'. Also expressions can be used both in the first and second placeholder for these operators.
- Full boolean expressions using AND, OR, NOT can be used with 'Yes', and 'No' operators.
- Database operations have been significantly improved for performance and error handling. A new API to install custom database handlers is now provided.
- Journaling/Saving functionalities have been made more robust and faster.
- A cross-reference browser in a new window is used to locate all occurrences of a selected atom and focus the appropriate editor on the cliked item.
- Custom desktop : the main NEXPERT window can be customized by the user. It is an iconic finderlike interface where windows, processes, and commands can be iconized and triggered by single clicks.
- The performance of the API has been improved for calls like 'NXP_GetAtomValue' when large amouns of information are exchanged. These were available only in NEXPERT 2.1. Large-Scale Runtime version.
- Knowledge Base Access : a new API routine 'NXP_CreateKB' buils an new empty knowledge base. KB ids are now atoms, so that KB navigaion and information retrieval is just like for any other atoms.
- Modeless Strategy Editor : it can be kept at all times and display dynamically changes in any of the current strategy settings.
NEXPERT OBJECT : The Next Seven Years
NEXPERT OBJECT version 3.0 is ready for the next decade of smarter application development. As the complexity of the software industry grows and increasingly impacts the economics of corporate organizations, application developers will have to focus their resources on mission critical custom applications.
NEXPERT OBJECT 3.0 is geared at directly enhancing the productivity and flexibility of corporate developers by an efficient implementation of a software tool strategy, promoting high-level specification, abstraction for reusability and maintainability, portability across hardware and software platforms, interoperability, integration to productivity applications already in place, and interactive visual thinking.
With a full load of new portable services, available for development and at runtime for deployment options, NEXPERT OBJECT 3.0 versatility makes it an environment of choice for building, or revamping mission critical software applications. With the largest installed customer base NEXPERT OBJECT is the premier choice for investment protection and security, while highly visible reference power applications are developed and used every day at corporations worldwide in the widest array of domains and tasks.