390 likes | 403 Views
This document provides working material for analyzing key areas in the PLM Reference Model, including posing questions and showing examples. It utilizes the Draft OSLC PLM Reference Model based on the OMG Hybrid SUV model with extensions. Readers are invited to comment and contribute.
E N D
Analysing the PLM reference model V0.3 Gray Bachelor OSLC PLM Workgroup
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 Workgroup
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 Workgroup
Working topics • STEP file • Naming conventions • Requirements • System • Other not addressed • Organisation • Activity OSLC PLM Workgroup
STEP file • STEP text files (ISO-10303-Part21) • “HEADER” • REQUIREMENT • CLASSIFICATION_ASSIGNMENT • SYSTEM • SYSTEM BREAKDOWN • SYSTEM ELEMENT • ORGANIZATION • APPLIED_ACTIVITY_ASSIGNMENT OSLC PLM Workgroup
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('http://www.ap 233.org/ap233-public-information/ap233-reference-data/ap233_basic_library','Library of basic concept values from AP233'); • #36=EXTERNAL_CLASS('http://www.omg.org/spec/SysML/Current/SysML-profile#DeriveReqt','DeriveReqt','The "derive requirement" relationship relates a derived requirement to its source requirement.',#34); • #38=EXTERNAL_CLASS('http://www.omg.org/spec/SysML/Current/SysML-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('http://www.omg.org/spec/SysML/Current/SysML-profile#Satisfy','Satisfy','The satisfy relationship describes how a design or implementation model satisfies one or more requirements.',#34); • #42=EXTERNAL_CLASS('http://www.omg.org/spec/SysML/Current/SysML-profile#Verify','Verify','The verify relationship defines how a test case or other model element verifies a requirement.',#34); OSLC PLM Workgroup
PLM Reference Model:Additional relationships enabling classification #34=EXTERNAL_CLASS_LIBRARY('http://www.ap233.org/ap233-public-information/ap233-reference-data/ap233_basic_library','Library of basic concept values from AP233'); #36=EXTERNAL_CLASS('http://www.omg.org/spec/SysML/Current/SysML-profile#DeriveReqt','DeriveReqt','The "derive requirement" relationship relates a derived requirement to its source requirement.',#34); #38=EXTERNAL_CLASS('http://www.omg.org/spec/SysML/Current/SysML-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('http://www.omg.org/spec/SysML/Current/SysML-profile#Satisfy','Satisfy','The satisfy relationship describes how a design or implementation model satisfies one or more requirements.',#34); #42=EXTERNAL_CLASS('http://www.omg.org/spec/SysML/Current/SysML-profile#Verify','Verify','The verify relationship defines how a test case or other model element verifies a requirement.',#34); OSLC PLM Workgroup
Requirements OSLC PLM Workgroup
Types of Requirement in the PLM Reference Model • Main • Derived • Refinement for HSUV Acceleration OSLC PLM Workgroup
PLM Reference Model SysML Requirements Diagram OSLC PLM Workgroup
In SysML 1.1 the version is a property • In topcased this property is not visible “on the diagram” OSLC PLM Workgroup
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); Assume this is the id What is the origin of this ? What does the “1” signify ? Is this #1 in the stp file or what ? OSLC PLM Workgroup
A related requirement #4500=REQUIREMENT('R1.1','Performance','Performance Requirement'); #4510=REQUIREMENT_VERSION('1','The Hybrid SUV shall have the braking, acceleration, and offroad capability of a typical SUV, but have dramatically better fuel economy.',#4500); #4520=REQUIREMENT_VIEW_DEFINITION('1','Performance Requirement View Definition','',#1,(),#4510); OSLC PLM Workgroup
Requirement relationship - isComposedOf #4530=REQUIREMENT_COLLECTION_RELATIONSHIP('','isComposedOf','',#820,#4520); Just a string ? Does SysML prescribe ? No text – any significance ? Why Collection instead of REQUIREMENT_VIEW_DEFINITION_RELATIONSHIP OSLC PLM Workgroup
Another related requirement #1300=REQUIREMENT('R1.2','Eco-Friendliness','Eco-Friendliness Requirement'); #1310=REQUIREMENT_VERSION('1','',#1300); #1320=REQUIREMENT_VIEW_DEFINITION('1','Eco-Friendliness Requirement View Definition','',#1,(),#1310) #1330=REQUIREMENT_COLLECTION_RELATIONSHIP('','isComposedOf','',#820,#1320); OSLC PLM Workgroup
New construct to add a sequence of versions #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); Why is derivation used here ? All 3 versions relate to #1320 OSLC PLM Workgroup
Alt layout to clarify sequence derivation sequence OSLC PLM Workgroup
PLM Reference Model: STEP content examples Gathered examples Requirements OSLC PLM Workgroup
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('','isComposedOf','',#720,#1220); #10700=REQUIREMENT_VIEW_DEFINITION_RELATIONSHIP('10700','DeriveReqt','DeriveReqt1',#3220,#8720); OSLC PLM Workgroup
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('','isComposedOf','',#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('','isComposedOf','',#1220,#2220); OSLC PLM Workgroup
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('','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); OSLC PLM Workgroup
PLM Reference Model:Requirement Assignment • #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); OSLC PLM Workgroup
PLM Reference Model:Classification Assignment • #50=CLASSIFICATION_ASSIGNMENT(#36,(#10700,#10800,#10900,#11000,#11100,#11200,#11300,#11400,#11500),'DeriveReqt'); • Certain requirements are classified as type “DeriveReqt” (#36 above OSLC PLM Workgroup
System OSLC PLM Workgroup
Overall • Power Control Unit system structure (architecture OSLC PLM Workgroup
No. occurring in the assembly #23600=SYSTEM('23600','HybridSUV','HybridSUV System'); #23610=SYSTEM_VERSION('1','HybridSUV System Element Version',#23600); #23620=SYSTEM_VIEW_DEFINITION('1','HybridSUV System View Definition','',#1,(),#23610); #23640=VALUE_WITH_UNIT(#2,1); No. occurring in the assembly What is the origin ? There is no #2 in the file OSLC PLM Workgroup
A related System element #30100=SYSTEM('30100','PowerSubsystem','PowerSubsystem System'); #30110=SYSTEM_VERSION('1','PowerSubsystem System Element Version',#30100); #30120=SYSTEM_VIEW_DEFINITION('1','PowerSubsystem System View Definition','',#1,(),#30110); #30130=NEXT_ASSEMBLY_USAGE(#23620,#30120,'',#30140); #30140=VALUE_WITH_UNIT(#2,1); Origin ? Why NEXT ? OSLC PLM Workgroup
1:1 #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); Arbitrary ? Or is it based on the External Class ? How are other interdepencies represented in SysML 3 of 4 here OSLC PLM Workgroup
PLM Reference Model: STEP content examples Gathered examples System OSLC PLM Workgroup
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 Workgroup
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','Fuel System Element Definition','',#1,(),#26910); #26930=SYSTEM_ELEMENT_USAGE('1','','Fuel System Element Usage',#21820,#26920,'Fuel'); OSLC PLM Workgroup
PLM Reference Model:Additional relationshipsREQUIREMENT_VIEW_DEFINITION to SYSTEM_ELEMENT_DEFINITION #94700=REQUIREMENT_ASSIGNMENT('94700','Satisfy3',#1720,#27820); #94800=REQUIREMENT_ASSIGNMENT('94800','Satisfy4',#2220,#67120); #95100=REQUIREMENT_ASSIGNMENT('95100','Satisfy1',#9720,#27820); OSLC PLM Workgroup
Other OSLC PLM Workgroup
PLM Reference Model:ACTIVITY performed • #90=APPLIED_ACTIVITY_ASSIGNMENT(#22,(#700,#710,#720, • XMI extract from TOPcased OSLC PLM Workgroup
PLM Reference Model:ORGANISATIONAL ownership • #80=ORGANIZATION_OR_PERSON_IN_ORGANIZATION_ASSIGNMENT(#16,'creator',(#700,#710,#720, OSLC PLM Workgroup
Changes • V0.1 Used during Gray/Ian working session • V0.2/0.3 Consolidate to post OSLC PLM Workgroup