Component-based open CAD system model
Sun Jiaguang Lu Wei Liu Qiang
(This article is reproduced from Software Engineering Expert Network www.21cmm.com)
The scale and complexity of today's computer-aided design (CAD) software makes its architecture become a decision factor for CAD software development and application. The division of CAD system module, the contact method between modules, components of the CAD system, etc. Become a problem in the CAD field.
The CAD system model depends on its modeling target. After entering the 1990s, CAD technology and application demand have changed very much. In technology, "Parallel Engineering" requires a certain field to work with other professional technology in the same environment. The organic combination; in demand, with the expansion of the CAD application and the depth of professional depth, people prefer to choose targeted professional applications, and the traditional CAD system has gradually supported secondary development. The CAD support system is replaced. In the CAD system, it is an inevitable today, and the openness of the CAD system has become the main concerns of users of each development level.
In response to the openness of the CAD system, many types of system models have emerged, representing different stages of CAD technology and industrial development. The rise of object-oriented Software Engineering technology has reached a development of CAD system models. New stage. Since then, the gradual maturity of component technology has introduced new ideas for the modeling of CAD systems.
This paper analyzes the composition and advantages of data-centric, performing as a centered and object-oriented CAD system model. On this basis, the component-based software engineering technology is used, and a structural level is clear, each The module interface specification, the connection is concise, and the two-level bus model is easily expanded, and the function and contact methods of each component of the model are analyzed in detail, and the application examples and conclusions of the model are given.
1 class CAD system model
1.1 CAD system model design objectives
Currently, the design goal of the CAD system model is to improve the openness and integration of the CAD system of practical applications. At the same time, as a typical interactive system, efficiency is also an important target.
The openness of the CAD system includes the openness of the data, the openness of the function and the expansion of the system. Whether to have good openness substantially on the system model. The integration of CAD system refers to the consistent information description and processing mechanism. Unify each function subsystem to the same integrated environment. The quality of integration also basically depends on the system model. The efficiency of CAD system usually includes the efficiency of the system operation and application development. Running efficiency is the time and space of the system. And the efficiency of application development refers to the difficulty and performing efficiency of development. Most of the efficiency depends on the system model and is also related to the specific implementation of the system.
The open system model makes the integrated integration of sub-function components, and it will inevitably improve the efficiency of application development; integration and efficiency are conducive to better achievement. These three complement each other, which is integrated with openness The basis of the efficiency, only openness is integrated, only openness is efficient.
1.2 Data-centric system model
The data-centric system model is shown in Figure 1. This type of model places a database in the core level sharing of the system. Each functional component uses a unified data description, and the development process of each subsystem is completely independent; there is a uniform in the subsystem Data exchange interface; overall expansibility (can be arbitrarily incremented by a data exchange standard). At the same time, the overall structure of this model is loose, the integration is not good; can only be done, can not be done Using, a large number of code redundancy; due to the presence of application related data, it is difficult to define data interface criteria that meet all application requirements, so data semantics distortion will occur. From an open perspective, such systems have only data openness No functional openness, but its expansion is very good.
1.3 System Model Performing Centered System
The system model is shown in Figure 2. This type of model focuses on the sharing and consistency of different applications through a unified execution center. It will share a common calculation and execution function from Separate in the application, put it in the execution center, avoid code redundancy; user interaction with the system is separated from the application, easy to implement a user interface of the unified style; any data exchange of the database must be performed through the execution center, It is good for data strict management to ensure the consistency of data. Such models solve problems such as code redundancy and interface style of data-centric system models, but there are still some defects: The functional design of the execution center is complex. It is difficult to define a set of functions that meet all application requirements, and it is also quite difficult; the execution center maintains communication with the user interface and all applications, and manages the CAD database, the burden is too heavy, and the bottleneck is used to form a bottleneck. Such models. There is only openness of data, and there is a functional openness, and the expansion is also better than the data-centric system model. 1.4 Object-oriented system model
With the maturity of object-oriented technology, a more simple object-oriented system model appears, as shown in Figure 3. This model has a big difference with the design idea of the first two types of models. In this model, CAD kernel objects The package is data and the data that can be shared for user interface objects and all application objects; the user interface object is packaged is user interface data and corresponding operations; the application object is packaged in application data and corresponding operations. All These objects complete the specified function by communication coordination between each other. From the perspective of the system, the structure of the model is not centered, and the system consists of each object entity, and each object entity has equal position, which is in data Different from the centered model. The main advantage of object-oriented system model is that the rational packages of data and functions have lowered overhead and operational complexity on the communication due to centralized management of data and functions. In addition, the non-central structure of the system also makes the composition of the system more flexible. From the whole, object-oriented system models are superior to the first two types of models regardless of its openness or their effectiveness.
2 introduction of components technology
Object-oriented models have made great progress than previous models, but there is still enough: the connection between objects is a direct contact with point-to-point. When the number of objects in the system increases, the number of communication links will increase in square level; To support communication, each object entity must maintain a functional service information library containing all object entity functional service information, which is not only repeated, but also guarantees its consistency. These overheads have damaged the efficiency of the system. The big problem is also: the interface has no consistent standard, resulting in the randomness and irregularity of the expansion of the object, which is not conducive to the system maintenance and the multiplexing of the object. To this end, we introduce component technology (Component Technology), After introducing this technology, the overall model of the system is shown in Figure 4.
Component technology is a new software engineering technology that has developed after object-oriented technology. It is an object-oriented technology. Component-based system model is still an object-oriented structure, but the object in the system is designed according to the specification Module, these definitions of software modules (called component components) coexist in the system and fully interact. According to this configuration, several components can be combined to establish larger and more complex systems.
The key to this model is a highly efficient bus structure that enables the components to connect to each other with a public interface, and the components are inserted, seamlessly integrated. In this model, communication between components The number of links is linear, and due to the consistency of each component interface specification, the complexity of communication is greatly reduced, and the interoperability of the components is also improved.
The components in the CAD system can be divided into two levels: core components and application components. The core component is an indispensable component of the CAD system, such as user interactive components and geometry components, they and The system bus consists of the core of the CAD system. Application components are peripheral modules developed according to different application domain, such as mechanical design components, architectural design components, arbitrarily swap, and form CAD software in professional fields with CAD system. Compared with the core components, the system services required by the application component are much less, the frequency of request services is also low, according to these features, we have designed a dual bus structure, to make an application bus to specifically support the application. Components, application bus, and core bus communicate, core components and application components still maintain good interoperability, but the application bus shields a part of the service request from the application component, reducing the traffic on the core bus, thus improving the CAD system core Efficiency. The detailed system model after introducing the application bus is shown in Figure 5.
3 system model internal structure
3.1 Bus
The transparent mechanism of communication between the bus provides the network. The bus provides a consistent interface specification. Each newly added component must register its functional service information to the bus, and log out of its functional service information when exiting. When a component is requested to request another When a component service, the bus is responsible for querying the functional service information library, positioning components that provide this service, and transfer this service request.
3.2 Core Components
The model framework has the following core components: object library, executes automaton, interactive servers, database manager, and data converters.
* Object Library Object Library As the system's geometry, consisting of a set of object classes, including geometric physical classes, modeling algorithms, graphic entities, and geometric entity selection classes. These classes have the most basic CAD system Geometric modeling and graphic display functions.
* Execute Automata FSEA (FINITE STATE EXECUTION Automat) Execute Automata is a system's execution engine, which is a limited state automaton, from the event of an event transferred by the interactive service, transferring a node from the system status space to a status Another node of space, the process of automatological state transition is also the process of running the CAD system.
* Interactive Services Interactive Server is a system's dialog engine containing all resources that implement user interfaces, including system running graphics interactive environments, interface repository, interface definition macro language interpreter. Graphical interactive environment The user can define the macro language to control the layout of the graphical interface, and customize the appearance and function of the interface element.
* Database Management This is the system's data management and access engine, providing access and access operation support for permanent data in the CAD database, including consistency protection, sharing, and concurrent access control.
* Data Translation As an open system model, providing support for data openness is required. The data converter in the model provides conversion function in the internal data format of this system and other CAD system data. This conversion There are two interfaces outside: one is an industrial standard interface. The internal data is converted into data format in accordance with the industrial standard; the other is the direct conversion interface, and the internal data is converted into a specific CAD. The data format of the system.
3.3 Application Components
The core of the CAD system provides a prototype and system integration framework for applying CAD systems. It is a universal support platform, but it is far from a practical CAD system, which is integrated only when it will be integrated with application components developed according to a particular application domain demand. When the support platform is constituted. Application components can form a mechanical design CAD system, architectural design CAD system for any CAD application, such as mechanical, construction, and they insert into the support platform.
The integration of application components and CAD core systems is shown in Figure 6.
The application component is not directly connected to the application bus (also known as Broker), but is indirectly connected to the bus through a software agent (Agent). The role of the agent is, on the one hand, the complex communication process of the agent application component, make the application component More focused on the implementation of the function; on the other hand, it will convert the heterogeneous data inside the components of different application requirements to the same data to ensure the unity of communication languages on the Broker. 3.4 Component Structure Support for System Openness
The component structure is an object-oriented structure inheritance and extension, which has all the advantages of an object-oriented structure. At the same time, in this model, the component is a good functional component, which has an uniform interface, communication between the components by the bus Unified agents, reduce the interdependence between components. Software developers can easily define and construct new plug-and-play components to expand the system. Taking commands as an example, if you want to add new on the basis of the system's existing command components Command components, as long as they define their respective status, insert the system, execute the system, execute the automatic execution as the execution of internal commands. Application components is easier, and even dynamically loaded during system operation. And uninstalling the component structure in the .cad system model, greatly increasing the openness and expandability of the system function.
4 Conclusion
The GHCAD series software is the main product of China's CAD application project. He has won the "eight-five" national science and technology research. With data-centric system model, GHCAD3.0 is a successful open CAD support system that performs centered, to GHMDS1.0, its system model is more close to object-oriented system model, GHMDS2.0 design The concept of Broker has been used, and GHMDS 4.0 is being developed is the component-based two-level bus structure proposed in this paper.
Practice has proved that the system model of CAD plays a vital role in the construction of the CAD system. The component-based CAD system model proposed, increasing the flexibility of the system structure, improves the module internal degrees, and reduces the module room. The coupling degree makes the difficulty of application development, and the maintenanceability and reusability of the system have further enhanced the openness, integration and efficiency of the system.