Product Data Management and Software Data Management Integration Annita Persson Dahlqvist Ericsson AB, Mölndal and Mälardalens University, Västerås 1 Introduction Today, many products, e.g. a car, an aircraft, and a microwave own, are being developed by means of different technologies based on both hardware and software. Although, many of these products, function as one monolithic entity, are complex since they consist of thousands of parts and components. Two things are crucial for the proper functioning of a product: management of its complexity and the provision of support during its entire life. The more complex the product is, the more complex are the procedures for its development and support during its life. The fact is, that practically all products include software. The consequence is, that there is no pure hardware development; even the companies that develop hardware products must consider development of software. Consequently, for their development there is a need for a support for hardware and software development. Traditionally, hardware development has been separated from software development. The development processes have been separated and different tools have been used to support these processes. Software development has been clearly separated from development of hardware parts and they have not been integrated before the start of system verification. Today this border between hardware and software begins to vanish. The final product is a result of tight integration of hardware and software components and the decision whether a specific function should be implemented in hardware or software may come late in the project and may even change during the products life cycle. When the border become vague it is no longer possible to keep the development organizations separated and to use different life cycle processes, but they should be integrated. However, the requirements for such integration points out a number of problems: process adjustments, information exchange, access and flow, infrastructure support, tool integration, cultural differences, etc. To integrate the processes and the tools have been difficult problems and challenges for many companies [2]. A lot of documentation is produced when a product is developed. Traditionally, text documents and drawings have been archived on paper. It was often a cumbersome task to find a drawing, and even difficult to tell if the drawing was the most recent issue or not. As computer technology has evolved, more and more product data has been created in digital form, making it possible to store documents in databases easily accessible by everyone. Together with documents metadata such as information about when the document was created, who created it, when last change was done was stored. Computer systems managing product data are called Product Data Management (PDM) systems. PDM is an engineering discipline including different methods, standards, and tools. It (i) manages the data related to products, (ii) supports procedures during the product lifecycle, and (iii) deals with the development and production infrastructure [1],[2],[14], [19]. Traditionally PDM deals with hardware components only. 1(27) 2016-03-06 The software development phase is characterized by collaboration and coordination of many developers. Software Configuration Management (SCM) manages this type of complexity. The scope of SCM is to (i) keep track of all the files and modules constituting the product, (ii) manage all the changes made to these items during their entire life, and (iii) manages all documentation related to the product [1], [2], [14], [22], [23]. The Software Engineering area covers also the sub-discipline SCM [25, 26, 27]. SCM is a part of the entire life cycle and is a very broad area with respect to the means of how to achieve its goals, including everything from methods and processes to file access. SCM has been considered more and more important due to several reasons. One reason is the influence of the wellknown SEI Capability Maturity Model (CMM) [30], which has pointed out SCM as an important key process to achieve level 2 out of 5 levels. Another fact is that software is becoming larger and more complex and needs the support from SCM, especially in the situation where shorter time-to-market requires incremental and concurrent development with geographically dispersed developers with increasing demand on SCM [31]. On the system level, where hardware and software components are integrated, the goal is to control the product development process for the entire product [1],[2]. To effectively manage a complex system on the system level, adjustments of all included processes are needed [4],[14]. Several roles, such as Project Manager, System Engineers, Integration and verification team, and Configuration Mangers, are all demanding to follow up the product’s development on a system level. Some years ago, we have been working on a technical integration between the PDM system Metaphase (recently name changed to Teamcenter) and the SCM system ClearCase. This work was done for the Corporate IT organization at Ericsson AB [15]. Many fruitful observations and lessons learned came out of this work [11]. Main reasons for not being successful in the integration were focus on tools and technology only. 2 Research Objectives 2.1 Industrial problems Since PDM and SCM systems have evolved in different development domains and have various degree of maturity, they have been developed on different technologies fulfilling the domains functionality demands and processes. The tools in respective area are completely different from a technical point of view. Consequently, product information in one system, either the PDM or the SCM, has to manually be introduced into the other system, a cumbersome and not efficient process. The risks with this time consuming manual transferring of data, is either the data is incidentally wrongly introduced or never done. Hardware developers organized separately from software developers characterize today’s development. In their daily work e.g. a hardware developer do not understand what a software developer is doing. It is not unusual to here comments such as –“what are you doing? You are not doing anything more than burning a CD”. On the other hand, a software developer does not see the development done by hardware developers as some kind of documents, not a real product. Main obstacle starts when a hardware developer has to design a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), which also include software but managed as a hardware component. 2(27) 2016-03-06 During the product development, there is a need of following-up the product from a system level. In companies the follow-up has to be done on lower levels, e.g. sub product levels. This is managed by reiteration of manually merging information from different subsystems/sub-products into a common system/project report. Project managers, configuration managers, system engineers, integration and verification team and other roles are spending unnecessary time and effort on searching for information in PDM and SCM systems to get a full picture of the product’s development status. During the maintenance phase, an error may occur. To find the right sub-product, where the problem is situated, creates a time consuming search for the source of the product. The maintenance team has to have knowledge about different kinds of tools to find the course of the problem to change. The question is: How to achieve an efficient support for product lifecycle processes by means of using the most appropriate tools and a seamless interoperability between them? 2.2 Hypothesis and Research Questions Following hypothesis has been formulated: For an efficient development and maintenance of modern products, an efficient interoperability between PDM and SCM functions must be achieved. To justify the hypothesis we state the following research questions: Is it possible to use PDM for system development including software development? (Is PDM sufficient?) It is possible to use SCM for system development including product management? (Is SCM sufficient?) To answer these questions we state the following questions: What are the similarities and differences between PDM and SCM? Is integration between PDM and SCM necessary to achieve an efficient support? 2.3 The Research Methods The aim of answering the research questions will be reached by performing following steps, (1) analysis of differences between PDM and SCM and their support of managing hardware or software. The analysis is based on theoretical reasoning, and literature study. Next step will be to perform case studies (2) of how PDM and SCM is used in different industrial domains, e.g. at Sun Microsystems Inc, Mentor Graphics Corporation, and Ericsson AB. The feasibility of the interoperability between PDM and SCM is validated in industrial case studies. 3 State of Practice Historically, PDM and SCM have been two separate domains with their own tools. Following sections describe the basic functionality the two domains and tools consist of. 3(27) 2016-03-06 3.1 PDM Functionality PDM systems have been developed to manage large volumes of information created in modern design environments more effectively and to meet demands for faster development of more complex products. PDM is mostly end-user driven, e.g. customers demand their vendors to introduce certain functionality. One definition of PDM among a number of different definitions with the same meaning is: PDM is the discipline of controlling the evolution of a product and providing other procedures and tools with the accurate product information at the right time in the right format during the entire product life cycle. PDM is supporting processes, such as development, manufacturing, marketing, sales, purchasing, and extended enterprises. Even though much of the information in the PDM system is created during the design, other people with different roles use and create information during other phases. In the context of today’s PDM vision, a PDM system is more accurately described as an information infrastructure providing users with support in performing their tasks by means of the different functional models that it incorporates and by means of the other integrated software systems. 3.1.1 Basic Functionality The functionality of PDM systems is often divided into two categories: user functions and utility functions. Different types of users may work with different subset of these functions. A user may be a consumer (viewing information) or a producer (creating information). User functions can be divided into five categories: Data vault and document management; Workflow and process management; Product structure management; Classification management; Program management. Utility functions provide an interface between different operating environments and encapsulate their complexity to the users. Utility functions can be divided into five categories: Communications and notification; Data transport and translation; Image services; Administration; Application integration. 3.1.1.1 Data vault and document management PDM systems contains of central locations, vaults, used in the control of all types of product information. Data vaults are either physical locations in the file system (any kind of folder or directory) or databases. Two types of data are stored in data vaults; (i) product data generated by various applications stored in the database or in the file system, and (ii) metadata which describes properties of the product data. Users have access authorities to one or several data vaults, where they can check in documents and control the alteration of the document. To modify a data item, the user checks out to a local work location – a personal physical file location. Any change to the document here will not be visible to other users until it has been checked in again. Check-in and check-out functions provide secure storage and access control to data stored in the data vaults. All members of the project team are provided with access to the work in process (WIP) vault, the vault for the not released information, see figure 1. When the document has passed the approval process, it will be submitted and stored in the release vault, a file location where the users have only read 4(27) 2016-03-06 access. The approval process automatically stores information in the release vault to which only the PDM system has write access. WIP Vault Release Vault Submit Check in Work location Check out Revise Figure 1 Example of data vault usage The main objectives for document management functions in PDM systems are such as to provide a structure for storage, selection, and retrieval of information. 3.1.1.2 Workflow and process management Workflow management is a critical part in the product definition life cycle to ensure that the right information is available to the correct users at the proper time. It includes defining the steps in the process, the rules and activities associated with the steps, the rules for approval of each step, and the assignment of users to provide approval support. PDM workflow management provides the mechanisms for modeling and managing defined processes automatically. See figure 2 for an example of a workflow for change approval. ! WIP vault Work order Designer Manufacturing engineering Release vault Configuration control Change review board Production and inventory control Figure 2 Example of a workflow for change approval 3.1.1.3 Product structure management When designing a complex product, the management of its component part is as important as the management of the documents that describes the product. A product structure comprises components, the externally visible properties of those components, and the relationships between them. A product structure most often forms a hierarchy of assemblies and components. An assembly consists of other assemblies and/or components. A component is the lowest level of the structure. The product structures are used by different kinds of people, designers to “fill” the structure with the design itself, the purchaser to identify components to purchase, and the manufacturing to collect all objects and information for 5(27) 2016-03-06 building the final product. Manufacturing is using the bill of material (BOM). See figure 3 for an example of a quantitative BOM of a bicycle. Bicycle 1 Handlebars 2 1 2 Pedal Frame 1 Tire 1 Wheels 32 Spoke Saddle 1 Hub Figure 3 Quantitative BOM of a bicycle 3.1.1.4 Classification management Classification management is the classification of standard components in a uniform way. To support reuse of standard components, the components are classified and information about them is stored in the PDM system as common attributes. These attributes are used for querying and retrieval of standard components, items, or objects. 3.1.1.5 Program management The support for project management provided by PDM systems involves standard functions such as definition of work breakdown structures, resource allocation, and project tracking. Today, most PDM systems are integrated with specialized project management tools. Effective support is then provided with the possibility of relating product and project data with each other. 3.1.1.6 Communications and notification As part of the implementation of workflow support, notifications can be automatically sent to the users. Each user can decide to which types of notification he or she wishes to subscribe. Electronic mail is often used as the medium for notification. 3.1.1.7 Data transport and translation In a PDM system, predefined translators can e used for converting data from one application for use in another and for displaying information. Events can trigger automatic data translation from one application format to another. 3.1.1.8 Image services Images can be stored and accessed as any other data in the PDM systems. Visualization tools can be integrated with the PDM system to support collaborative work by making it possible for all users to view images independently if the user has the original tool from where the information was generated. 3.1.1.9 System Administration System administration is more complicated and contains more tasks for PDM systems than for other computer systems. The system administration functions include installation and maintenance, role management, workflow definition, operational parameters, system performance monitoring, database and network configuration, access and change permissions, user authorizations, setting up new projects and authorization of project team members, approval procedures, data backup and security, database migrations to later versions, customization, and data archival. 6(27) 2016-03-06 3.1.1.10 Application integration Integrations range from the less complex, such as that with text editors, to tight integrations as with computer-aided design (CAD)/computer-aided manufacturing (CAM) and Enterprise resource planning (ERP) systems. These more complex and tight integrations is often the most difficult to achieve. 3.1.2 Information architecture 3.1.2.1 Data representation The information in a PDM system is structured to follow an object-oriented product information model. Objects are two different kinds: business items and data items. Objects used to represent parts, assemblies, and documents are designated business items. A business item contains attributes and metadata, which define the properties of the item. An attribute has a name and one or several values. A PDM system also manages files. A file is represented in the database as a data item. The metadata is separated from the content or actual data (file). This is to enable replication of metadata without necessarily replicating the file. A data item can be reused from several business items. A business item can have a relationship with several data items, not supported in a standard file system. Figure 4 illustrates the data representation of documents. The Cylinder consists of two different documents, the CAD model and the specification, represented by a business item each with different metadata. The actual document or file is represented by the data item and is related to the business item, e.g. the Specification Large can have the file Spec_can.doc related to it. Part Cylinder large 4444 Rev3 Specification Spec. Large can CAD model Large can 1213 Rev4 Documents (As business items) 1321 Rev2 Spec_can.doc Can_large.doc Documents (As data items) Figure 4. Data Representation of documents 3.1.2.2 Information model A database system implements an information model. The PDM information model describes the types of objects, relationships, and relationships between them. This information model can be changed to better suit the needs of a particular business solution in a company. 3.1.2.3 Version management In PDM systems, the versions of business items are called revisions and are organized in sequential series see figure 5. The business item contains metadata, denoted attributes. PDM supports customized attributes. Major changes of business items are tracked by revisions manually transformed by the user. Different revisions of a business item are connected by a relationship, the revision-of relationship. A PDM system may contain many other relationships, which may have one or more attributes. If a data item is changed, it may be checked in and out several times without creating a new revision. Versions are used to manage the sequence of data items but are usually not visible to the users. Only one user at a time can update a file, i.e. there is no support for concurrent engineering. 7(27) 2016-03-06 1 Attribute Versions 2 Revisions Attribute File (Data Item) Attribute Attributes Relationship Object (Business Item) Figure 5. Version Management in PDM 3.1.3 System architecture Figure 6 depicts a PDMM system containing both a metadata database and data items managed by the system but stored in an ordinary file system. Example of metadata in one cell in the table Metadata table Project: Mobile Phone Object: Document Date: 03-04-24 Revision: B Document #: 1056-ABC File: h:\PDM\doc\desc.doc Application: MS-Word 6.0 The file: desc.doc Metadata Database Managed files in file systems PDM System Clients Figure 6. A PDM system with data vaults 3.1.3.1 PDM database A PDM system uses a database to store data in a structured way. A database offers a query language, which is used to make queries to the database to extract information. As shown in figure 6, a PDM system manages metadata and file data, where the metadata is 8(27) 2016-03-06 stored in the database, and file data is stored in the PDM-controlled file locations. Metadata is used to support functions, such as search for information. 3.1.3.2 Data replication in a distributed environment In the PDM system only metadata or metadata and the files are replicated to other sites as illustrated in figure 7. A typical PDM tool has a master server, often denoted corporate server. This server contains common information such as access rights for other servers, and locations of them in the network. Irrespective of where in the network the file is located, it is locked when it is updated. A distributed lock mechanism controlled by the master server prevents the checkout of a file by two users at the same time. Such solution does not permit full parallel development, a strategy commonly used in software development. Data A Da ta C Metadata Lo cal server Metadata Metadata Replicatio n Site A Metadata Repli cation Loca l server Site C Metad ata Metadata Replication Corpor ate Se rve r Data B Da ta D Metadata Local se rve r Site B Metadata Loca l server Site D Figure 7 Server replication in a typical PDM environment. 3.2 SCM Functionality SCM is a software engineering discipline for the control and management of the control and the synchronization of the work of the different developers engaged in a project. SCM provides support during the entire development life cycle of a product. Although SCM is of use in all phases of a product life cycle, most SCM activities are concentrated during the development phase, when the program code is actually produced. SCM is designed for use in software development, and it mainly supports functions required specifically by software. The definition of SCM is: Configuration management is the art of identifying, organizing, and controlling modifications to the software being built by a programming team. [71] 3.2.3 Basic Functions 3.2.3.1 Version Management Versions in SCM form a graphical structure (see Figure 8). 9(27) 2016-03-06 Attributes Versions Attribute 1 Attribute 2 Branch 2.1 Attribute Label1 Label2 3 2.2 4 Relationship 5 Merge Labels Label3 File Figure 8 Version management in SCM SCM provides support for concurrent engineering: several versions of a file can be developed simultaneously in branches, which may be merged together again if needed. Each time a file is checked out and in, a new version is created. This corresponds to a version in PDM. In SCM, however, versions are visible to the users and are used frequently. A version of a file can be marked with attributes. Versions are often marked using a special attribute called tag or label. Labels almost correspond to revisions in PDM. In SCM there is no support for relationships. Because software developers usually work on the same file at the same time, the branch and merge mechanism is very important. 3.2.3.2 Workspace Management Workspace management makes it possible for developers to work transparently with respect to SCM. When developers are focused on solving particular problems and have less interest in administrative tasks, a workspace functions as a sandbox in which they can work in isolation, remaining under the control of the SCM tool. Versions of files are checked out and temporarily stored in the workspace, with a mapping remaining between the versioned objects in the repository and the user files and directories in the workspace. Often all files needed in the build or test procedures are checked out. Thus, the workspace also makes it possible for the checked out in to the common repository to maintain a certain degree of quality. When several developers are working concurrently in their private workspaces, control is needed between the different copies of the same object. 3.2.3.3 Configuration Selection A file can include a number of versions, and the one that should be used in a given situation is not always obvious. In every-day work during development, a developer usually wishes to have latest revisions of the files being changed from a particular branch. For other unchanged files, the developer typically wants an older, stable version. A set of particular file versions, particular versions of Configuration Items (CIs), is designated a configuration. 3.2.3.4 Build Management Build management supports the user in building the product or part of the product. Build tools such as Make [20] are used to create the product automatically. The correct files are first collected for a particular build, and are then compiled and linked in the correct order. Make describes the dependencies between source code files at build time and ensures that the dependent source code is built in the correct order. 10(27) 2016-03-06 3.2.3.5 Concurrent Development One major advantage of using a SCM system it that it enables teams to work concurrently on a single object. Different developers may be working concurrently on the same files, correcting different errors, or one developer may be working in the latest release while another is correcting an error in a previous release. The SCM system makes this possible by providing a selection of versions building specific configurations for different needs, and a model for synchronization of concurrent changes. 3.2.3.6 Distributed Development The SCM environment replicates the total file including the metadata. SCM tools, the servers replicate data between two nodes, using a peer-to-peer protocol. Any structures of servers can be built by connecting servers to each other. An example with four servers is depicted in figure 9. These examples show that the PDM mechanism is not appropriate for distributed software development. Similar is valid for SCM tools: in cases in which metadata is more often manipulated the SCM solution is not the most appropriate. Repo sitory Repo sitory Loca l server Local server Site A Site C Re plicatio n Replicati on Replication Repository Repositor y Lo cal server Local se rve r Site B Site D Figure 9 Server replication in a typical SCM environment 3.3 Processes To be aware of an entire life of a product, we must understand all of the processes involved in the product’s development and operation, and all activities of people involved in the processes. A product’s life cycle model is divided into several life cycle phases. Independent of the product type, we can define six generic phases [24] (see figure 10): (i) the business idea of the product including assessment of the market and technology, (ii) requirements management phase focuses on further identification of requirements, analyze and specification, (iii) development includes design and implementation of all artefacts needed for production where hardware products consists of documents and prototyping, and software development phase complete with the product itself, (iv) the production phase is completely different for hardware and software products. For a pure software product, this phase is automated to a high degree ad has a low production cost. For a product with hardware elements, this phase is demanding and costly, (v) in the operation and maintenance phase consumers use the product, and the final phase is (vi) the disposal depending on the product. Business Idea Requirements Development Management Production Operation and Maintenance Figure 10: Generic product lifecycle 11(27) 2016-03-06 Disposal Generic product lifecycles can be implemented in different ways, differences in the cases of software and hardware products. A generic process from Ulrich and Eppinger [24] can describe the main steps of pure hardware development. The process contains of six steps (see figure 11 lower part). The (i) detailed requirements management closely connected to the (ii) conceptual development in which product concepts are generated precedes the development phase. At the (iii) system-level design the architecture is decided including subsystems and components. The components are further designed during the (iv) detailed design. During the development phases the developers are using different tools, e.g. Computer-Aided-Design (CAD) tools for drawings and models. (v) Testing and refinement includes the building of product prototypes to test the product and production system, the most costly part of the phases. During (vi) production ramp up, the production system is used for serial production of the product, beginning at a low rate but then increasing to full production. The software development process consists of similar phases [25] see figure 11 upper part. The model includes the phases: (i) requirements analyze documented in a requirement specification used as an input to (ii) overall design where the system architecture is designed, components and their interfaces identified and to the detailed design where component implementations are specified. In the (iii) implementation phase, developers follow the design documentation and implement the system. During the development phase, the developers are using different tools such as compilers, linkers, and SCM systems for managing the amount of files and versions. In the (iv) integration and test phase the integrators build the systems from components and tested. During this phase the SCM system is useful for building the system. The final phase is release where the product is packaged in an appropriated form for delivery and installation all done by the developers. There are many different models that define different software processes, e.g. the Unified Process [9] which is divided into a number of incremental stages in which the product is built progressively Software Development Detailed Design Requirements Implementation Integration and Test Release Generic product lifecycle Business Idea Requirements Management Detailed Conceptual Requirements Development Development System-Level Design Production Detailed Design Operation and Maintenance Testing and Refinement Disposal Production Ramp-Up Hardware Development Figure 11: Software and hardware development processes 12(27) 2016-03-06 3.4 People and Cultural behaviours The cultural differences between hardware and software development groups play a much more important role than visible when building integration between PDM and SCM. First of all, both domains are huge using completely different tools. Secondly, users from the different domains do not have knowledge about the other domain. Low communication between the domains causes poor understanding of each other’s problems and requirements. Thirdly, users from both domains believe that the system they use can manage all situations from the other domain [2], [11]. Fourthly, PDM and SCM users are often located at different departments within the company. Their geographical separation can increase the gap in their understanding of the other group. Fifthly, the hardware designer uses a lot of documents to describe the product. These documents are transferred to the production and manufacturing part used of another person to produce the actual product. Hence, the hardware designer focuses on documents. The software designer writes a lot of source code. The designer then generates the actual product, the load modules, with no other person involved. Hence, the software designers focus on source code more than documents and have small understanding of the importance of writing documents. 3.4.1 Standards Standards and de facto standards vary considerably, in their scope, in their purpose, in the formality of their acceptance, their use, etc. With respect to PDM and SCM systems we can classify standards as those used for information exchange in its broadest meaning, or standards, which specify processes in particular, domains. Further, there are standards, which are applicable to SCM only or to PDM only, or standards, which are valid for both PDM and SCM and, in many cases, for other domains. Several CM standards were acquired by SCM. Finally, there are standards which can be directly implemented by software (typically the implementation of particular protocols or the management of particular data formats), and standards which involve human activities and can possibly be supported, but not automated, by tools (usually process-related standards). PDM and SCM systems usually consist of several tools that exchange data. As these tools have neither common data nor a common information model and exchange of information is one of the major problems in their use. For PDM there exist standards as ISO 10300 STEP [13], and relating standards as ANSI/EIA-649 [10] Non-consensus Standards for CM. Although PDM uses many standards, there are no standards that are exclusively intended for PDM systems. Many standards are closely related to PDM and originate from PDM-related requirements. No explicit standards exist for SCM except related standards for CM such as ISO 10007 Guide Line for Configuration Management [12], IEEE STD 1042—1987 Guide to Software Configuration Management [6] and IEEE STD 828-1998 Standard for Software Configuration Management Plans [7]. There are different standards and models for different Product Life Cycle Management (PLCs). Some standards addresses the life cycles of systems closely related to PDM and SCM, e.g. ISO/IEC FDIS 15288 Systems Engineering – System Life Cycle Processes [8]. For integration purposes no standards exist today. 3.5 Key Players The PDM domain from a tool perspective is divided into several sub-domains depending on type of industry. Some vendors divide the end-users into areas where the companies are situated, such as Aerospace and Defense, Automotive Supplier, Consumer and Packaged products, and High tech Electronics. The key industrial players are different depending on sub-domain, e.g. key industrial player in car-manufacturing industry is Ford, in Aerospace and Defense the aircraft manufacturers Boeing, Lockheed Martin, and BAE Systems. In the High tech Electronics sub-domain key players are such as Ericsson AB [15], Motorola [65], OKI Electric [66], and Seagate [67]. The market leading tools are such as Teamcenter [48], Matrix PLM Platform [49], Enovia Solutions [51], and Windchill PDMLink [50]. 13(27) 2016-03-06 Key industrial players in the SCM areas are telecom industry and other companies developing and selling software products or complex products. The SCM tools list is increasing rapidly. More than 50 commercial tools exist, such as AllFusion Harvest Change Manager [54], IBM Rational ClearCase [55], CM Synergy [56], Serena Dimensions, Serena Professional [57], and Microsoft Visual Source Safe [58]. In addition to commercial tools, there are a large number of free SCM tools. It is interesting to note that two SCM tools dominate in free software market: RCS [59], and CVS [60]. Since the border between hardware and software development are vanishing, carmanufactures, aircraft manufacturers, and telecom sees the benefit from integrating both areas and tools. Key players from the industry in integrating PDM and SCM are Ericsson AB, and Motorola. 4 State of the Art 4.1 PDM Conferences, Leading Research Groups, and Organizations When it comes to PDM the European key conference is the Product Data Technology (PDT) Europe conference where researcher, practitioner, and vendor meet. This conferences focus mostly on PDM and related areas. Another newly started-up group is the Product Life Cycle Interest Group (PLMIG [53]). The interest group is open to all individuals and organizations that are serious about improving the use and development of Product Lifecycle Management (PLM). The Group officially started operating on January 1, 2004. There are several PDM resources on the Internet such as CimData [44], Object Management Group (OMG) [45], John Stark Associates [46], CADCAMnet [47], and Product Data Management Information Center (PDMIC) [52] CIMdata [44] is a company providing PLM consultation and program support, research, and education for both industrial organizations and supplier of technologies. The CIMdata Web page includes references to many articles, PDM and PLM vendors, standards, and similar. It also contains a list of interesting magazines and periodicals. CIMdata also organizes conferences or sponsor conferences in the United States and Europe on topics related to PDM. The OMG [45] is an open membership, not-for-profit consortium that produces and maintains computer industry specifications for interoperable enterprise applications. The membership includes virtually every large company in the computer industry, and hundreds of smaller ones. Most of the companies that shape enterprise and Internet computing today are represented on the Board of Directors. The flagship specification is the multi-platform Model Driven Architecture (MDA), recently underway but already well known in the industry. It is based on the modeling specifications the MOF, the UML, XMI, and CWM. OMG's own middleware platform is CORBA, which includes the Interface Definition Language OMG IDL, and protocol IIOP. The Object Management Architecture (OMA) defines standard services that will carry over into MDA work shortly. The John Stark Associates Company [46] makes available a number of references to introductions to PDM, PDM frequency asked questions (FAQs), PDM implementations, PDM performance reviews, PDM systems, and PDM publications. The Web page also includes references to PLM, CAD management, collaborative product development, collaborative engineering, product development knowledge management, and similar. The company publishes an electronic publication, 2PLM e-zine, every 2 weeks with the latest news related to all these areas. Although the main focus of the CADCAMnet [47] resource is on the CAD/CAM domain, they include a PDM page with many articles of current interest. The PDMIC [52] is an organization assembling relevant information and assisting in the development and evolution of the PDM industry. The ambition of PDMIC is to concentrate all information relating PDM in one place. This includes information about the latest PDM 14(27) 2016-03-06 products and technologies and about trends in PDM and related domains. It contains many articles, both introductory and advanced, within the PDM domain. PDM as a research field is not yet fully consistent. There are no unifying theories and the definitions are sometimes vague. This may be because the scope of PDM is wider than that of many other research areas. Research in the field of PDM has a wide scope and has to cover more areas than information systems and data management methods only. New trends within PDM are to open up for managing the whole product irrespective if it consists of component developed of hardware or software. The new enhanced view is reflecting the management of the product life cycle (PLM). PLM is an approach to drive product and process innovation and improvement [72]. Lindberg [28] defined the area of technical information systems, where a definition for PDM systems was presented. This subject of interest earlier sorted under other areas. The research in the area of computer-integrated manufacturing (CIM) shares many of its visions for management of product information with the PDM area. The issue is also of interest in books for CAD/CAM [32]. The first academic paper, known to the author, that explicitly mentions PDM was presented by Cornelissen [33] at ICED-93, who describes a method for supporting application of information technology architecture for given business situations. Johansson, G. [34] studied the effects of PDM on product development. Some specific improvements such as better search capabilities and improved project management control are pointed out and some useful advice for a PDM introduction project is also given. Recently research in PDM is utilized in fractions of the total domain. How data is represented and structured is an important issue. To be able to discuss these matters, theories for the structuring of products are needed. At Chalmers University of Technology, they focus mostly on the Product Modeling and Engineering Change Management part of PDM. In [19] they conclude modeling of information management systems is crucial for systems supporting product development, i.e. managing the information model describing the product itself. There are different demands for both decomposition of the product structure and the functionality of the information systems used resulting in the domains using several different information systems. Keeping the product structures updated and using workflow support for the engineering change management process is difficult when more than one information system is used. 4.2 SCM Conferences, Leading Research Groups, and Organizations Key conferences for SCM is the workshop Software/System Configuration Management. The goal for the SCM workshop is to provide discussion forum for practitioner, vendors, and researcher. Practitioner reports about the SCM systems they use, either commercial or inhouse built, vendors discuss new ideas and features, and researchers have the opportunity to discuss their approaches and aspects on theory and practice. The Euromicro is an international scientific, engineering and educational organization dedicated to advancing the arts, sciences and applications of Information Technology. Euromicro has been devoted to promoting, discussing, disseminating knowledge, information and skills, in academia, industry, government and in education. A major focus is to organize conferences and workshops in Computer Science and Computer Engineering, covering topics such as realtime systems, parallel and distributed processing, multimedia, robotics, telecommunications, software engineering, computer architecture and hardware. It publishes the Journal of Systems Architecture (JSA). There are several SCM resources on the Internet such as CM Yellow Page [61], CM II Users Groups [62], and FAQs relating to CM [63]. A good starting point when exploring SCM is the CM Yellow Page site. The page includes a number of white papers and technical papers relating to SCM, references to other SCM pages, an extensive list of commercial and noncommercial tools, future conferences and seminars, consultation and education, and job opportunities. 15(27) 2016-03-06 The CM II Users Groups has an excellent CM resource guide on-line page. This page includes a number of references to articles, reports, and proceedings, journals and newsletters, books,, conferences, providers of education/training, evaluation of PDM and software CM tools, copies of standards, lists of organizations, user groups and research groups, CM software vendors, standards, guidelines and position papers, and SCM Web sites. CM FAQs presents many questions in a wide range, from the very general to concrete, and gives concise and precise answers. The page also lists a number of SCM references, such as SCM books, and a list of SCM tools and vendors. Leading research groups in SCM are the Adele research group in Grenoble, France led by Jacky Estublier. The group is focusing on, among a number of different areas, federation of SCM systems, software processes, and component based software engineering. Another leading research group is led by R. Conradi at University of Science and Technology (NTNU) in Trondheim, Norway, with main focus on software quality and software process improvement, as well as process modeling/enactment, software architecture, configuration management, OO and reuse, and distributed systems. As the software industry continues to grow rapidly, producing larger and more complex software, the need for software management also grows. Only to mention academic research would be far too narrow, because corporate research had contributed a great deal of results and ideas. In fact, the SCM community owes much of its liveliness to a healthy and competitive mix of researchers and developers from both academia and industry. Configuration Management was first developed in the aerospace industry in the 1950s, when production of spacecraft experienced difficulties caused by inadequately documented engineering changes. SCM is CM tailored to systems, or portions of systems, that consist predominantly of software [35]. Originally, SCM duty was to manage the many files involved in a software product, their versions and the building of the system out of these files. Originally, each file was individually managed as a tree of versions (revisions and branches) following the SCCS [36] from Bell Labs and from Purdue University RCS [37] systems. Surprisingly, these systems are still at the core of almost all commercial SCM systems. SCM system managed configuration, which is a “consistent” collection of file versions. Only recently, with the advent of task-based approaches, versioning evolved again integrating change set features, but on an RCS based internal representation. As software systems have grown to include many thousands of components, keeping track of the pieces and how they fit together has become a difficult but critically important task. SCM systems accomplish this task with system modeling facilities. System modeling was originally used to help rebuild a system from source files (Make [38]), and even now, in most SCM systems, the makefile is the only “system model”. With so many components and versions, a configuration selection mechanism is needed to select which versions to include in a new configuration. A new configuration is built starting from a reference consistent configuration called a baseline. The baseline is “checked-out” in the file system (it is a work-space) on which are performed a few changes. Once tested, the modified baseline is “checked-in” as the new configuration. This simple schema is the base of almost all SCM systems, with extensions for concurrent engineering support. Work spaces are “naturally” independent directory hierarchies, therefore they can be used to provide areas where users can perform their job isolated (or insulated) from colleagues activities. 4.3 PDM and SCM Conferences, Leading Research Groups, and Organizations Conferences focuses on both domains, they are rare. The Asia-Pacific Software Engineering Conference is i.e. interested in product line management, and project management, a related domain. The Conference on Software Engineering, ICSE, is the premier software engineering conference, providing a forum for researchers, practitioners 16(27) 2016-03-06 and educators to present and discuss the most recent innovations, trends, experiences, and concerns in the field of software engineering. The Institute of International Research (IIR) [64] sets up now and then up conferences related to CM and to PDM and SCM. Leading research groups in integrating PDM and SCM are not many. The Adele group from France who is studying the federation of SCM systems, but could be federation of any kind of systems. The group at Machine Design Royal Institute of Technology, Stockholm Sweden, led by Martin Törngren has recently started up to study processes, tools and technology, and organizations. There are some conferences on software processes. The International Conference on Product Focused Software Process Improvement (PROFES) focus mainly on The International Conference on Software Process (ICSP) is mainly focused on software process improvement (SPI) motivated by product and service quality needs. The International Symposium on Empirical Software Engineering (ISESE) focuses on the processes, design and structure of empirical studies as well as the results of specific studies. These studies may vary from controlled experiments to field studies, from quantitative to qualitative studies. The conference track Software Process and Product Improvement (SPPI) concentrates on processes, methods, and tools improving software quality. Topics of interest include software process assessment and improvement, organizational and business views to process improvement, Process modeling, composition, and enactment, and cost/benefit optimization of product and process improvement. At the forefront seem to be the issues of unifying SCM and PDM, managing componentbased software development [22, 23], and understanding the relationship between SCM system models and software architecture [39, 40]. It is clear why these issues are currently being addressed: SCM no longer is a stand-alone discipline. The very first paper addressing interoperability is [5] concluding: (1) In product engineering, there is a clear distinction between the design, called product model or product data, and the corresponding real artifact (a bicycle for example). In software engineering, the source code is the model but a compiler transforms at almost no cost the design into the product, which is also a (set of) files. The software is both the model and the product. (2) The structure of the product, the nature of each component, the way two components fit together are highly constrained by the reality in PDM (a bicycle has 2 wheels). In Software Engineering (SE), all this almost arbitrary, software is an intellectual construction. Worse, in SE, the technologies and methods are evolving very fast; no one of today standards will survive more than a few years. Their overall conclusion is that an integration of today’s tools is not suitable due to too many differences in the concepts. It will require fundamental research and major experimentation. Conradi and Westfechtel conclude that many concepts are similar, but there are some differences concerning the objects to be managed [21]. As a consequence, some sophisticated features for modern SCM systems are not applicable in Engineering Data Management (EDM) systems, another name for PDM systems. They continue their conclusion with the necessity of cooperation between the domains to support the development of hybrid products consisting of both hardware and software components in a uniform way. In [41] J. Estublier et al. discuss how to provide a high level view where the application can be described, independently from the real tools specificities, and where the application behavior, services and properties can be described at that level of abstraction (process control, paradigm control, security and so on). They continue their discussion in providing a meta-model for interoperability between systems in [42], where they introduce a new approach to SCM in which the system is built from, potentially heterogeneous, existing pieces, with assembly mechanisms that enforce high-level properties. The approach does not provide a simple SCM tool, but a family of tools. Their experiment system shows that 17(27) 2016-03-06 very advanced and state of the art features easily could be included into the federated system. In [43] the M. Törngren et al. discuss that the important role of mechatronics is to bridge the gaps between related engineering sciences. 5 Current state of the project Following papers or technical reports have been written and presented: 18(27) The Association of the Swedish Engineering Industries [29] started a project 1995 to investigate the need and subjects of configuration management in order to inform and suggest good solutions for Swedish industries. The technical report Konfigurationshantering [68] (Configuration Management, CM) was done 1996 and contains a thorough description of CM. The report concludes it is very important for the industries to use CM or introduce CM due to customer demands not just on cheaper products, but on mature organizations and structured processes especially in software development. The Student was project manager, and chairman for this project and presenter at the conference. In 1998 next project, sponsored by the Association of the Swedish Engineering Industries [29], started up to investigate SCM in distributed development, inform Swedish industries about the concepts, and national and international trends. This was reported in Distribuerad utveckling och Configuration Management för programvarusystem [69]. The Student was project manager and chairman for this project and presenter at the conference. The domain descriptions, problem description, integration suggestions, and case studies in different companies between PDM and SCM have been studied in a project sponsored by Teknikföretagen [29] (former The Association of the Swedish Engineering Industries). The project delivered a technical report [1] introduced at a conference. We found that despite the fact that these two domains are growing and develop functionality that are more and more alike there are still important differences. The history of PDM and SCM and the users within in each domain uses different terminology and they have different requirements in the tools they use. This is different to the integration of CAD/CAM and PDM, where the cultures are very alike. To make integration possible the PDM and SCM users need a common terminology and information flow description to make communication possible. The study shows that PDM vendors have not focused on the support for software management. Similarly, SCM vendors have concentrated on support for software development only. In general there is a lack of knowledge of the combined disciplines, and research is needed to find out ways to integrate and interact. We have noticed a trend within both domains to understand the need for co-operation between PDM and SCM. For an integration to occur, however, vendors from both disciplines must co-operate. The Student was project manager, chairman for this project and presenter at the conference, and co-writer of the report. More work has been performed when writing and publishing a book regarding implementing and integrating PDM and SCM [2]. Two more case studies were performed, a study at Sun Microsystems Inc [17], and Mentor Graphics Corporation [18]. The Student was co-author on the book. 2016-03-06 19(27) The paper [70] discuss that the integration of development processes faces many problems partially because of different nature if the processes and the different approaches. This paper gives a brief overview of common characteristics of Software Configuration Management (SCM) and Product Data Management (PDM) and presents an analysis of a possible integration. It also presents an initiative by the Swedish industry to provide better understanding of SCM and PDM integration problems and to give directions for the possible integrations. In [11] we discuss the industry’s need of controlling the whole product development process including both hardware and software components. The integration of development processes meets many problems partially because of the different nature of the processes and partially because of the different approaches. A typical example of overlapping processes is Software Configuration Management (SCM) and Product Data Management (PDM). Both SCM and PDM try to solve similar problems but in different ways. To get a more efficient development process, the companies try to integrate PDM and SCM systems, which has not yet been very successful. This paper gives a brief overview of common characteristics of SCM and PDM and gives an analysis of a possible integration. An example of an early attempt of integration is depicted. Finally the paper presents an initiative by the Swedish industry to provide better understanding of SCM and PDM integration problems and to give directions for the possible integrations. Software is being increasingly incorporated in increasingly extensive industrial and other applications. There is a demand for total control of entire applications including their software components. Consequences of this are that the development procedure, production operations and maintenance, previously separates processes, are being integrated in comprehensive process systems. In the integration of these processes, many difficulties are encountered because of different natures of the processes and the different approaches made to the problem. In the integration process, many activities overlap and much data are duplicated, this making a complex process even more complex. Software Configuration Management (SCM) and Product Data Management (PDM), which are used to solve similar problems in different ways, are examples of overlapping processes. Attempts to integrate SCM and PDM systems to obtain a more efficient development process have not proved particularly successful. This paper analyses the main characteristics of SCM and PDM, development processes that are PDMor SCM-centred, their common characteristics and their differences. The problems encountered when using both systems are analyzed. An analysis of possible integration of these systems is presented and the potential benefits of and problems involved in such integration are discussed. We discuss this in [3]. 2016-03-06 Software is an increasing and important part of many products and systems [16]. Software, hardware, and system level components have been developed and produced following separate processes. However, in order to improve the quality of the final complex product, requirements and prospects for an automatic integrated process support are called for. Product Data Management (PDM) has focused on hardware products, while Software Configuration Management (SCM) has aimed to support software development. Several attempts to integrate tools from these domains exist, but they all show small visible success. The reason for this is that integration goes far beyond tool issues only. According to our experiences, three main factors play a crucial role for a successful integration: tools and technologies, processes, and people. This paper analyses the main characteristics of PDM and SCM, describes the three integration factors, identifies a model for the integration process, and pin-points the main challenges to achieve a successful integration of hardware and software development. The complexity of the problems is shown through several case studies. The results have been or will be presented at several conferences: 20(27) Fifth International Symposium on Software Configuration Management. Seattle, USA 1995. Conference on Configuration Management. Organized by the Association of the Swedish Engineering Industries. Sweden, Stockholm 1996. Conference on Configuration Management and distributed development for software systems. Organized by the Association of the Swedish Engineering Industries. Sweden, Stockholm 1999. Spring Configuration Management Seminar 1999. Organized by the Configuration Management center of competence at Ericsson Business Consulting Sverige AB. Sweden, Stockholm, 1999. Ninth International Symposium on System Configuration Management. Toulouse, France, 1999. Presentation on CM and SCM. Volvo IT, Gothenburg, Sweden 1999. Presenter and chairman for the conference on Configuration Management – effektiv information och documentation i produktutvecklingsprocessen. Organized by IIR. Sweden, Stockholm 1999. Presentation on CM. Vovlo Aerotech, Trollhättan, Sweden 2000. Presenter and chairman for the conference CM/PDM – information, kontroll och document i produktutvecklingsprocessen. Organized by IIR. Sweden, Stockholm 2000. Conference on Product Data Management and Software Configuration Management – similarities and differences. Organized by the Association of the Swedish Engineering Industries. Sweden, Stockholm 2001. Tenth International Symposium on Software Configuration Management. Toronto, Canada 2001. Presentation on Nordic Cals meeting on SCM and PDM. Odense, Denmark 2001. 2016-03-06 Presenter at the conference Framgångsrik ändrings- och releasehantering – optimala rutiner och processer för effektiv konfigurationssstyrning. Organized by IIR. Sweden, Stockholm 2002. Presenter at the conference Etablering och tillämpning av PDM & PLM för effektivare produktutveckling i din verksamhet. Organized by IIR. Sweden, Stockholm, 2003. Presenter for the process managers within Ericsson. Organized by the PDM responsible at Ericsson. Sweden, Stockholm, 2004. Presenter at the conference PLM – for industrial leadership and growth. Organized by Eurostep. Stockholm, Sweden 2004. Presenter at the PLMIG meeting. Gothenburg, Sweden 2004. 11th Asia-Pacific Software Engineering Conference. Pusan, Korea, 2004. Attendance in program committees: 5.1 Member of the program committee for SCM workshops, 1997 – 1999, 2001, 2003, and 2005. Session chairman for the industrial session 1997, 1998, 1999, 2003. Conference chair 1998. Organizer and chairman for the next in 2005. Member of the program committee for ECBSE 2001 - 2005. Organizer, chairman, and presenter at CM West (internally at Ericsson) 4 conferences. Gothenburg, Sweden 1999 – 2001. Organizer, chairman and presenter for CM seminar (internally at Ericsson). Gothenburg, Sweden 2004. Co-operation and communication Cooperation and communication with researchers at Mälardalen University, employees at Ericsson, researchers such as Jacky Estublier, and Bernhart Westfechtel both knowledgeable in PDM and SCM. Other cooperation will be together with •ABB Research –Integration Processes Stig Larsson, senior researcher at ABB, Industrial PhD student •KTH –Managing complexity of complex mechatronic products Martin Törngren, Products, organization, processes MdH, Westinghouse –Software integration – selecting strategy for software integration 5.2 Time Schedule Following time schedule is valid for the project: Course Academic Writing for PhD Students, Autumn 2003 21(27) 2016-03-06 5.3 1 publication based on a study on the integration of PDM and SCM process at Ericsson, Autumn 2004 1 publication based on the case studies of using PDM and SCM in different companies, Spring 2004 Participation in PLCM CM discipline team at Ericsson AB, Autumn 2003 – Spring 2005 Participation in setting up requirements for integrating TeamCenter and ClearCase as an Ericsson representative, Autumn 2004-Spring 2005 Preparation for SCM 12, 2004 - 2005 Self-study on System specifications using SDL, UML, XML, 2004 Writing Licentiate thesis, 2005 CM Course for PhD Students, Spring 2004 Research Planning, Autumn 2004 Research Project Performance Following activities are included in the project: Case studies from different industrial domains in the PDM and SCM area Literature study in PDM and SCM area; e.g. new books, new research papers Course “Academic writing for PhD Students” at Chalmers, Gothenburg, Sweden Course “Research Planning” at Mälardalens University, Västerås, Sweden System specifications using SDL, UML, XML (self-study) Publication based on the case studies of using PDM and SCM in different companies Chairman and organizer on next SCM 12 symposia held in 2005 Participation of the Ericsson corporate PLCM (Product Lifecycle management) CM discipline steering group. The purpose for the discipline team is to provide the new and common CM process, methods, templates, and tools in close cooperation with other disciplines in the PLCM process for the whole company Any technical implementation of integration between a PDM and SCM system is excluded in the project. 6 Expected Research Result and Future Works Both domains look very similar, but have at least two fundamental differences. First, in PDM, there is a clear distinction between the design (e.g. a bicycle design) and the product itself (a given bicycle). In software the design (the program) and the product (the software product) are almost the same; the later can be derived from the former at almost no cost. Second, in PDM, the product has a physical existence, which confers unquestionable (spatial, mechanical) properties and constraints. For that reason, in PDM, the main structure is always its part structure (a bicycle has 2 wheels, a frame). In software there is no such “obvious” real structure; parts are arbitrary abstractions with loose relationships. From a system level, there are requirements on managing the whole product irrespective of its contents of hardware and software components, i.e. interoperability in the information flow. The development processes for hardware and software development, although similar, distinguish on a detailed, practical level. SCM and PDM have different production phases; PDM with high cost, long lead-time, and another organization involved, and SCM short and cost effective with no other than the developer team performing the product manufacturing involved in the production phase. PDM-related and SCM-related standards in CM exist, but they are too vague and too little integrated in PDM and SCM. 22(27) 2016-03-06 Since hardware and software designers are focusing on different activities, they have both low knowledge and understanding for each other’s requirements due to organizational, cultural, and domain specific behavior. On top of this, the terminology is almost the same but with different meanings. From the analysis of basic characteristics of PDM an SCM tools we find that there are similarities in them, but the underlying concepts are quite different. Among other functions, PDM tools support document management, product structure management, distributed development and awareness of changes of documents. Of these features an SCM tool does only support awareness of changed documents and an effective replication between sites. On the other hand SCM tools support concurrent engineering on file level, and replication without locking on file level. A PDM tool does not support these features. Using PDM tools for development of software would be very difficult and inefficient. Using SCM for hardware products would be practically impossible. Integration between PDM and SCM is needed to achieve an efficient development and maintenance support of today’s complex products. For integration purposes, terminology and cultural differences are one of the key factors to highlight. A lot of efforts must be put in removing cultural barriers, in education and in building common understanding to make it possible to introduce a new integrated support for the entire development process. This licentiate work is close to be finalized. Remaining work is to write and finalize the licentiate thesis. The layout of the licentiate thesis will be a combination of some papers and a larger description of the work. 6.1 Future Works Is it possible to do a generic integration concept for PDM and SCM? We will continue our work to find an answer on this question by close cooperation with some tool vendors, and research groups. We will continue our work on how to integrate commercial tools in practice. Within Ericsson a project recently started with the aim to integrate commercial PDM and SCM tools. We will be part of this work. Another work is to see how product data and tools for both production and design can be integrated. One overall goal is to develop enabling technologies to support smooth integration of different tools, and to support concurrent updating of the product data in order to allow people to work in parallel. In this work we will investigate the possibility to introduce techniques from the software development field into the product data field, which may give rise to new, more flexible, ways thinking about the tools in that area. 23(27) 2016-03-06 7 References [1] U. Asklund, I. Crnkovic, A. Hedin, M. Larsson, A. Persson Dahlqvist, J. Ranby, and D. Svensson. “Product Data Management and Software Configuration Management - Similarities and Differences”, The Association of Swedish Engineering Industries, V040096, 2001. [2] Crnkovic I., Asklund U., and Persson Dahlqvist A., Implementing and Integrating Product Data Management and Software Configuration Management, ISBN 1-58053-498-8, Artech House, 2003. [3] Crnkovic I., Persson-Dahlqvist A., and Svensson D., "Complex Systems Development Requirements - PDM and SCM Integration", IEEE Asia-Pacific Conference on Quality Software, IEEE, 2001. [4] Estublier J., "Software Configuration Management: A Roadmap", In Proceedings of 22nd International Conference on Software Engineering, The Future of Software Engineering, pp. 279-289, ACM Press, 2000. [5] Estublier J., Favre J-M., and Morat P., "Toward SCM/PDM Integration?", In Proceedings of Software Configuration Management SCM-8, Lecture Notes in Computer Science, nr 1439, pp. 75-94, Springer, 1998. [6] IEEE STD 1042 - 1987, Guide for Software Configuration Management, 1987. [7] IEEE STD 828 - 1998, Standard for Software Configuration Management Plans, 1998. [8] ISO TCI194/ SC4/WG5, S. P. 1., Overview and fundamental principles, 1991. [9] Kroll P. and Kruchten P., The Rational Unified Process Made Easy, ISBN 0-321-166009-4, 2004. [10] National Consensus Standard for Configuration Management, A. N. S. I., ANSI/EIA-649-1998, 1998. [11] Persson-Dahlqvist A., Crnkovic I., and Larsson M., "Managing Complex Systems - Challenges for PDM and SCM", In Proceedings of International Symposium on Software Configuration Management, SCM 10, 2001. [12] SIS, S. S. I., Quality management Systems - Guidelines for configuration management, ISO 10 007, 2003. [13] STEP Part 1, Overview and fundamental principles," ISO TCI194/ SC4/WG5, 1991. [14] Svensson D. and Crnkovic I., "Information Management for Multi-Technology Products", International Design Conference - Design 2002, IEEE, 2002. [15] Telefonaktiebolaget LM Ericsson, www.ericsson.com, 2004. [16] Persson Dahlqvist A. Crnkovic I., and Asklund U. “Quality Improvements by Integrating Development Processes”, In Proceedings of Asia-Pacific Software Engineering Conference, APSEC2004, 2004 [17] Sun Microsystems Inc, www.sun.com, 2004 [18] Mentor Graphics Corporation, www.mentor.com, 2004 [19] D. Svensson, On Product Structure Management throughout the Product Life Cycle, Thesis for the Degree of Licentiate of Engineering, Machine and Vehicle Design, Chalmers University of Technology, 2000 [20] Feldman, S. I., Make, A program for Maintaining Computer Programs, Software – Practice and Experience, Vol. 9, No. 4, April 1979, pp. 255-265 24(27) 2016-03-06 [21] B. Westfechtel, and R. Conradi, “Software Configuration Management and Engineering Data Management: Differences and Similarities”, Proceedings of 8th International Symposium on System Configuration Management (SCM-8), Lecture Notes in Computer Science, No. 1439, Berlin Heidelberg, Germany: Springer-Verlag, 1998, pp. 96106. [22] J. Estublier, D. Leblang, G. Clemm, R. Conradi, A. VanDerHoek, and W. Tichy, “The Impact of the research community in the field of Software Configuration Management”, SEN, September 2002. [23] J. Estublier, D. Leblang, G. Clemm, R. Conradi, A. VanDerHoek, and W. Tichy, “The Impact of the research community in the field of Software Configuration Management”, International Computer Software Engineering, May 2002, Orlando Florida. [24] Ulrich, K. T., and S. D. Eppinger, Product Design and Development, New York: McGraw-Hill Education (ISE Editions), 1999 [25] Sommerville, I., Software Engineering ,Sixth Edition, Harlow, UK: Addison-Wesley, 2001 [26] Tichy, W. F. and Feldman S. I. (Eds.) Configuration Management, ISBN 0-471-94245-6. John Wiley & Sons. 1994 [27] Clive Burrows and Ian Wesley. Ovum evaluates: Configuration Management, Ovum Ltd 1998. ISBN 1-898972-24-9 [28] Lindberg, L., On Technical Information Systems: Architecture and FunctionalRequirements. Licentiate thesis, Royal Institute of Technology, Stockholm, Sweden, 1991. [29] Teknikföretagen, www.teknikforetagen.se/, 2004 [30] The Capability Maturity Model. Software Engineering Institute, Carnegie Mellon University, Addison Wesley 1995 [31] Ulf Asklund, Configuration Management for Distributed Development – Practice and Needs, Dissertaion 10, 1999 Departement of Computer Science, Lund Institute of Technology Lund University [32] Zeid, I. CAD/CAM Theory and Practice, McGraw-Hill, New York, 1991. [33] Cornelissen, M. P. J., Product Data Management an Excellent Means for Shortening Throughput Time, Proceedings ICED-93, pp 541-548, The Hague, The Netherlands, 1993. [34] Johansson, G., Hur har PDM påverkat produktutvecklingen? (The effects of PDM on product development), IVFskrift 95813, IVF, Göteborg, Sweden 1995. (In Swedish) [35] David Whitgift. Methods and Tools for Software Configuration Management. John Wiley and Sons, England, ISBN 0-471-92940-9. 1991, 238 p. [36] Mark J. Rochkind. The Source Code Control System. IEEE Trans. on Software Engineering, SE-1(4):364-370, 1975. [37] Walter F. Tichy. Design Implementation and Evaluation of a Revision Control System. In Proc. Sixth International Conference on Software Engineering. 1982. 25(27) 2016-03-06 [38] Stuart I. Feldman. Make -- a Program for Maintaining Computer Programs. Software -- Practice and Experience, 9(3):255-265, March 1979. [39] André van der Hoek, Dennis Heimbigner, Alexander L. Wolf. Software Architecture, Configuration Management, and Configurable Distributed Systems: A Ménage a Trois. Tech Report CU-CS-849-98. U. Colorado. [40] André van der Hoek, Dennis Heimbigner, Alexander L. Wolf. System Modeling Resurrected. System Configuration Management (SCM-8), Brussels, Belgium 1998, Springer-Verlag LNCS 1439. [41] J. Estublier, H. Verjus and P.Y. Cunin, Building Software Federations, The 2001 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA) Las Vegas, Nevada (USA). June 25-28, 2001. [42] J. Estublier, S. Garcia and German Vega, Using Federations for Flexible SCM Systems, SCM-11 May 2003, Portland, Oregon, USA [43] J. Wikander, M. Törngren, M. Hanson, Mechatronics Engineering - Science and Education, Invited Paper. IEEE Robotics and Automation Magazine, Vol 8, No. 2, 2001. [44] CIMdata, www.cimdata.com, 2004 [45] Object Management Group, OMG, www.omg.org, 2004 [46] John Stark Associates, www.johnstark.com, 2004 [47] CADCAMnet, www.cadcamnet.com, 2004 [48] UGS, Vendor of the PDM system Teamcenter, www.ugs.com, 2004 [49] MatrixOne, vendor of the PDM system Matrix PLM Platform, www.matrixone.com, 2004 [50] Parametric Technology Corporation, vendor of the PDM system Windchill PDMLink, www.ptc.com, 2004 [51] ENOVIA, www-1.ibm.com/solutions/plm/, 2004 [52] The PDM Information Center, www.pdmic.com, 2004 [53] Product Life Cycle Management Interest Group, www.plmig.com, 2004 [54] Computer Associates, http://www3.ca.com/Solutions/Product.asp?ID=255, 2004 [55] IBM Rational, www-306.ibm.com/software/rational/offerings/scm.html, 2004 [56] Telelogic, www.telelogic.com/products/synergy/, 2004 [57] Serena, www.serena.com, 2004 [58] Microsoft, msdn.microsoft.com/vstudio/previous/ssafe/, 2004 [59] RCS, www.gnu.org/software/rcs/rcs.html, 2004 [60] CVS, www.cvshome.org, 2004 [61] CM Today Yellow pages, www.cmtoday.com, 2004 [62] Configuration Management II Users Group, www.cmiiug.com, 2004 [63] Frequently Asked Questions Relating to Configuration Management, www.daveeaton.com/scm, 2004 [64] Institute of International Research, www.iir.se, 2004 26(27) 2016-03-06 [65] Motorola, www.motorola.com/seamless_mobility/, 2004 [66] OKI Electric, www.oki.com, 2004 [67] Seagate, www.seagate.com, 2004 [68] Ulf Nyman et. Al, ”Konfigurationshantering (Configuration Management)”, The Association of Swedish Engineering Industries, V040047, 1996 [69] Ulf Asklunf, “Distribuerad utveckling och Configuration Management för programvarusystem” (Distributed Development and Configuration Management), The Association of Swedish Engineering Industries, V040073, 1999 [70] A. Persson Dahlqvist, I. Crnkovic, M. Larsson, Managing Complex Systems – Challenges for PDM and SCM has been published in the Journal Projects & Profits, IV-7 (Rs 60):36-42, July 2004, ICFAI Press, Panjaquatta, Indien. [71] W. A. Babich, Software Configuration Management: Coordination for tem Productivity, Reading, MA: Addison Wesley, 1995 [72] 27(27) Cimdata Report, Product Life Cycle Management – Empowering the Future of Business, 2002 2016-03-06