Search in sources :

Example 21 with ComponentInstance

use of verdict.vdm.vdm_model.ComponentInstance in project VERDICT by ge-high-assurance.

the class VDMInstrumentor method retrieve_cmp_impl.

// protected ComponentImpl retrieve_cmp_impl(ComponentType componentType) {
// ComponentImpl componentImpl = null;
// for (ComponentImpl cImpl : vdm_model.getComponentImpl()) {
// ComponentType cmpType = cImpl.getType();
// if (cmpType.getId().equalsIgnoreCase(componentType.getId())) {
// componentImpl = cImpl;
// }
// }
// return componentImpl;
// }
protected ComponentImpl retrieve_cmp_impl(String componentID) {
    ComponentImpl componentImpl = null;
    BlockImpl blockImpl = null;
    for (ComponentImpl cImpl : vdm_model.getComponentImpl()) {
        if (cImpl.getBlockImpl() != null) {
            blockImpl = cImpl.getBlockImpl();
            for (ComponentInstance cmpInstance : blockImpl.getSubcomponent()) {
                ComponentImpl impl = cmpInstance.getImplementation();
                ComponentType enumType = null;
                if (impl != null) {
                    enumType = impl.getType();
                } else {
                    enumType = cmpInstance.getSpecification();
                }
                if (componentID.equals(enumType.getId())) {
                    componentImpl = cImpl;
                    return cImpl;
                }
            }
        }
    }
    return componentImpl;
}
Also used : BlockImpl(verdict.vdm.vdm_model.BlockImpl) ComponentType(verdict.vdm.vdm_model.ComponentType) ComponentInstance(verdict.vdm.vdm_model.ComponentInstance) ComponentImpl(verdict.vdm.vdm_model.ComponentImpl)

Example 22 with ComponentInstance

use of verdict.vdm.vdm_model.ComponentInstance in project VERDICT by ge-high-assurance.

the class VDM2Lustre method retrieve_block.

protected BlockImpl retrieve_block(ComponentImpl compImpl) {
    BlockImpl blockImpl = null;
    String cmpID = compImpl.getType().getId();
    for (ComponentImpl cmpImpl : vdm_model.getComponentImpl()) {
        if (cmpImpl.getBlockImpl() != null) {
            blockImpl = cmpImpl.getBlockImpl();
            for (ComponentInstance cmpInstance : blockImpl.getSubcomponent()) {
                ComponentImpl impl = cmpInstance.getImplementation();
                ComponentType enumType = null;
                if (impl != null) {
                    enumType = impl.getType();
                } else {
                    enumType = cmpInstance.getSpecification();
                }
                if (cmpID.equals(enumType.getId())) {
                    return blockImpl;
                }
            }
        }
    }
    return blockImpl;
}
Also used : BlockImpl(verdict.vdm.vdm_model.BlockImpl) ComponentType(verdict.vdm.vdm_model.ComponentType) ComponentInstance(verdict.vdm.vdm_model.ComponentInstance) ComponentImpl(verdict.vdm.vdm_model.ComponentImpl)

Example 23 with ComponentInstance

use of verdict.vdm.vdm_model.ComponentInstance in project VERDICT by ge-high-assurance.

the class VDM2Lustre method ignoreConnection.

// Ignore Connection or Marked Ports.
private boolean ignoreConnection(Connection con) {
    ConnectionEnd srcConnection = con.getSource();
    ComponentType srcType = null;
    ConnectionEnd destConnection = con.getDestination();
    ComponentType destType = null;
    Port srcPort = srcConnection.getComponentPort();
    if (srcPort == null) {
        CompInstancePort compPort = srcConnection.getSubcomponentPort();
        // System.out.println(">>>>>>>>" + con.getName());
        srcPort = compPort.getPort();
        ComponentInstance srcCompInstance = compPort.getSubcomponent();
        srcType = srcCompInstance.getSpecification();
        if (srcType == null) {
            ComponentImpl compImpl = srcCompInstance.getImplementation();
            srcType = compImpl.getType();
        }
    }
    Port destPort = destConnection.getComponentPort();
    if (destPort == null) {
        CompInstancePort compPort = destConnection.getSubcomponentPort();
        destPort = compPort.getPort();
        ComponentInstance destCompInstance = compPort.getSubcomponent();
        destType = destCompInstance.getSpecification();
        if (destType == null) {
            ComponentImpl compImpl = destCompInstance.getImplementation();
            destType = compImpl.getType();
        }
    }
    if (this.marked_ports.contains(srcPort) || this.marked_ports.contains(destPort)) {
        System.out.println("Ignore Port Connection:" + con.getName());
        return true;
    }
    if (this.marked_types.contains(srcType) || this.marked_types.contains(destType)) {
        System.out.println("Ignore Instance Connection:" + con.getName());
        return true;
    }
    return false;
}
Also used : ComponentType(verdict.vdm.vdm_model.ComponentType) CompInstancePort(verdict.vdm.vdm_model.CompInstancePort) CompInstancePort(verdict.vdm.vdm_model.CompInstancePort) Port(verdict.vdm.vdm_model.Port) ComponentInstance(verdict.vdm.vdm_model.ComponentInstance) ConnectionEnd(verdict.vdm.vdm_model.ConnectionEnd) ComponentImpl(verdict.vdm.vdm_model.ComponentImpl)

Aggregations

ComponentImpl (verdict.vdm.vdm_model.ComponentImpl)23 ComponentInstance (verdict.vdm.vdm_model.ComponentInstance)23 ComponentType (verdict.vdm.vdm_model.ComponentType)21 BlockImpl (verdict.vdm.vdm_model.BlockImpl)17 HashSet (java.util.HashSet)10 GenericAttribute (verdict.vdm.vdm_data.GenericAttribute)8 CompInstancePort (verdict.vdm.vdm_model.CompInstancePort)8 Port (verdict.vdm.vdm_model.Port)8 Connection (verdict.vdm.vdm_model.Connection)6 ConnectionEnd (verdict.vdm.vdm_model.ConnectionEnd)6 Expression (verdict.vdm.vdm_lustre.Expression)3 PortMode (verdict.vdm.vdm_model.PortMode)3 ArrayList (java.util.ArrayList)2 ContractItem (verdict.vdm.vdm_lustre.ContractItem)2 ContractSpec (verdict.vdm.vdm_lustre.ContractSpec)2 IfThenElse (verdict.vdm.vdm_lustre.IfThenElse)2 NodeBody (verdict.vdm.vdm_lustre.NodeBody)2 NodeCall (verdict.vdm.vdm_lustre.NodeCall)2 NodeEquation (verdict.vdm.vdm_lustre.NodeEquation)2 NodeEquationLHS (verdict.vdm.vdm_lustre.NodeEquationLHS)2