Knowledge based engineering system for structural ...

6 downloads 459 Views 678KB Size Report
A formalization of the optical system representation based on formal syntax is ..... Python,. C/C++, Java only the forward rule editor, version control. Public. Domain ... table editor), an integration testing framework, a storage of knowledge bases.
Knowledge based engineering system for structural optical design a

Dmitry MOUROMTSEV a,1, Irina LIVSHITSa, Maxim KOLCHINa National Research University of Information Technologies, Mechanics and optics

Abstract. This paper describes a knowledge based engineering web application to the problem of starting point selection in optical design. The system architecture is shortly discussed. A formalization of the optical system representation based on formal syntax is given. Examples of rules in natural language and Drools Rule Language syntax illustrate the work of the solution. Development of a knowledge base using decision table is shown. Keywords. Knowledge based engineering, CAD, optical design, production rules, expert system, ontology

Introduction The design of optical systems (OS) is a sequential process including stages of the analysis of a technical specification, a structural synthesis, a parametric optimization etc. Currently there exists a lot of computer-aided design systems (CAD) that can effectively solve the problem of an optical scheme optimization (also known as parametric synthesis), calculating the exact parameters of an optical system. Some examples of such a system are “CODE V”, “OSLO”, “SYNOPSYS” and others. Some of them provide user with decision support using a database of stock lenses from various vendors, what limits them to the number of existing solutions. But the stage of structural synthesis still remains the area of human responsibility. Meanwhile at the beginning of 2000 Knowledge-Based Engineering (KBE) became an industrial trend of building decision support systems in variety of areas [1]. A detailed a review of the technological fundamentals of knowledge based engineering provided in [2]. KBE as a technology to augment the level of automation and “intelligence” of conventional CAD systems by embedding design rules and engineering knowledge. An extended definition of KBE is given [3]: Knowledge based engineering is a technology based on the use of dedicated software tools called KBE systems, which are able to capture and systematically reuse product and process engineering knowledge, with the final goal of reducing time and costs of product development by means of the following:  Automation of repetitive and non-creative design tasks.  Support of multidisciplinary design optimization in all the phases of the design process. As it fairly stated in [2] KBE is not a novel and revolutionary product from the world of computer science, but has strong roots in the field of artificial intelligence, 1

Corresponding Author.

particularly in the knowledge based systems (KBSs) technology of the 1970s. There is already a long story of using knowledge based systems (or expert systems) to solve different design problems. KBSs are the most widely used class of AI applications, focused on disseminating the experience of highly qualified experts in the areas where the quality of decision-making and problem solving has traditionally depended on the level of expertise, for example, CAD, medicine, law, geology, economics, etc. [4] There are two types of KBSs, namely, the rule based systems (RBSs), which are possibly the most widely known, and the frame based systems (FBSs). Knowledge representation in the form of production rules is most common in expert systems, because the records of KB are actually knowledge written on a subset of natural language (the well-known IF-THEN construct) [5]. The consequence is that the rules are easy to read, they are simple for understanding and modification, the experts have no problem to formulate a new rule, or to point out the fallacy of an existing one. Frame based approach is a concept, proposed in 1970 by Minsky [6], based on the use of a collection of slots to describe attributes and/or operations featured by a given object. Each slot may contain a default value, a pointer to another frame, or a set of rules (including IF-THEN rules) and procedures by which the slot value is obtained. The authors have included a new module to KBSs architecture — the ontology of the domain area, in the present work it is optical elements taxonomy. It allows ones to use a generic and extensible domain vocabulary of the rules for the knowledge base. The ontology is necessary tool for optical systems structural analysis. The purpose of this analysis is to determine the function of the every element of optical system with the consequent formalizing of the design procedures. The ontology makes it possible to describe most of the steps of optical design process and determine the cutoff values for indices of applicability of the certain elements in certain optical schemes. This approach has a set of essential advantages because it allows to combine the creation of structured dictionary of notions in the optical domain with the technical classification used in lens design. As a result, the combination of just two procedures makes it possible to use existing optical design experience for design of new optical systems. For us the application of ontology to lens design gave a new inspiration to the structural synthesis process in the design of an optical system (OS). Close cooperation between optical engineers and specialists of information technologies made it possible to apply artificial intelligence to optical design and create a software for “composing” optical schemes.

1. Structural optical syntheses overview 1.1. Stages of the optical design procedure At the moment proposed CAD systems are unable to generate optical lens automatically, and requires a lens designer inference for making decision at the certain steps of the design process. The selection of a suitable starting point (or so called the structural scheme of optical system) remaining mostly the function of a human optical designer is one of the most important steps in the optical design and it determines the success of the whole. A formal rule-based design method of structural synthesis shortly described in [7] was proposed by prof. M. Russinov and developed by I. Livshits. This is the most creative step of the design process, which was called by Professor Russnov

as “optical systems composing” similarly to a music composing, where instead of sounds, an optical designer uses the optical elements. Optical systems design is a complex process, which consists of some important steps: 1. analyzing technical requirements of optical system, 2. structural synthesis (a starting point selection), 3. parametrical synthesis (calculation of parameters for the structural scheme), 4. analysis, 5. optimization, 6. tolerancing, etc. In between of these steps one has to make a decision regarding the possibility of moving to the next step or improving the current optical system, or even, selecting a new starting point. The key-step in the whole optical design process is the selection of the appropriate starting point. Due to our approach, a starting point appears from the structural synthesis procedure (selection of number, type and location optical elements in optical system) and it mostly determines the success in any optical design project. It has strong influence on the number of iterations in the optimization process, and even to the tolerances and manufacturability of the optical elements. In the optical design market there are many different attempts to solve the problem of starting point selection, some of them are listed bellow:  Vendors’ catalogues;  different databases, such as technical literature, patents, companies archives;  genetic algorithms;  own experience;  solving analytical equations (III-order aberrations, etc.)  expert systems — this is our way. But in spite of numerous publications related to this hot topic, there is still no one commercially available software solving this problem. The main idea for our approach of a starting point selection is a simple and rather obvious statement that ‘every optical element has to be installed into the optical system only in accordance of its purpose (function)’. A group of optical experts from our university has formalized some heuristic rules based on their many years of hands-on experience in this field. This make it possible to create an expert system for the optical design. 1.2. Optical classifications and starting points Below are some basic determinations of frequently used definitions useful for better understanding:  Optical element (OE) is understood here as one reflective or combination of two refractive surfaces. Examples of OE are a mirror or a single lens.  Optical module (OM) is a combination of several optical elements. Examples of OM are doublets, eyepieces, objectives – as parts of microscope optical system.  Optical system (OS) is a combination of several optical modules. Examples of OS are telescope (includes several OM: objective lens, relay lens, eyepiece), microscope, etc. Due to their functions in optical systems all optical elements are divided into four big groups (types):

 Base Elements (B) — are used to form the optical power in an OS, they are always positive.  Correction Elements (C) — are used to correct residual aberrations of basic elements. Correction elements can be both positive and negative and also afocal, which will depend on the aberration type. They are correcting.  “Fast” Elements (T) — are used for developing the aperture of an optical system, they have only positive optical power, but in distinction to basic elements, they work only from the finite distance.  “Wide-angular” Elements (Y) — are used for developing the field angle in an OS, they are negative or afocal. There are two basic types of data used to describe optical systems. The first are the general data that are used to describe the system as a whole, and the other are the surface data that describe the individual surfaces and their locations. Usually, an optical system is described as an ordered set of surfaces of different types, beginning with an object surface and ending with an image surface (where there may or may not be an actual image). It is assumed that the designer knows the order in which rays strike the various surfaces. Systems for which this is not the case are said to contain nonsequential surfaces. A type of surfaces is selected from ”O” — a flat surface, ”P” — a surface concentrated the center of the input pupil, ”A” — an aplanatic surface , ”F” — a surface concentrated the focus, ”I” — a surface located near the focal zone, ”V” — a variable surface. The exact number of surfaces depends on a construction of the element. For example for lenses the list includes two records. But for other types of optical elements the list may consist of one record, if the element is a mirror, or 3 or more for elements with a complex structure. Entire lens space is subdivided into 3 zones: “1“ — before aperture, “2” — near aperture, “3” — near image (see Fig. 1).

1

2

1

3

2

3

Figure 1. Surface Location.

The general data used to describe a system includes the aperture and field of view, the wavelengths at which the system is to be evaluated, and perhaps other data that specify evaluation modes, vignetting conditions, etc. If we describe these data in symbolical values we’ve got general classifications, see bellow. Before one starts the optical design, it is very important to classify optical system using different classifications depending on the customer’s request. Different types of characteristics are used for optical systems’ classifications and there exist big amount of the classifications. There does not exist the only approach accepted by all designers in the World.

General classifications describe optical systems properties in conventional values. For example, if we designate the object (image) infinite position as “0” and finite position as “1”, we would have the most general classification which divides all optical systems into four big classes due to object-image position, Table 1: Table 1. General classification depending on object-image position Conventional notation of Systems’ class

Name of the systems’ class

“00”

binocular type

“01”

photographic lens type

“10”

microscope objective type

“11”

relay lens type

Technical classification operates with physical values. If we input physical values into the following seven optical characteristics (J, W, F, L, Q, S, D), then we’ve got the technical classification, which is of the most influence to the starting point selection for the objectives (“01” type). Technical classification is presented in Table 2. Table 2. Technical characteristics for photographic objective Notation

Name

Units

J

Aperture speed

nondimentional

W

Angular field

Angular units

F

Focal length

mm

L

Spectral range

Nm

Q

Image quality

Wave units

S

Back focal distance

mm

D

Entrance pupil position

mm from the first surface

1.3. The problem of a starting point selection Most of CAD software allows selecting a starting point by supplying a number of standard or sample designs that users can apply as starting points (relying on the user’s knowledge to select or generate a suitable starting design form). Smarter approaches are being explored, including expert systems (Donald Dilworth’s ILDC paper, “Expert Systems in Lens Design”), and the intriguing possibility of training neural network to recognize a good starting point (research presented by Scott W.Weller, “Design Selection Using Neural Networks”). Some designers use databases (for example, LensView). As it has been already stated, creation of a starting point is the main stage of the whole design process. If a starting point was successfully matched one can get the result very fast. Inappropriate starting point leads to failure of the design process after loosing some time for understanding the wrong choice. The procedures of selecting of the surfaces' types for the optical elements construction and the selecting the OE themselves for structural schemes construction is

called structural synthesis of optical scheme. A formula for structural synthesis scheme contains the type, the quantity and the arrangement of the OE. Our approach leads to receiving the optimal number of the elements in optical systems and puts all of them in certain strict sequence, which makes them more efficient both from technical and economical point of view. Anyway, this part of the general approach to optical design process, as well as other parts is programmed as “open access (entry)’’, and, moreover, it offers additional opportunities to its development and correction. Structural synthesis is based on using for lens design the surfaces with well-known properties only, such as working at its aplanatic conjugates, concentric about the aperture or the chief ray, flat or near image surfaces. In Russia this approach was developed by Mickael Russinov and his successors [8, 9] and in the USA by Robert Shannon [10]. The main feature of this method is the complete understanding of the functional purpose of each optical surface. Due to the predicting properties of this approach it is possible to formalize the process of structural scheme synthesis, what allowed, in its turn to create the simple algorithm and elaborate the synthesis program. The main concept of the method are: a) Every optical system (OS) consists of the finite set of optical modules (OM); b) Each OM has its own function in the OS and consists of a finite set of optical elements (OE); c) Each OE can be formed using only the finite set of optical surfaces' types. The procedures of selecting the surfaces' types for the OE construction and the selecting the OE themselves for structural schemes construction are done using the finite set of selection rules and is called structural synthesis of optical scheme. The structural scheme composing is based on the two levels’ hierarchy of the components. The objects of the lower level are optical surfaces and the objects for the upper level are optical elements. This approach made it possible to resolve the components of any structural scheme according to the hierarchy levels. 2. Technical requirements’ decomposition and knowledge elicitation Before starting a knowledge engineering process it is necessary to reveal the most critical steps of decision making, key actors and their interaction in an optical design process. The development of any optical system begins with an analysis of the technical project — the requirements of its design, allowing at the final stage to develop some criteria of the optical system suitability. As a general rule, technical requirements for the design of an optical system are made by a customer in some free form and do not contain comprehensive data needed for a developer to create a proper scheme of the optical system and its subsequent calculation. Therefore, from varied requirements of the technical tasks it is necessary to carry out the selection and classification of precisely those characteristics that will determine the final choice of the structural optical scheme. There are four main actors involved in an optical design procedure: a client, a designer, an optical expert and software (see fig. 2). The relationships between these actors suppose an exchange of different kind of information or data. The purpose of this exchange is to provide such a calculation of an optical system that its elements are

to be located by an optimal order to guarantee the final result — the quality of an image of an optical system must be improved according to the given levels and the existing geometrical dimensions of the OS. That is why the success of the system totally depends on the accuracy of the expert knowledge representation and the classification of data used by the designer to be loaded in CAD software.

Figure 2. The main actors of the system and their interaction.

Figure 3 shows the interaction between an expert and a designer in the work with the technical requirements of an optical system. At the same time, the initial requirements are decomposed by a designer into two groups — the functional requirements and the parametric requirements. The first group influences on the development the structural scheme (starting point), while the latter determines the procedure for the parametric synthesis of OS (modeling and parameters' calculation of optical elements or lenses). The points A, B, C and D indicate the use of knowledge and data being the most critical for a system. Points A and B in fact refer to the knowledge and skills of a designer and an expert. At point D there is a transfer of data in special CAD software that performs the calculation of optical system parameters. And in point C there is the joint work of an expert and a designer on formation of a starting point. It is this stage of the greatest interest in terms of build of a knowledge based system. The knowledge elicitation aimed to build such a system is connected with the analysis of the information used by a designer in his work in terms of functional requirements, namely:  Classification of optical elements.  Rules elements layout in an optical system.  Restrictions on the elements location in various optical zones, depending on their type and size. For each type of knowledge used in the system there are special models:  Frames for optical elements representation.

 

Production rules for conditions of elements use. Ontology for the final formation of the starting point with selected elements.

Figure 3. The interaction between an expert and a designer.

3. Design of the application The problem of starting point selection in optical design doesn’t have a deterministic algorithm for solving, since for the one technical requirements to the problem may have many feasible solutions. These solutions may be similar or have fundamental differences. Therefore an optical engineer has to rely on his or her experience and knowledge in optical design to produce the optimal solution. And then more experienced engineer are, then the better the solution will be. Expert systems, also known as rule-based systems or knowledge-based systems, are used successfully to solve such problems for dozen years. But a more effective solution is to use a heterogeneous approach using multiple forms of knowledge representation. Traditionally in KBE the synthesis of production rule-based and framebased (object-oriented) approaches are used. In this project authors added to these methods ontological model also. 3.1. Knowledge engineering for structural optical synthesis A simple and effective formalization of the optical system representation based on formal syntax allows to build a description from the basic notions to the complex description, formulate consistent rules for the knowledge base, as well as expand the range of the problems of optical design, by introducing elements of the new features avoiding conflicts with an already used in the system.

The initial data for the starting point selection process are the technical requirements measured in physical units: Aperture speed, Angular field, Focal length, Angular units, Spectral range, Image quality, Wave units, Back focal distance, Entrance pupil position. However, for the rules of the knowledge base system it is more convenient to use generalized qualitative characteristics “0”, “1” or “2” and truth-value variables, inferred by the system. The conversion principles of the technical requirements to generalized values is present in table 3. Table 3. Conversion of the technical requirements to generalized values (GVal) Class

Characteristic

GVal “0”

GVal “1”

GVal “2”

J

Aperture speed

OS is not fast < 2.8

OS is fast 2.8 ... 1.5

OS is super fast > 1.5

W

Angular field

OS with small angular field < 15∘

OS with average angular field 15∘ ... 60∘

wide angular OS > 60∘

F

Focal length

short focal length OS < 50 mm

average focal length OS 50 … 100 mm

long focal length OS > 100 mm

L

Spectral range

monochromatic OS < 5 nm

ordinary polychromatic 5nm ... 200nm

super polychromatic correction > 200 nm

Q

Image quality

“geometrical“ image quality >5

“intermediate” image quality 2…5

“diffraction” image quality f

D

Entrance pupil position

entrance pupil located inside OS

removed back entrance pupil

removed forward entrance pupil

A superposition notation is used for a formal description of the optical system scheme as a sequence of elements «OE1 + OE2 + OE3 + ...». Each element is represented by a type symbol and a list of surfaces. A generic notation of an element is nexsxs, where n,x — numbers, e — type of element, s — type of surfaces, A type of an element can be “B”, “C”, “Т” or “Y” and a type of surfaces is selected from ”O”, ”P” ”A”, ”F”, ”I”, ”V” (see above). Finally a description of the optical surface consists of specifying the zone where it is located and the type of surface. Formal representation syntax for optical system scheme in Backus–Naur Form is given below: OS ::= ” + “” + “ ::= ”” | | ::= ”Y” ::= |

::= ”B” ::= ”” | | ::= ”T” ::= ”” | ::= ”C” ::= ”” | ”2” | ”3” | ”4” | ”5” ::= ::= ::= ”1” | ”2” | ”3” ::= ”O” | ”P” | ”A” | ”F” | ”I” | ”V” An example of a starting point description according with proposed syntax is “Y3P3P + B3А3P + C3I3I”. 3.2. Rule based approach The production rules or simply productions provide a formal way of presenting the recommendations, guidelines or policies. They are ideal in cases where the domain knowledge arise from empirical associations, accumulated over the years of problem solving in some area. Knowledge representations in the form of productions is most common in expert systems, because actually knowledge is being recorded on a subset of natural language. As a result rules are easy to read, understand and easy to modify, experts can easily formulate a new rule or to point out the fallacy of an existing one. Knowledge base contains a set of productions being condition-action pairs defining the basic steps of problem solving. The condition part (IF-part) of a rule is a pattern determining when the rule is to be activated for moving to the next stage of solving the problem. Part of the action (THEN-part) describes the step solutions. The rule syntax can vary in different languages or rule-platforms and a number of used keywords may include not only IF and THEN but also special tags or commands for optimizing the system work. 3.3. Ontology of optical elements The ontology is necessary for optical systems structural analysis. The purpose of this analysis is to determine the function of the every element of optical system with the consequent formalizing of the design procedures. The ontology makes it possible to formalize most of the steps of optical design process and determine the cutoff values for indices of applicability of the certain elements and optical schemes. Ontological approach has a set of essential advantages because it allows combining the creation of structured dictionary of notions in the optical domain with the accurate classification used in lens design. As a result, the combination of just two procedures makes it possible to use existing optical design experience for design of new optical systems. Ontology to be created belongs to the taxonomy scheme, i.e. hierarchal structure of goals and results from easy to complex organized by generalization-specialization relationships, or less formally, parent-child relationships. Mathematical taxonomy is a tree of classification of certain number of the objects. In the top of this structure is uniting uniform classification, or the root taxon, which belongs to all of the objects of this taxonomy. Taxons located below the root taxon are more specific elements of the

classification. “Optical system”, “lens”, “surface”, “material” were chosen as the upper level concepts. After that the taxonomy was structured in correspondence with the purpose, main characteristics and specific construction of optical system. It is of great importance that the proposed ontology allows to classify and create the semantic search of solution in the database of the optical patents. For the formal description of the ontology the Web Ontology Language (OWL) is used. OWL is one of the family of knowledge representation languages for authoring ontologies.

4. Implementation Due to the progress of expert system’s technology, there are plenty of rule platforms, which can be reused in a new development of expert system. When the complexity of the development is high, the right choice of effective tools is important. Therefore before starting development of our application we performed a comparison of existing tools for managing rules. 4.1. Selection of a rule platform Before we started searching a suitable rule-platform we had defined general requirements of the platform to be comply with. The requirements are the following:  advanced knowledge representation language (KRL),  the support of traditional programming languages (PL),  the support of the forward chaining,  the presence of tools for knowledge engineering and knowledge base development, such as a rule repository, a rule editor etc.,  an Open Source license and an active developer’s community. We reviewed a lot of platforms, but only the following comply with the requirements: OpenRules [11], Drools [12], OpenL Tablets [13], CLIPS [14]. The results of the review are presented in table 4. Table 4. The comparison of the rule platforms

Name

KRL

The support of traditional PL

The type of inference

The presence of tools for knowledge engineering

License

OpenRules

Tables (Excel, Rational DB), XML, POJOs

Java

only the forward

rule editor, rule repository, version control

GPLv2, Commersial

OpenL Tablets

Tables (Excel, Word), Decision trees

Java

the activation of rules depends on its order in the repository

rule editor, rule repository, version control, decision tables

LGPL

Drools

DRL (Drools Rule Language), RuleML, CLIPS

Java

the forward and backward

rule editor, rule repository, version control,

ASLv2, Commersial

decision tables CLIPS

Python, C/C++, Java

CLIPS

only the forward

rule editor, version control

Public Domain

As it’s seen from the table, all platforms have many ways to write rules (tables, own language etc.), tools for knowledge engineering and Open Source licenses, but only Drools Platform has both an advanced knowledge representation language and an powerful inference engine that can perform the forward and backward inference, whereby more complex expert system can be built. 4.2. The system architecture By selecting the most appropriate rule platform, we have got the all needed tools for the development. Drools platform provides a powerful tool for knowledge engineering — Guvnor, containing different kinds of editors (such as a guided editor, a decision table editor), an integration testing framework, a storage of knowledge bases supporting versioning of rules, models etc. and a web-service giving an access to knowledge bases.

Figure 4. Conceptual diagram of the system architecture

On Fig. 4 a conceptual diagram of the system architecture is present. As it’s seen from the diagram a user can work with the system either using a plain browser or via some external software communicating with the system through a web-service. All versions of knowledge bases are kept in the repository, that is why the system has a separate module called knowledge agent connecting to the repository at the bootstrap stage of the system work and fetching the necessary version of the knowledge base to be used by inference engine. 4.3. Examples of rules The rules have the following format: IF THEN . Drools Rule Language uses "When" instead of "IF" because "if" is normally a part of some procedural execution flow, where, at a specific point in time, a condition is to be

checked. In contrast, "when" indicates that the condition evaluation is not tied to a specific evaluation sequence or point in time, but that it happens continually, at any time during the life time of the engine; whenever the condition is met, the actions are executed [15]. The Drools rule syntax is: rule ""

* when

* then

* end Below are examples of three rules from the knowledge base. The first one is an example of conversion of the technical requirement of an aperture speed to a generalized value “OS is fast”. The rule in the natural language: IF the aperture speed of the OS between 2.8 and 1.5 THEN classify the OS as a fast and set the J class with the value equals “1” And the same rule in the DRL (Drools Rule Language) that is used in our knowledge base as a knowledge representation language: declare Classification J : int W : int ... end declare Requirements apertureSpeed : float focalDistance : float ... end rule “Classify as fast” when $class := Classification() Requirements( apertureSpeed < 2.8 && > 1.5 ) then modify( $class ){ setJ( 1 ) } end

Here we declare two new types of data. The first with name “Requirements” represents the technical requirements, the second “Classification” represents the classification of the OS and a rule with name “Classify as fast”. The Requirements type has fields apertureSpeed, focalDistance etc. And the Classification type has fields J, W etc. representing the classes. The second is an example of reasoning on a meta level as we exclude from the starting point inference all rules concerning fast optical elements. The rule in the natural language: IF the optical system is not fast THEN a fast element isn’t needed at the system And the same meta-rule in the DRL: declare SystemConditions isFastNeeded : boolean isWideAngleNeeded : boolean ... end rule “No fast” when Classification( J == 1 ) $conds := SystemConditions() then modify( $conds ) { setIsFastNeeded( false ) } end Here we declare one more type of data. It’s “SystemConditions” representing inferred conditions for another rules and a rule with name “No fast”. The SystemConditions type has fields isFastNeeded, isWideAngleNeeded etc. The “No fast” rule will be activated when the working memory contains an instance of the Classification type with the value of the field J equals ‘1’ and then the value of the isFastNeeded field of an SystemConditions’ instance will be set to ‘false’. The last rule is a plain rule as we select only the ‘B3A3P’ base element. The rule in natural language: IF the entrance pupil of an optical system is removed forward THEN exclude the all base elements with exception of B3A3P element The same but only in the DRL syntax is: declare OpticalElement

type : String surfaces: String ... end rule “The B3A3P element” when Classification( D == 2 ) $elements := ArrayList() from collect( OpticalElement() ) then modify( $elements ) { clear() add( new OpticalElement( type == “B”, surfaces == “3A3P” )) } end At this example we declare a new type “OpticalElement” representing an optical element and the “The B3A3P element” rule that will be fired when an instance of Classification type with the value of the D field equals to `2`. 4.4. Case study: An example of automated structural syntheses Consider technical requirements, requiring to develop an photographic objective whose image receiver is a Charge-Coupled Device (CCD) with the diagonal ⅓. The requirements are the followings:  aperture speed — D/F’ = 1:1.5,  angular field is less than 60°,  focal distance — F’ = 5 mm.,  spectral range — from λ1=486,13 Nm. to λ2=656,27 Nm.;  image quality — geometric (to work with CCD);  back focal distance — sufficient to work with CCD, within 1 mm.;  entrance pupil position — put forward. Following the technical requirements and with application of the developed software, technical characteristics (J, W, F, L, Q, S, D) were determined and the class of the objective was found:  aperture speed: J = 2,  angular field: W = 2,  focal length: F=0;  spectral range: L=1;  image quality: Q = 0;  back focal distance: S = 0;  entrance pupil position: D=2. The index of complexity is equal to 7, it means that the objective belongs to the category of complex systems (the index is more than 6): R = (J + W + F + L + Q + S + D) = 2 + 2 + 0 + 1 + 0 + 0 + 2 = 7.

As a result of structural synthesis, a list of structural schemes was proposed and we selected the first of them: « 2*Y2P2P + B2A2P + C2P2P + 2*T2A2P + C3I3I ». This structural scheme of the objective is composed of six optical elements: 1. The first lens — a wide-angular element. Both surfaces are concentrated to the center of entrance pupil, 7. The second lens — a correctional element. The first and second surfaces are concentrated to the center of entrance pupil, 8. The third lens — a base element. The first surface is an aplanatic and the other is concentrated to the center of entrance pupil, 9. The fourth lens — a correctional element. Both surfaces are concentrated to the center of entrance pupil, 10. The fifth lens — a fast element. The first surface is an aplanatic and the other is concentrated to the center of entrance pupil, 11. The sixth lens — a correctional element. The surfaces are located near an image. A screenshot of the user interface is shown on fig. 5.

Figure 5. An example of the system work.

5. Development of knowledge base Development of a knowledge base is the main and the most routine stage of a knowledge based system development. The work on knowledge formalization and representation in form of rules is performed by a knowledge engineer in close interaction with an expert.

As it is mentioned above, the knowledge base of the system consists with production rules (IF THEN statement) allow making a knowledge representation process more flexible and understandable for the expert. But using DRL for writing rules directly is not convenient as it requires ones to be familiar to its syntax. The other way of the knowledge base development is to use decision tables. Decision table, or as they also are called — logical tables show the relationship between combinations of conditions and possible of actions. Decision tables allow making the process of knowledge formalization rather simple, reducing it to a few standard steps. For any problem, these steps include:  Describe all required action.  Identify a list of conditions necessary to perform the action.  Define of a set of conditions for solving the problem.  Sequential description of particular solutions of the problem. As an example of using decision tables, consider a decision table for three rules selecting basic elements for a structural scheme, fig.6:

Figure 6 An example of a decision table

Drools platform allows mapping decision tables to the rule language notation. The given at fig. 6 example generates the following three rules: rule "Basic_10" when class : Classification(d == 1, s == 2) then for(String code : “B1P1A”.split(“[ ,]+”)){ insert(ElementFactory.newElement(code)); }; end rule "Basic_11" when class : Classification(d == 1, s != 2) then for(String code : “B1P2A”.split(“[ ,]+”)){ insert(ElementFactory.newElement(code)); };

end rule "Basic_12" when class : Classification(d == 0, s == 0) then for(String code : “B1P3I, B1P3O”.split(“[ ,]+”)){ insert(ElementFactory.newElement(code)); }; end From the example it’s seen that a decision table is less flexible than the production rule language and not all rules can be represented in decision tables. But the use of decision tables makes it easier to work experts with the knowledge base so the knowledge base development goes much faster.

6. Conclusion and future work In the optical design process there is a specific stage — a starting point selection or structural synthesis of an optical system scheme. There are no appropriate software solutions for this stage. Authors describe an approach to development of rule-based web application for the optical design. As a platform Drools is used. The selection of the platform is based on rule-engines’ review. The system architecture is developed and the most important modules of the system are described in the article. The second part of the work is a knowledge formalization of optical design data and processes. A formal domain conceptualization is made based on frame structures, production rules and an ontology. This formalization makes it possible to formulate rues in user-friendly manner. But in fact the proposed approach is opened for extension and rules for other types of optical systems can be added into the knowledge base. The future work includes a development a special user interface to be used in designers’ training and integrate our system with optical optimization software. We also plan to enhance the knowledge base by extending the ontology with axioms representing technological and engineering restrictions of a complex optical systems design.

References [1] S. Cooper, I. Fan, G. Li, Achieving competitive advantage through knowledge based engineering – a best practice guide, in: Department of Trade and Industry, 2001. [2] G.La Rocca, Knowledge based engineering: Between AI and CAD. Review of a language based technology to support engi- neering design, Adv. Eng. Informat. (2012), doi:10.1016/j.aei.2012.02.002. [3] G. La Rocca, Knowledge based Engineering techniques to support aircraft design and optimization (doctoral dissertation), in: Faculty of Aerospace Engineering, TU Delft, Delft, 2011. [4] R.S. Engelmore, E. Feigenbaum, Expert systems and artificial intelligence, in: Loyola/WTEC Study, Report, 1993. [5] N. Milton, Knowledge Technologies, Polimetrica, Monza, IT, 2008. [6] M. Minsky, A framework for representing knowledge, in: P.H. Winston (Ed.), The Psychology of Computer Vision, McGraw-Hill, Newyork, 1975, pp. 211–277.

[7] Russinov M. Technical Optics. Mashinostroenie. Leningrad, 1979, 488 p. (in russian) [8] L. Livshits, I. G. Bronchtein, V. N. Vasiliev, Information technologies in CAD system for lens design, Proc. SPIE 7506, 2009. doi:10.1117/12.837544 [9] Irina L. Livshits, Vladimir N. Vasiliev, Optical systems classification as an instrument for getting knowledge from optical expert, 7th Int'l Conf. on Optics-Photonics Design & Fabrication, pp. 13-14, 2010. [10] Robert R. Shannon, "The Art and Science of Optical Design", Cambridge University Press 1997, ISBN 0-521-58868-5 [11] Open Rules (http://openrules.com) [12] Drools (http://www.jboss.org/drools) [13] OpenL Tablets (http://openl-tablets.sourceforge.net) [14] CLIPS (http://clipsrules.sourceforge.net/) [15] Drools Expert User Guide (http://docs.jboss.org/drools/release/5.4.0.CR1/drools-expert-docs)