PLM 베스트프렉티스컨퍼런스 2006 튜토리얼 HW 와 SW 개발을통합지원하는 PLM 경상대학교산업시스템공학부도남철 dnc@gnu.ac.kr
순서 튜토리얼의목적 소프트웨어부품의증가 HW와 SW 개발지원시스템 PDM 소개 SCM 소개 PDM 과 SCM 비교 PDM과 SCM 통합 사례 Ericsson 통합연구 결론
튜토리얼의목적 제품개발에서소프트웨어중요도인지 소프트웨어개발을지원하는 SCM (Software Configuration Management) 시스템기본기능소개및 PDM과비교 PDM 과 SCM 통합이해 PDM과 SCM 통합사례및연구소개
소프트웨어부품의증가 다양한고객요구를효과적으로만족시키기위하여최근제품은소프트웨어를광범위하게도입 대표적개인음향기기인 Sony Walkman과 Apple ipod 마이크로소프트는 2005년 7월 Windows Automotive 5.0 출시 WM-FX197 from www.sony.com 2006 itunes and ipod from www.apple.com 2006
자동차에서의 SW 중요도증가 from 자동차와 IT 간컨버전스동향과과제, SERI 경제포커스 ( 제 65 호 ), 2005 생명과안전때문에보수적인자동차업계에서도 Software 도입확대 (IT 에비하여극한환경 ( 강한진동, -40 ~150 C ) 에대한내성과극단적으로낮은불량률 (500ppm vs. 0ppm), 그리고 3배의수명 (10년) 요구 ) 차량구동에필요한소프트웨어 2000라인 (70년대) 에서 4백만라인 (2006 년 ) 으로 2000배증가 전자기기가자동차총제조원가에차지하는비율은 20% 도요타의하이브리드차종인프리우스의경우 47% 전자부분중소프트웨어비중 2005년 10% 에서 2015년 20% 로증가 북미자동차업계 100억달러품질보증비용중 30-40% 가전자및소프트웨어문제에서발생 소프트웨어에대한자동차업계내인식이전자기기의부속물에서독립적인제품으로격상
Toyota Prius from www.toyota.com 2006
HW 와 SW 개발지원시스템 컴퓨터기반 HW 개발지원시스템 Product Data Management (PDM) 혹은 PLM (Product Lifecycle Management) 시스템 컴퓨터기반 SW 개발지원시스템 Software Configuration Management (SCM) 시스템 PDM과 SCM은서로독립적으로발전 PDM과 SCM 기능을통합적으로제공하는지원시스템필요 기존의 PDM 과 SCM 통합연구는 SCM 입장에서접근 SCM에서 PDM의제품구성 (Product Configuration) 기술을도입 HW를포함하는일반적인제품개발프로세서고려못함 PDM 전문가입장에서 SCM을통합하는접근필요
확장된 PLM 기능에서 SW 통합개발 from PLM Guidebook, BB 미디어, 2005 항목 내용 목표주요관리대상적용기술적용환경기능확대 ( 제품개발 ) 기능확대 ( 제품개발외 ) 혁신 (Innovation) 제품개발에대한지식자산 (Intellectual Asset), 협업 (Collaboration) Internet 기술, Business Solution( 통합, Method, Best Practice, Framework) 확장기업, 가상기업, 글로벌기업 Program Mgt., Contents Mgt., 다양한 Product Definition Model, Requirement Mgt., Product Specifications, Electronic and Software Design, Accessibility (with Visualization) Manufacturing Process Plan (Digital Manufacturing), Operational Process Plan, As-Maintained Configuration Data, Technical Publication (Service Manual, User Guide and Assembly Instruction), Design Chain Management (as an Enterprise Application, ERP, SCM, CRM과연동 )
HW 개발프로세스 신제품개발프로세스 : 상품기획 개념설계 시스템설계 상세설계 시제품개발 생산준비 설계변경프로세스 : 설계변경요청 설계변경연구적용 설계변경검토승인 설계변경적용
PDM 의정의 from PDM: Definition, CIMdata Report, 1997 PDM 은설계자를비롯한관련부서가제품개발프로세스와이에 필요한제품자료의효과적관리를지원하는도구이다. PDM 시스 템은제품의설계, 생산혹은건설그리고유지보수에필요한자 료나정보를관리하게된다. - CIMdata, 1997 -
PDM 의주요기능 PDM 은제품설계부서의제품개발관련정보와프로세스를효과적으로 관리하기위한컴퓨터와네트워크기반의정보시스템운용활동을뜻하며다음의기능을제공한다. 부품리스트및분류관리 설계문서관리 제품구성및구조관리 설계변경프로세스관리 프로젝트관리 외부인터페이스
PDM 기능구조 from PDM: Definition, CIMdata Report, 1997 기업 PDM Solution PDM Applications 제품형상관리 / 기술문서관리 협업적제품개발지원 /Project 관리 PDM User Functions / 자료저장소및문서관리 / 워크플로우와업무관리 / 제품구조관리 / 기준부품분류 / 프로그램관리 PDM Utility Functions / 의사교환및통지 / 자료전송및전환 / 이미지서비스 / 관리기능 / 응용프로그램통합
Dassault Systems SmarTeam V5R14 문서관리 부품관리제품구조관리제품구성관리 권한관리 CAD 모델보기
Dassault Systems SmarTeam V5R14( 계속 ) 설계변경관리
SW 개발프로세스 from Implementing and Integrating PDM and SCM, Artech House, 2003 SW 개발프로세스 : 요구분석 설계 구현 통합과시험 릴리즈 고객요구 시스템구조 기능정의 소스코드 실행파일 생성 / 변경 참조
SW 특징 변경이쉽다. 개발비가높고생산비가매우낮거나들지않는다. 최종제품에대한정확한설계가없다. 제품개발의복잡도가매우높다.
SCM 정의 소프트웨어제품개발전과정에걸쳐개발과변경을관리하는방법론 프로그램팀에의하여개발되는소프트웨어의변경을정의하고, 조직하며, 관리하는행위 SCM에대한두가지관점 : SW 제품개발조정및평가 ( 관리자 ) 버전관리, 동시개발, 버전간차이검토등개발활동자동화 ( 개발자 )
SCM 주요기능 from Implementing and Integrating PDM and SCM, Artech House, 2003 버전관리 SCM 주요기능, Configuration Item 을대상 구성선택 특정버전의파일의집합인구성결정, Label 이용 빌드관리 정해진내용과순서에따라 SW 제품을컴파일 릴리즈관리 다양한릴리즈별로제품출시관리 동시개발 동시에 SW 제품의다양한부분을개발 분산개발 지역적으로분산되어 SW 개발 워크스페이스관리 개발자가독립적으로시험할수있는공간 변경관리 변경프로세스와추적기능
버전관리 Main 1.4 1.5 1.6 2.0 Bug Fix 1 branch 1.5.1.1 merge Bug Fix 2 1.5.2.1 1.5.2.2 Mac branch 1.4.1.1 1.4.1.2 1.4.1.3 revision
Label 구성선택 / 빌드관리 / 릴리즈관리 Release 2.2 Release 2.3 Item A Release 2.2 1.9 2.0 2.1 2.2 Release 2.3 Item B Release 2.2 2.1 2.2 Release 2.3 Item C 2.0 3.0 3.1 Release 2.2 Build Release 2.3 Build Product 2.7 2.8
동시개발 Item/version Release 2.3 Stable Latest Product 2.6.1.1 3.0 3.1 Item A 1.2 1.2 1.3 Item B 1.1 1.1 1.1 Item C 1.1 1.1.1.1 1.2 Item D 4.2 4.3 4.3 Established Label Version Planned Label Version Developers use different configurations concurrently
Branch Stable Time now product 2.6 2.7 3.0 3.1 4.0 -Bugfix 1 -Bugfix 2 -External release2.3 2.7.1.1 2.7.2.1 2.7.2.2 Rel.2.3 2.6.1.1 2.6.1.2 Rel.2.3 2.6.1.3 Item A Rel.2.3 Stable 1.2 1.3 2.0 Item B Rel.2.3 1.1 Stable Rel.2.3 Stable Item C 1.1 1.2 -Bugfix 1 1.1.1.1 Item D Rel.2.3 4.2 Stable 4.3 5.0 -Bugfix 2 4.2.1.1 4.2.1.2 -Maintenance Rel 2.3 4.2.2.1 4.2.2.2 4.2.2.3
Site A 분산개발 Site B Main Main branch Owned by site A Main 1.0 1.0 Bugfix branch Owned by site B 1.1 1.2 Bugfix 1.1.1.1 Update automatically sent between replicas to keep them synchronized 1.1 1.2 Bugfix 1.1.1.1 1.1.1.2 1.1.1.2 2.0 2.0 1.1.1.3 Version 1.1.1.3 Not yet sent to The other replicas Replication of repositories
Branch Item D -Bugfix 2 Rel. 1.2 2.3 Stable 2.3.1.1 2.3.1.2 Rel. 1.2.1 2.4 3.0 Rel. 1.2.2 -Maintenance Rel 1.2 2.3.2.1 2.3.2.2 2.3.2.3 Change 4179245 Request id Change 4183035 Synopsis Container. trackmouseenterexit leaks memory Request id Change 4190011 category Synopsis java:classes_awt Container. trackmouseenterexit leaks memory Request id Reported category 1.2RC1, 1.1.7a, java:classes_awt Change 1.1.7B, 1.1.5, 1.2fcs, 4193022 Synopsis Container. trackmouseenterexit leaks memory Against 2.2_sc_build23, 1.1.6, 3.0 and 1.2.1 Reported 1.2RC1, Request 1.1.7a, id 1.1.7B, 1.1.5, 1.2fcs, category java:classes_awt Release fixed 1.1.8, 1.2.2 Against 2.2_sc_build23, Synopsis 1.1.6, Container. 3.0 and 1.2.1 trackmouseenterexit leaks memory Reported 1.2RC1, 1.1.7a, 1.1.7B, 1.1.5, 1.2fcs, State Release fixed Close, fixed 1.1.8, category 1.2.2 java:classes_awt Against 2.2_sc_build23, 1.1.6, 3.0 and 1.2.1 Related bugs State 4196661,4214832, Close, Reported fixed 4224393, 4228292 1.2RC1, 1.1.7a, 1.1.7B, 1.1.5, 1.2fcs, Release fixed 1.1.8, 1.2.2 Against 2.2_sc_build23, 1.1.6, 3.0 and 1.2.1 Submit date Related bugs Nov 25, 1998 4196661,4214832, 4224393, 4228292 State Close, fixed Release fixed 1.1.8, 1.2.2 Description Submit date Container. Nov trackmouseenterexit() 25, 1998 calls Related bugs 4196661,4214832, 4224393, 4228292 startlisteningforotherdrags() State when Close, the fixed mouse Description Container. trackmouseenterexit() calls Submit pointer enters date the container, Nov 25, It 1998 calls startlisteningforotherdrags() Related bugs 4196661,4214832, when the mouse 4224393, 4228292 stoplisteninforotherdrags() when the mouse Descriptionpointer enters Container. the container, trackmouseenterexit() It calls calls exits thecontainer. Submit date Nov 25, 1998 Workaround None stoplisteninforotherdrags() startlisteningforotherdrags() when the mouse when the mouse Description exits thecontainer. pointer enters Container. the container, trackmouseenterexit() It calls calls EvaluationWorkaroundEvaluation None in the description is correct. Adding stoplisteninforotherdrags() startlisteningforotherdrags() when the mouse when the mouse Toolkit wide. Event Evaluation Workaround Evaluation in exits None the thecontainer. pointer enters the container, It calls description is correct. Adding stoplisteninforotherdrags() when the mouse Toolkit wide. Event Evaluation Evaluation exits in the thecontainer. description is correct. Adding Workaround None Toolkit wide. Event Evaluation Evaluation in the description is correct. Adding Toolkit wide. Event Queue Listener keeps a 변경관리 변경프로세스 변경요청추적기능
Microsoft Visual Source Safe 6.0 MS의 SCM으로 Windows 기반의비교적단순한기능제공 프로젝트중심, 파일및디렉터리기반 SCM MS Visual Studio와연동 VB, VC++, InterDev 등과연동 버전관리 Project 기반 Branch 와 Merge 구성선택 / 빌드관리 Label 및 MS Visual Studio와연동 분산개발가능 사용자관리및보안설정
Configuration Items MS SourceSafe 6.0 Projects Files
버전과 Label MS SourceSafe 6.0
Branch MS SourceSafe 6.0
Compare MS SourceSafe 6.0
Merge MS SourceSafe 6.0
Build MS SourceSafe 6.0
PDM 과 SCM 비교 from Toward SCM/PDM Integration 1999 PDM SCM FUNDAMENTAL Product Model Product Model Product Structure Constrained by reality No real constraint Maturity + - Standard e.g. STEP No consensus Data model Object oriented Weak data models Main issue Object modeling File handling PRODUCT MODEL Components Parts / Assemblies Modules, Files Relation Models vs. Instances Composition relationship Notion of occurrences And quantities Dependence relationship + File hierarchy No duplication of components Standard Standardized product models (STEP s IR) No standard
PDM 과 SCM 비교 ( 계속 ) from Toward SCM/PDM Integration 1999 PDM SCM Versioned data No version concept in the Versioning concept are included Model EXPRESS data model in the data model PRODUCT MODEL VERSIONED Historical Versioning Logical Versioning Domain Versioning Revision Alternate, substitute, option Views (as-planned, as-designed) Revision Variant or branch - Selection Context : view + effectivity + alternate + substitute + option No, or attribute based SPACE WORK Representation Data base File system Concurrent Work space Sharing Engineering Isolation PM Process model Changes and Approvals Tool specific
PDM 과 SCM 버전기능비교 attribute part 10 --B dwg02 versions versions 5 4 merge attribute revisions part 10 --A attribute Part Object dwg01 File Object attribute 3 2 2.2 2.1 branch 1
PDM 과 SCM 의 Effectivity 와 Label 비교 rotor Release 2.2 Release 2.3 rotor1 Item A 1.9 2.0 effectivity 1-99 rotor effectivity 100- 현재 pin shaft Release 2.3 Release 2.2 rotor1 rotor2 effectivity =5 로전개 fan1 Item B 2.1 2.2 Release 2.2 Release 2.3 pin shaft fan1 fan2 rotor Item C 2.0 3.0 effectivity =120 으로전개 rotor2 Build Build pin shaft Product 2.2 2.3 fan2
PDM 과 SCM 의제품구조비교 제품구조모델 Configurations Config A Product Options Effectivity Option 1000 Option 2000 Build Items Parts part 10 part 40 계층구조 part 20 part 30 part 50 Documents 공유부품 Document version 관리를하나 Part 에고정 Meta data 를 directory 로표현 Directory 로 Phase/View 까지표현 하나의문서를나누어서변경한후추후 Merge 가능
PDM 과 SCM 통합 - 완전통합 from Implementing and Integrating PDM and SCM, Artech House, 2003 Common user interface API User interface layer API API API SCM PDM PDM Business layer API API API API Common information model Repository layer Common repository PDM and SCM integration Common API and common repositories.
PDM 과 SCM 통합 느슨한통합 (1) Users UI UI API PDM API Interoperability functions API PDM API Repository Repository PDM and SCM loose integration
PDM 과 SCM 통합 - 느슨한통합 (2) Users UI UI UI API PDM Interoperability functions API PDM Interoperability functions API PDM API API API Repository Repository Repository Middleware A loose integration using middleware technology
통합적용사례 -Ericsson from Implementing and Integrating PDM and SCM, Artech House, 2003 Ericsson 에서는 SCM으로 ClearCase를사용 SCM의 Attribute로 Meta Data 관리에어려움 PDM과통합을통해 SW 개발을위한 Meta Data 관리 PDM Meta Data와 Process 관리, SCM Source Code관리 PDM으로써 ematrix 선택 구성구별 (Configuration Identification), Baseline (BL) 관리, 구성관리및변경요청에 PDM 사용 ematrix의 Name, Type, Revision 속성을사용하여 Item 관리 프로세스를포함하는 ematrix의 BL을이용 ematrix의변경요구 (CR) 객체를이용하여변경관리
ClearCase 와 ematrix 통합구조 구성관리자 상태보고검색구성관리 BL 관리 PDM/SCM 인터페이스 CR conn. CR disc. CR appr BL approved Poling MxCC ematrix ClearCase Check out Check in Merge ClearCase 관리자
PDM 과 SCM 통합프레임워크연구 기본방향 PDM에 SCM 기능을통합 일반 SW에서 HW에의존적 SW 분리 기존 PDM의프로세스와자료모델사용 통합제품개발프로세스 의존적 SW 분리 HW 기반제품구성에 SW 모듈을제공 HW 설계변경시 SW 변경 의존적 SW를고려한제품개발프로세스 통합제품자료모델 기존의 PDM 제품자료모델사용 기존의 Part 개념을확장한 Software Part 개념적용
통합제품개발프로세스 SW Design Coding &Test Integration Release Integration Target Full SW Module Dependent SW Module Design Coding & Testing Explicit Config. Module Schematic HW Proto for SW SW List & Structure HW Product Planning System Design Detail Design Prototyping Prepare Production Product Development
통합제품자료모델 Configuration Consists of Consists of Option Has Is a version of Part Document Consists of
통합제품자료모델적용예 Configuration A Configuration B Option A Option B Option C Option Software A Option Software B Part 10 EC Link Part 110 Part 120 Part 130 Part 20 Part 30 Part110.prg Part120.prg Part130.prg Part110.prg Part120.prg Part130.prg
제품구조통합 / 설계변경표현 1-99 1-99 part 110 1.1 1.2 1-current 1-99 100-current Option A part 120 1.1 1.2 1.3 1.2.1 part 130 1.1 1.3 100-current 100-current
기능추가 Code Comparison Branch 와 Merge Build와 Release 관리 Effectivity와 Label 연동
SmarTeam 구현예 - Code Comparison
SmarTeam 구현예 - Code Comparison ( 계속 )
방법론적용예 KEDB Lab 의 Argos Internet Scout Robot Disassembled RCX
The Architecture of Robot System Camera Control Computer Robot Control Computer Web Server Server OS Control Server Control Program Sensors Firmware Motors Wireless Network Control Client OS Client Computer
The Product Configuration Model Configurations Argos Type 1S Argos Type 1D Options Web Cam Basic Tracks Single Bumper Double Bumper Software Single Bumper Software Double Bumper
Schematic HW Prototype SW Design Coding &Test Integration Release Integration Target Full SW Module Dependent SW Module Design Coding & Testing Explicit Config. Module Schematic HW Proto for SW SW List & Structure HW Product Planning System Design Detail Design Prototyping Prepare Production Product Development
Software Parts and Product Structure Software Double Bumper Software Single Bumper main(). Call escape(x). Define speed= 10 Define r_time= 10 escape(x) If x=1 then If x=2 then. main(). Call escape(x). Main_double_ bumper.prg Head_tracks.prg Escape.prg Main_single_ bumper.prg
결론 제품개발에서 SW 중요도증가 HW와 SW 통합개발지원필요 PDM 혹은 PLM 기반의 SCM 통합 PDM 혹은 PLM 전문가의 SCM 이해및이용 체계적프레임워크기반의접근필요 다양한 SW 개발프로젝트에대한통합사례필요 휴대폰, 자동차, 항공기, MP3 Player, 가전등 추후 PLM의중요한확장모듈및응용분야가될것으로예측