ICAD (software)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

ICAD (Corporate history: ICAD, Inc., Concentra, KTI, Dassault Systemes[1]) is a Knowledge-Based Engineering (KBE) system that enables users to encode design knowledge using a semantic representation that can be evaluated for parasolid output. ICAD has an open architecture that can utilize all the power and flexibility of the underlying language.

KBE, as implemented via ICAD, received a lot of attention due to the remarkable results that appeared to take little effort.[citation needed] ICAD allowed one example of end-user computing that in a sense is unparalleled. Most ICAD developers were degreed engineers. Systems developed by ICAD users were non-trivial and consisted of highly complicated code. In the sense of end-user computing, ICAD was the first to allow the power of a domain tool to be in the hands of the user at the same time being open to allow extensions as identified and defined by the domain expert or SME.[citation needed]

A COE article[2] looked at the resulting explosion of expectations (see AI Winter), which were not sustainable. However, such a bubble burst does not diminish the existence of capability that would exist if expectations and use were properly managed.[citation needed]

History

The original implementation of ICAD was on a Lisp machine (Symbolics). Some of the principals involved with the development were Larry Rosenfeld,[3] Avrum Belzer, Patrick M. O'Keefe, Philip Greenspun, and David F. Place. The time frame was 1984-85.[4][5]

ICAD started on special-purpose Symbolics Lisp hardware and was then ported to Unix when Common Lisp became portable to general-purpose workstations.

The original domain for ICAD was mechanical design with many application successes. However, ICAD has found use in other domains, such as electrical design, shape modeling, etc. An example project could be wind tunnel design or the development of a support tool for aircraft multidisciplinary design.[6][7][8] Further examples can be found in the presentations at the annual IIUG (International ICAD Users Group) that have been published in the KTI Vault[dead link] (1999 through 2002).[9] Boeing and Airbus used ICAD extensively to develop various components in the 1990s and early 21st century.

As of 2003, ICAD was featured strongly in several areas as evidenced by the Vision & Strategy Product Vision and Strategy[dead link] presentation. After 2003, ICAD use diminished. At the end of 2001, the KTI Company faced financial difficulties and laid off most of its best staff. They were eventually bought out by Dassault who effectively scuppered the ICAD product. See IIUG at COE, 2003 (first meeting due to Dassault by KTI)

The ICAD system was very expensive, relatively, and was in the price range of high-end systems. Market dynamics couldn't support this as there may not have been sufficient differentiating factors between ICAD and the lower-end systems (or the promises from Dassault). KTI was absorbed by Dassault Systemes and ICAD is no longer considered the go-forward tool for knowledge-based engineering (KBE) applications by that company. Dassault Systemes is promoting a suite of tools oriented around version 5 of their popular CATIA CAD application, with Knowledgeware the replacement for ICAD.

As of 2005, things were still a bit unclear. ICAD 8.3[dead link] was delivered. The recent COE Aerospace Conference had a discussion about the futures of KBE. One issue involves the stacking of 'meta' issues within a computer model. How this is resolved, whether by more icons or the availability of an external language, remains to be seen. -- more work here.

The Genworks GDL product (including kernel technology from the Gendl Project) is the nearest functional equivalent to ICAD currently available.

ICAD Particulars

ICAD provided a declarative language (IDL) using New Flavors (never converted to CLOS) that supported a mechanism for relating parts (defpart) via a hierarchical set of relationships. Technically, the ICAD Defpart was a Lisp macro; the ICAD defpart list was a set of generic classes that can be instantiated with specific properties depending upon what was represented. This defpart list was extendible via composited parts that represented domain entities. Along with the part-subpart relations, ICAD supported generic relations via the object modeling capabilities of Lisp.

Example applications of ICAD range from a small collection of defparts that represents a part or component to a larger collection that represents an assembly. In terms of power, an ICAD system, when fully specified, can generate thousands of instances of parts on a major assembly design.

One example of an application driving thousands of instances of parts is that of an aircraft wing - where fastener type and placement may number in the thousands, each instance requiring evaluation of several factors driving the design parameters.

Futures (KBE, etc.)

One role for ICAD may be serving as the defining prototype for KBE which would require that we know more about what occurred the past 15 years (much information is tied up behind corporate firewalls and under proprietary walls). With the rise of the functional languages (an example is Haskell) on the landscape, perhaps some of the power that is attributable to Lisp may be replicated.

See also

References

  1. The ICAD System Archived November 22, 2004 at the Wayback Machine
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Larry Rosenfeld, ICAD Founder
  4. Philip Greenspun's resume
  5. Philip Greenspun's List of Engineering Projects
  6. Bermell-Garcia, P. et al () A KBE System for the design of wind tunnel models using reusable knowledge components
  7. A modular reconfigurable software tool to support distributed multidisciplinary design and optimization of complex products
  8. Stanley Knutson, ICAD Chief Scientist
  9. The last ICAD application to receive the KBE Innovation Award at the 2002 IIUG conference in Boston

External links