OSLC PLM Workgroup1 Analysing the PLM reference model V0.3 Gray Bachelor
OSLC PLM Workgroup2 What’s in this document ? This is the working material used to identify key areas in the PLM Reference Model –Pose questions –Show examples Utilising the Draft OSLC PLM Reference Model based upon the OMG Hybrid SUV model with extensions Helps identify example of the SysML and STEP elements and constructs of relevance to the analysis
OSLC PLM Workgroup3 Invitation Readers are invited to comment and contribute through the OSLC PLM Workgroup or directly to the author –Do additional examples exist ? –Any feedback on comments ? –Any answers to the open questions ?
OSLC PLM Workgroup4 Working topics STEP file Naming conventions Requirements System Other not addressed –Organisation –Activity
OSLC PLM Workgroup5 STEP file STEP text files (ISO Part21) “HEADER” REQUIREMENT CLASSIFICATION_ASSIGNMENT SYSTEM SYSTEM BREAKDOWN SYSTEM ELEMENT ORGANIZATION APPLIED_ACTIVITY_ASSIGNMENT
OSLC PLM Workgroup6 What is the context of the naming conventions ? The container –Filename, description Rules about its content FILE_SCHEMA (('AP233_SYSTEMS_ENGINEERING_ARM_LF')); Description of the overall “view” #1=VIEW_DEFINITION_CONTEXT('Requirements_Analysis_Process','Concept_stage',''); The owning org #12=ORGANIZATION('GM','GM'); How the data was produced #20=ACTIVITY_METHOD('XSLT_Extract','XSLT Extract of STEP Part 21 Data File from Topcased SysML XMI','','For initial creation of dataset'); When the file was produced Date, time Specific terms adopted from a consumable (include-able source) #34=EXTERNAL_CLASS_LIBRARY(' data/ap233_basic_library','Library of basic concept values from AP233'); #36=EXTERNAL_CLASS(' "derive requirement" relationship relates a derived requirement to its source requirement.',#34); #38=EXTERNAL_CLASS(' refine requirement relationship can be used to describe how a model element or set of elements can be used to further refine a requirement.',#34); #40=EXTERNAL_CLASS(' satisfy relationship describes how a design or implementation model satisfies one or more requirements.',#34); #42=EXTERNAL_CLASS(' verify relationship defines how a test case or other model element verifies a requirement.',#34);
OSLC PLM Workgroup7 PLM Reference Model: Additional relationships enabling classification #34=EXTERNAL_CLASS_LIBRARY(' information/ap233-reference-data/ap233_basic_library','Library of basic concept values from AP233'); #36=EXTERNAL_CLASS(' profile#DeriveReqt','DeriveReqt','The "derive requirement" relationship relates a derived requirement to its source requirement.',#34); #38=EXTERNAL_CLASS(' profile#Refine','Refine','The refine requirement relationship can be used to describe how a model element or set of elements can be used to further refine a requirement.',#34); #40=EXTERNAL_CLASS(' profile#Satisfy','Satisfy','The satisfy relationship describes how a design or implementation model satisfies one or more requirements.',#34); #42=EXTERNAL_CLASS(' profile#Verify','Verify','The verify relationship defines how a test case or other model element verifies a requirement.',#34);
OSLC PLM Workgroup8 Requirements
OSLC PLM Workgroup9 Types of Requirement in the PLM Reference Model Main Derived Refinement for HSUV Acceleration
OSLC PLM Workgroup10 PLM Reference Model SysML Requirements Diagram
OSLC PLM Workgroup11 In SysML 1.1 the version is a property –In topcased this property is not visible “on the diagram”
OSLC PLM Workgroup12 One requirement #800=REQUIREMENT('R1.0','HSUV Specification','HSUV Specification Requirement') #810=REQUIREMENT_VERSION('1','',#800); #820=REQUIREMENT_VIEW_DEFINITION('1','HSUV Specification Requirement View Definition','',#1,(),#810); What is the origin of this ? Is this #1 in the stp file or what ? What does the “1” signify ? Assume this is the id
OSLC PLM Workgroup13 A related requirement #4500=REQUIREMENT('R1.1','Performan ce','Performance Requirement'); #4510=REQUIREMENT_VERSION('1','Th e Hybrid SUV shall have the braking, acceleration, and offroad capability of a typical SUV, but have dramatically better fuel economy.',#4500); #4520=REQUIREMENT_VIEW_DEFINITI ON('1','Performance Requirement View Definition','',#1,(),#4510);
OSLC PLM Workgroup14 Requirement relationship - isComposedOf #4530=REQUIREMENT_COLLECTION_R ELATIONSHIP('','isComposedOf','',#82 0,#4520); Just a string ? Does SysML prescribe ? No text – any significance ? Why Collection instead of REQUIREMENT_VIEW_ DEFINITION_RELATIO NSHIP
OSLC PLM Workgroup15 Another related requirement #1300=REQUIREMENT('R1.2','Eco- Friendliness','Eco-Friendliness Requirement'); #1310=REQUIREMENT_VERSION('1',' ',#1300); #1320=REQUIREMENT_VIEW_DEFIN ITION('1','Eco-Friendliness Requirement View Definition','',#1,(),#1310) #1330=REQUIREMENT_COLLECTIO N_RELATIONSHIP('','isComposed Of','',#820,#1320);
OSLC PLM Workgroup16 #1800=REQUIREMENT('R1.2.1','Emissions','Emissions Requirement'); #1810=REQUIREMENT_VERSION('1','The vehicle shall meet Ultra-Low Emissions Vehicle standards.',#1800) #1820=REQUIREMENT_VIEW_DEFINITION('1','Emissions Requirement View Definition','',#1,(),#1810); #1830=REQUIREMENT_COLLECTION_RELATIONSHIP('','isComposedOf','',#1320,#1820); #2700=REQUIREMENT('R1.2.1','Emissions','Emissions Requirement'); #2710=REQUIREMENT_VERSION('2','The vehicle shall meet Revised 2016 Ultra-Low Emissions Vehicle standards.',#2700); #2712=PRODUCT_VERSION_RELATIONSHIP('sequence','Version Sequence',#1810,#2710); #2720=REQUIREMENT_VIEW_DEFINITION('2','Emissions Requirement View Definition','',#1,(),#2710); #2730=REQUIREMENT_COLLECTION_RELATIONSHIP('','isComposedOf','',#1320,#2720); #3600=REQUIREMENT('R1.2.1','Emissions','Emissions Requirement'); #3610=REQUIREMENT_VERSION('2','The vehicle shall meet Revised 2016 Ultra-Low Emissions Vehicle standards.',#3600); #3612=PRODUCT_VERSION_RELATIONSHIP('sequence','Version Sequence',#1810,#3610); #3614=PRODUCT_VERSION_RELATIONSHIP('derivation','Version Derivation',#2710,#3610); #3620=REQUIREMENT_VIEW_DEFINITION('2','Emissions Requirement View Definition','',#1,(),#3610); #3630=REQUIREMENT_COLLECTION_RELATIONSHIP('','isComposedOf','',#1320,#3620); New construct to add a sequence of versions All 3 versions relate to #1320 Why is derivation used here ?
OSLC PLM Workgroup17 Alt layout to clarify derivation sequence
OSLC PLM Workgroup18 PLM Reference Model: STEP content examples Gathered examples Requirements
OSLC PLM Workgroup19 PLM Reference Model: Requirement and it’s relationships #1200=REQUIREMENT('R1.2','Eco-Friendliness','Eco-Friendliness Requirement'); #1210=REQUIREMENT_VERSION('1','',#1200); #1220=REQUIREMENT_VIEW_DEFINITION('1','Eco-Friendliness Requirement View Definition','',#1,(),#1210); #1230=REQUIREMENT_COLLECTION_RELATIONSHIP('','isCompos edOf','',#720,#1220); #10700=REQUIREMENT_VIEW_DEFINITION_RELATION SHIP('10700','DeriveReqt','DeriveReqt1',#3220,#8720);
OSLC PLM Workgroup20 PLM Reference Model: Requirements #1700=REQUIREMENT('R1.2.1','Emissions','Emissions Requirement'); #1710=REQUIREMENT_VERSION('1','The vehicle shall meet Ultra-Low Emissions Vehicle standards.',#1700); #1720=REQUIREMENT_VIEW_DEFINITION('1','Emissions Requirement View Definition','',#1,(),#1710); #1730=REQUIREMENT_COLLECTION_RELATIONSHIP('','isCompo sedOf','',#1220,#1720); #2210=REQUIREMENT_VERSION('2','The vehicle shall meet Revised 2016 Ultra-Low Emissions Vehicle standards.',#1700); #2220=REQUIREMENT_VIEW_DEFINITION('2','Emissions Requirement View Definition','',#1,(),#2210); #2230=REQUIREMENT_COLLECTION_RELATIONSHIP('','isCompo sedOf','',#1220,#2220);
OSLC PLM Workgroup21 PLM Reference Model: Requirements #2700=REQUIREMENT('R1.2.1','Emissions','Emissions Requirement'); #2710=REQUIREMENT_VERSION('2','The vehicle shall meet Revised 2016 Ultra-Low Emissions Vehicle standards.',#2700); #2712=PRODUCT_VERSION_RELATIONSHIP('sequence','Version Sequence',#1810,#2710); #2720=REQUIREMENT_VIEW_DEFINITION('2','Emissions Requirement View Definition','',#1,(),#2710); #2730=REQUIREMENT_COLLECTION_RELATIONSHIP('','isCompo sedOf','',#1320,#2720); #3600=REQUIREMENT('R1.2.1','Emissions','Emissions Requirement'); #3610=REQUIREMENT_VERSION('2','The vehicle shall meet Revised 2016 Ultra-Low Emissions Vehicle standards.',#3600);
OSLC PLM Workgroup22 PLM Reference Model: Requirement Assignment #114700=REQUIREMENT_ASSIGNMENT(' ','Satisfy3',#1820,#30120); #114800=REQUIREMENT_ASSIGNMENT(' ','Satisfy4',#2720,#69420); #115100=REQUIREMENT_ASSIGNMENT(' ','Satisfy1',#11520,#30120); #115200=REQUIREMENT_ASSIGNMENT(' ','Satisfy2',#3620,#84420);
OSLC PLM Workgroup23 PLM Reference Model: Classification Assignment #50=CLASSIFICATION_ASSIGNMENT(# 36,(#10700,#10800,#10900,#11000,#1110 0,#11200,#11300,#11400,#11500),'Derive Reqt'); Certain requirements are classified as type “DeriveReqt” (#36 above
OSLC PLM Workgroup24 System
OSLC PLM Workgroup25 Overall Power Control Unit system structure (architecture
OSLC PLM Workgroup26
OSLC PLM Workgroup27 #23600=SYSTEM('23600','HybridSU V','HybridSUV System'); #23610=SYSTEM_VERSION('1','Hy bridSUV System Element Version',#23600); #23620=SYSTEM_VIEW_DEFINITI ON('1','HybridSUV System View Definition','',#1,(),#23610); #23640=VALUE_WITH_UNIT(#2,1); What is the origin ? There is no #2 in the file No. occurring in the assembly
OSLC PLM Workgroup28 A related System element #30100=SYSTEM('30100','PowerSubsyste m','PowerSubsystem System'); #30110=SYSTEM_VERSION('1','PowerSu bsystem System Element Version',#30100); #30120=SYSTEM_VIEW_DEFINITION('1',' PowerSubsystem System View Definition','',#1,(),#30110); #30130=NEXT_ASSEMBLY_USAGE(#236 20,#30120,'',#30140); #30140=VALUE_WITH_UNIT(#2,1); Origin ? Why NEXT ?
OSLC PLM Workgroup29
OSLC PLM Workgroup30
OSLC PLM Workgroup31 #114700=REQUIREMENT_ASSIGNMENT('114700','Satisfy3',#1820,#30120); #114800=REQUIREMENT_ASSIGNMENT('114800','Satisfy4',#2720,#69420); #115100=REQUIREMENT_ASSIGNMENT('115100','Satisfy1',#11520,#30120); #115200=REQUIREMENT_ASSIGNMENT('115200','Satisfy2',#3620,#84420); 3 of 4 here 1:1 How are other interdepencies represented in SysML Arbitrary ? Or is it based on the External Class ?
OSLC PLM Workgroup32 PLM Reference Model: STEP content examples Gathered examples System
OSLC PLM Workgroup33 PLM Reference Model: SYSTEM #21780=SYSTEM('21800','HybridSUV','HybridSUV System'); #21782=SYSTEM_VERSION('1','HybridSUV System Element Version',#21800); #21784=SYSTEM_VIEW_DEFINITION('1','HybridSUV System View Definition','',#1,(),#21782); #21786=SYSTEM_BREAKDOWN('21800','HybridSUV','HybridSUV System Breakdown'); #21788=SYSTEM_BREAKDOWN_VERSION('1','HybridSUV System Breakdown Version',#21786); #21790=BREAKDOWN_OF('1','HybridSUV','HybridSUV Breakdown',#21788,#21784); #21792=SYSTEM_BREAKDOWN_CONTEXT('1','HybridSUV','HybridSUV Breakdown Context',#21788,#21820); #21810=SYSTEM_ELEMENT_VERSION('1','HybridSUV System Element Version',#21800); #21820=SYSTEM_ELEMENT_DEFINITION('1','HybridSUV System Element Definition','',#1,(),#21810);
OSLC PLM Workgroup34 PLM Reference Model: System element and its relationships #26900=SYSTEM_ELEMENT('26900','Fuel','Fuel System Element'); #26910=SYSTEM_ELEMENT_VERSION('1','Fuel System Element Version',#26900); #26920=SYSTEM_ELEMENT_DEFINITION('1','Fu el System Element Definition','',#1,(),#26910); #26930=SYSTEM_ELEMENT_USAGE('1','','Fuel System Element Usage',#21820,#26920,'Fuel');
OSLC PLM Workgroup35 PLM Reference Model: Additional relationships REQUIREMENT_VIEW_DEFINITION to SYSTEM_ELEMENT_DEFINITION #94700=REQUIREMENT_ASSIGNMENT('9 4700','Satisfy3',#1720,#27820); #94800=REQUIREMENT_ASSIGNMENT('9 4800','Satisfy4',#2220,#67120); #95100=REQUIREMENT_ASSIGNMENT('9 5100','Satisfy1',#9720,#27820);
OSLC PLM Workgroup36 Other
OSLC PLM Workgroup37 PLM Reference Model: ACTIVITY performed #90=APPLIED_ACTIVITY_ASSIGNMENT (#22,(#700,#710,#720, –XMI extract from TOPcased
OSLC PLM Workgroup38 PLM Reference Model: ORGANISATIONAL ownership #80=ORGANIZATION_OR_PERSON_IN_ ORGANIZATION_ASSIGNMENT(#16,'cre ator',(#700,#710,#720,
OSLC PLM Workgroup39 Changes V0.1Used during Gray/Ian working session V0.2/0.3 Consolidate to post