Skip to content

Commit

Permalink
Merge pull request #85 from kbss-cvut/feature/83-extend-summary-02
Browse files Browse the repository at this point in the history
[Fix #83] Add calculated failure rate, fha based failure rate and failure rate requirement to fault tree summary.
  • Loading branch information
blcham authored Apr 30, 2024
2 parents dbdf6ed + 6174fa5 commit 3fd7d44
Show file tree
Hide file tree
Showing 4 changed files with 63 additions and 9 deletions.
11 changes: 11 additions & 0 deletions ontology-generator/ontology/fta-fmea-model.ttl
Original file line number Diff line number Diff line change
Expand Up @@ -496,6 +496,17 @@ fta-fmea:username rdf:type owl:DatatypeProperty ;
fta-fmea:to rdf:type owl:DatatypeProperty ;
rdfs:domain fta-fmea:failure-rate-requirement .

### http://onto.fel.cvut.cz/ontologies/fta-fmea-application/required-failure-rate
fta-fmea:required-failure-rate rdf:type owl:DatatypeProperty ;
rdfs:domain fta-fmea:fault-tree .

### http://onto.fel.cvut.cz/ontologies/fta-fmea-application/calculated-failure-rate
fta-fmea:calculated-failure-rate rdf:type owl:DatatypeProperty ;
rdfs:domain fta-fmea:fault-tree .

### http://onto.fel.cvut.cz/ontologies/fta-fmea-application/fha-based-failure-rate
fta-fmea:fha-based-failure-rate rdf:type owl:DatatypeProperty ;
rdfs:domain fta-fmea:fault-tree .

### http://purl.org/dc/terms/source
dc-terms:source rdf:type owl:DatatypeProperty ;
Expand Down
38 changes: 29 additions & 9 deletions src/main/java/cz/cvut/kbss/analysis/dao/FaultTreeDao.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

import cz.cvut.kbss.analysis.config.conf.PersistenceConf;
import cz.cvut.kbss.analysis.exception.PersistenceException;
import cz.cvut.kbss.analysis.model.*;
import cz.cvut.kbss.analysis.model.FaultEvent;
import cz.cvut.kbss.analysis.model.FaultTree;
import cz.cvut.kbss.analysis.model.FaultTreeSummary;
import cz.cvut.kbss.analysis.service.IdentifierService;
import cz.cvut.kbss.analysis.util.Vocabulary;
import cz.cvut.kbss.jopa.model.EntityManager;
Expand All @@ -15,7 +17,6 @@
import java.net.URI;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;

@Repository
public class FaultTreeDao extends ManagedEntityDao<FaultTree> {
Expand Down Expand Up @@ -91,15 +92,34 @@ public List<FaultTree> findAllSummaries() {
OPTIONAL{
?uri fta:is-manifested-by ?root .
?root fta:is-derived-from ?sup.
?sup fta:is-manifestation-of ?behavior .
?behavior fta:has-component ?subsystemUri.
?subsystemUri fta:name ?subsystemName.
?subsystemUri fta:is-part-of+ ?systemUri.
FILTER NOT EXISTS{
?systemUri fta:is-part-of ?system2.
OPTIONAL{
?root fta:probability ?calculatedFailureRate.
}
OPTIONAL{
?sup fta:has-failure-rate ?failureRate.
OPTIONAL{
?failureRate fta:has-prediction ?failureRatePrediction.
?failureRatePrediction fta:value ?fhaBasedFailureRate.
}
OPTIONAL{
?failureRate fta:has-requirement ?failureRateRequirement.
?failureRateRequirement fta:to ?requiredFailureRate.
}
}
OPTIONAL{
?sup fta:is-manifestation-of ?behavior .
?behavior fta:has-component ?subsystemUri.
?subsystemUri fta:name ?subsystemName.
?subsystemUri fta:is-part-of+ ?systemUri.
FILTER NOT EXISTS{
?systemUri fta:is-part-of ?system2.
}
?systemUri fta:name ?systemName.
}
?systemUri fta:name ?systemName.
}
{}
}""", "FaultTreeSummary")
.setParameter("type", typeUri)
.setParameter("pName", P_HAS_NAME)
Expand Down
11 changes: 11 additions & 0 deletions src/main/java/cz/cvut/kbss/analysis/model/FaultTree.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,17 @@ public class FaultTree extends ManagedEntity {
@OWLObjectProperty(iri = Vocabulary.s_p_is_performed_by)
protected NamedEntity subsystem;

@Transient
@OWLDataProperty(iri = Vocabulary.s_p_required_failure_rate)
protected Double requiredFailureRate;
@Transient
@OWLDataProperty(iri = Vocabulary.s_p_calculated_failure_rate)
protected Double calculatedFailureRate;
@Transient
@OWLDataProperty(iri = Vocabulary.s_p_fha_based_failure_rate)
protected Double fhaBasedFailureRate;


@NotNull(message = "Manifesting event must be chosen")
@ParticipationConstraints(nonEmpty = true)
@OWLObjectProperty(iri = Vocabulary.s_p_is_manifested_by, cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}, fetch = FetchType.EAGER)
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/cz/cvut/kbss/analysis/model/FaultTreeSummary.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,15 @@ public class FaultTreeSummary extends ManagedEntity{
@OWLDataProperty(iri = Vocabulary.s_p_subsystem_name)
protected String subsystemName;

@OWLDataProperty(iri = Vocabulary.s_p_required_failure_rate)
protected Double requiredFailureRate;

@OWLDataProperty(iri = Vocabulary.s_p_calculated_failure_rate)
protected Double calculatedFailureRate;

@OWLDataProperty(iri = Vocabulary.s_p_fha_based_failure_rate)
protected Double fhaBasedFailureRate;


public void copyTo(FaultTree faultTree){
super.copyTo(faultTree);
Expand All @@ -44,5 +53,8 @@ public void copyTo(FaultTree faultTree){
faultTree.getSubsystem().setUri(this.getSubsystemUri());
faultTree.getSubsystem().setName(this.getSubsystemName());
}
faultTree.setRequiredFailureRate(this.getRequiredFailureRate());
faultTree.setCalculatedFailureRate(this.getCalculatedFailureRate());
faultTree.setFhaBasedFailureRate(this.getFhaBasedFailureRate());
}
}

0 comments on commit 3fd7d44

Please sign in to comment.