Today, the worlds and terminologies of mechanical engineering and software engineering coexist, but they do not always work together seamlessly. Both worlds have developed their own separate formal vocabulary for expressing their concepts as well as for capturing and communicating their respective domain knowledge. But, these two vocabularies are not unified, interwoven, or at least interconnected in a reasonable manner. Thus, the subject of this paper is a comparison of the vocabularies of the two fields, namely feature technology from the area of mechanical engineering and software design patterns from the software engineering domain. Therefore, a certain amount of definitions, history, examples, etc. is presented for features as well as for design patterns. After this, an analysis is carried out to identify analogies and differences. The main intention of this paper is to inform both worlds - mechanical and software engineering - about the other side's terminology and to start a discussion about potential mutual benefits and possibilities to bridge the gap between these two worlds, e.g. to improve the manageability of CAx product development processes.
On the one hand, in the world of Product Data Technology (PDT), the ISO standard STEP (STandard for the Exchange of Product model data) gains more and more importance. STEP includes the information model specification language EXPRESS and its graphical notation EXPRESS-G. On the other hand, in the Software Engineering world in general, mainly other modelling languages are in use - particularly the Unified Modeling Language (UML), recently adopted to become a standard by the Object Management Group, will probably achieve broad acceptance. Despite a strong interconnection of PDT with the Software Engineering area, there is a lack of bridging elements concerning the modelling language level. This paper introduces a mapping between EXPRESS-G and UML in order to define a linking bridge and bring the best of both worlds together. Hereby the feasibility of a mapping is shown with representative examples; several problematic cases are discussed as well as possible solutions presented.
Interoperability between different CAx systems involved in the development process of cars is presently one of the most critical issues in the automotive industry. None of the existing CAx systems meets all requirements of the very complex process network of the lifecycle of a car. With this background, industrial engineers have to use various CAx systems to get an optimal support for their daily work. Today, the communication between different CAx systems is done via data files using special direct converters or neutral system independent standards like IGES, VDAFS, and recently STEP, the international standard for product data description. To reduce the dependency on individual CAx s ystem vendors, the German automotive industry developed an open CAx system architecture based on STEP as guiding principle for CAx system development. The central component of this architecture is a common, system-independent access interface to CAx functions and data of all involved CAx systems, which is under development in the project ANICA. Within this project, a CAx object bus has been developed based on a STEP data description using CORBA as an integration platform. This new approach allows a transparent access to data and functions of the integrated CAx systems without file-based data exchange. The product development process with various CAx systems concerns objects from different CAx systems. Thus, mechanisms are needed to handle the persistent storage of the CAx objects distributed over the CAx object bus to give the developing engineers a consistent view of the data model of their product. The following paper discusses several possibilities to guarantee consistent data management and storage of distributed CAx models. One of the most promising approaches is the enhancement of the CAx object bus by a STEP-based object-oriented data server to realise a central data management.
The increasing parallelisation of development processes as well as the ongoing trends towards virtual product development and outsourcing of development activities strengthen the need for 3D co-operative design via communication networks. Regarding the field of CAx, none of the existing systems meets all the requirements of very complex process chain. This leads to a tremendous need for the integration of heterogeneous CAx systems. Therefore, MACAO, a platform-independent client for a distributed CAx component system, the so-called ANICA CAx object bus, is presented. The MACAO client is able to access objects and functions provided by different CAx servers distributed over a communication network. Thus, MACAO is a new solution for engineering design and visualisation in shared distributed virtual environments. This paper describes the underlying concepts, the actual prototype implementation, as well as possible application scenarios in the area of co-operative design and visualisation.