Hello,
I have a basic question that I was not able to find in the Medini help section or on this forum. I would like to get access to the elements of a DCComponentEntry.
It seems that it returns an array of pointers. However I am stuck as I don't know how to access the elements of that array of pointers?
I have tried to convert it to an Array or to a List but it does not work.
My ultimate goal is to create a 'FMEDA dashboard' where I list all the HW parts of my FMEDA and for which I calculate local HW architectural metrics (SPFM,p SPFM,t and LFM,p) (by aggregating respectively SPF/RFp, SPF/RFt and MPF,latent,p for all children of each and every HW part (as long as they have children)).
I do have these local metrics in my FMEDA sheet already but only at the leaves (lowest level of architecture of my FMEDA). For this, I used Profiling like this for SPFM,p for instance (((self.failureRate-self.totalSpfFailureRate)/self.failureRate)*100)
The value add of this dashboard would be to calculate these metrics at any level of abstraction and therefore identify HW components, parts or sub-parts for which better diagnostic coverage would be required.
My script would start with the first DCComponentEntry of this Dashboard:
var MyObject=finder.findByType(Metamodel.dc.DCComponentEntry,true).and("worksheet",Dashboard).first();
it would return something like this:
I am interested in storing the bold entries in arrays or lists.
MyObject
de.ikv.analyze.metamodel.dc.impl.DCComponentEntryImpl@25263a62 (eClass:
org.eclipse.emf.ecore.impl.EClassImpl@4e133830 (name: DCComponentEntry)
(instanceClassName: null) (abstract: false, interface: false))
(mediniIdentifier: _E4HBcNoAEe6ZQMk9R31sTg)
->
de.ikv.analyze.domain.core.emf.DomainAwareSysMLPartImpl@6f7087c5 (eClass:
org.eclipse.emf.ecore.impl.EClassImpl@6eeb0b30 (name: SysMLPart)
(instanceClassName: null) (abstract: false, interface: false)) (mediniIdentifier:
_3PRGYMFVEeyXoaKDXxFd-g) (visibility: PUBLIC_VIS, typeCode: Component,
stereotype: , name: XXX , alias: , description: Scope:) (safetyRelated:
true, failureRate: 0.0, failureRateMode: FROM_CATALOG, rawFailureRate: 0.0,
percentage: 0.0, includeChildrenFailureRate: false, transientFailureRate: 0.0,
asset: false) (partNumber: , computeAverageFailureRates: false, direction:
<unset>, type: , isOrdered: false, isUnique: false, upper: , lower: ,
isComposite: true, variation: false) (nestingLevel: null, criticalities: null,
operatingTime: <unset>) (totalFailureRate: 0.0, totalSpfFailureRate: 0.0,
spfImportancy: 0.0, totalLmpfFailureRate: 0.0, lmpfImportancy: 0.0,
safetyRelated: true, transientFailureRate: 0.0, totalTransientFailureRate:
null, totalSpfTransientFailureRate: 0.0, spfTransientImportancy: 0.0,
totalLmpfTransientFailureRate: 0.0, lmpfTransientImportancy: 0.0)
Then I would look at children and continue...
var MyfirstObject=MyObject.children;
Thank you for your support and my apologies if this topic was described somewhere else.
Regards,
Romain Pouet