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.
In the past years, development and production processes in many companies have changed in a revolutionary way, leading to new demands in information and CAx technology. The R&D-departments of the German automotive industry installed a working group to develop a common long term CAD/CAM strategy1. A preliminary result is the concept for an open CAx system architecture as a basis for realizing industrial requirements on CAD/ CAM and for the cooperation with system vendors. The project ANICA was started in cooperation with five international CAD/CAM -suppliers in order to show the feasibility of this architecture. The access interfaces of different system kernels are analysed with the aim of developing a concept for a cooperating CAx system network. The concept will be put into practice with a software prototype basing on CORBA and OLE. The communication elements within such an architecture have to go far beyond conventional CAD data. This will lead to an extension of "feature" concepts including CAx functionality and dynamic information about the process chain of a product. The impact on modern concepts for user interfaces, on reverse engineering methods and on product data models will be discussed to finally close the loop to industrial CAx application.
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.