<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>

	<extension
		id="eu.fbk.eclipse.explodtwin.application"
		point="org.eclipse.core.runtime.applications">
		<application>
			<run
				class="eu.fbk.eclipse.explodtwin.ui.ExploDTwin">
			</run>
		</application>
	</extension>
	<extension
		id="ExploDTwin"
		point="org.eclipse.core.runtime.products">
		<product
			application="eu.fbk.eclipse.explodtwin.application"
			name="eu.fbk.eclipse.explodtwin.ExploDTwin Product">
			<property
				name="appName"
				value="eu.fbk.eclipse.explodtwin.ExploDTwin Product">
			</property>
		</product>
	</extension>
	<extension
		point="org.eclipse.ui.menus">
		<menuContribution
			allPopups="false"
			locationURI="popup:#TextEditorContext?after=additions">
			<menu
				icon="icons/FBK.png"
				id="eu.fbk.eclipse.explodtwin.VTools"
				label="V&amp;&amp;V Tools">
				<visibleWhen
					checkEnabled="false">
					<reference
						definitionId="eu.fbk.sysmlv2.SysMLv2.Editor.opened">
					</reference>
				</visibleWhen>
				<menu
					icon="icons/export.png"
					id="eu.fbk.eclipse.explodtwin.VTools.Export"
					label="Import/Export">
					<command
						commandId="eu.fbk.eclipse.explodtwin.commands.GenerateOssModel"
						icon="icons/export.png"
						label="Generate OSS model"
						style="push">
					</command>
					<command
						commandId="eu.fbk.eclipse.explodtwin.commands.GenerateSmvModel"
						icon="icons/export.png"
						label="Generate SMV model"
						style="push">
					</command>
				</menu>
				<menu
					icon="icons/behaviour_verification.png"
					label="Validation">
					<command
						commandId="eu.fbk.eclipse.explodtwin.ui.commands.PropertyValidation"
						icon="icons/contract_verification.png"
						label="Check Validation on Assumption/Guarantee Properties"
						style="push">
					</command>
				</menu>
				<menu
					icon="icons/behaviour_verification.png"
					label="Verification">
					<command
						commandId="eu.fbk.eclipse.explodtwin.commands.CheckSmvModel"
						icon="icons/behaviour_verification.png"
						label="Model Checking Analysis"
						style="push">
					</command>
					<command
						commandId="eu.fbk.eclipse.explodtwin.ui.commands.ContractRefinement"
						icon="icons/contract_verification.png"
						label="Check Contract Refinement"
						style="push">
					</command>
					<command
						commandId="eu.fbk.eclipse.explodtwin.ui.commands.ContractImplementation"
						icon="icons/contract_verification.png"
						label="Check Contract Implementation"
						style="push">
					</command>
					<command
						commandId="eu.fbk.eclipse.explodtwin.ui.commands.CompositeContractImplementation"
						icon="icons/contract_verification.png"
						label="Check Composite Contract Implementation"
						style="push">
					</command>
				</menu>
				<menu
					icon="icons/safety.png"
					label="Safety Analysis">
					<command
						commandId="eu.fbk.eclipse.explodtwin.ui.commands.FTA"
						icon="icons/tree_normal.gif"
						label="Fault Tree Analysis"
						style="push">
					</command>
					<command
						commandId="eu.fbk.eclipse.explodtwin.ui.commands.FMEA"
						icon="icons/table.gif"
						label="Failure Mode and Effects Analysis"
						style="push">
					</command>
				</menu>
				<menu
					icon="icons/safety.png"
					label="Fault Detection and Isolation">
					<command
						commandId="eu.fbk.eclipse.explodtwin.ui.commands.CheckDiagnosability"
						icon="icons/diagnosability.png"
						label="Check Diagnosability"
						style="push">
					</command>
					<command
						commandId="eu.fbk.eclipse.explodtwin.ui.commands.OptimizeObservables"
						icon="icons/tools.png"
						label="Optimize Observables"
						style="push">
					</command>
				</menu>

			</menu>
		</menuContribution>
	</extension>
	<extension
		point="org.eclipse.ui.commands">
		<command
			defaultHandler="eu.fbk.eclipse.explodtwin.ui.commands.GenerateOssModel"
			id="eu.fbk.eclipse.explodtwin.commands.GenerateOssModel"
			name="Generate OSS Model">
		</command>
		<command
			defaultHandler="eu.fbk.eclipse.explodtwin.ui.commands.GenerateSmvModel"
			id="eu.fbk.eclipse.explodtwin.commands.GenerateSmvModel"
			name="Generate SMV model">
		</command>
		<command
			defaultHandler="eu.fbk.eclipse.explodtwin.ui.commands.CheckFaultSmvModelEATA"
			id="eu.fbk.eclipse.explodtwin.commands.CheckSmvModel"
			name="Model Checking Analysis">
		</command>
		<command
			defaultHandler="eu.fbk.eclipse.explodtwin.ui.commands.CheckContractRefinement"
			id="eu.fbk.eclipse.explodtwin.ui.commands.ContractRefinement"
			name="Check Contract Refinement">
		</command>
		<command
			defaultHandler="eu.fbk.eclipse.explodtwin.ui.commands.CheckPropertyValidation"
			id="eu.fbk.eclipse.explodtwin.ui.commands.PropertyValidation"
			name="Check Validation on Properties">
		</command>
		<command
			defaultHandler="eu.fbk.eclipse.explodtwin.ui.commands.CheckContractImplementationEATA"
			id="eu.fbk.eclipse.explodtwin.ui.commands.ContractImplementation"
			name="Check Contract Implementation">
		</command>
		<command
			defaultHandler="eu.fbk.eclipse.explodtwin.ui.commands.CheckCompositeImplementation"
			id="eu.fbk.eclipse.explodtwin.ui.commands.CompositeContractImplementation"
			name="Check Composite Implementation">
		</command>
		<command
			defaultHandler="eu.fbk.eclipse.explodtwin.ui.commands.FaultTreeAnalysis"
			id="eu.fbk.eclipse.explodtwin.ui.commands.FTA"
			name="Fault Tree Analysis">
		</command>
		<command
			defaultHandler="eu.fbk.eclipse.explodtwin.ui.commands.FailureModeEffectsAnalysis"
			id="eu.fbk.eclipse.explodtwin.ui.commands.FMEA"
			name="Failure Mode and Effects Analysis">
		</command>
		<command
			defaultHandler="eu.fbk.eclipse.explodtwin.ui.commands.CheckDiagnosability"
			id="eu.fbk.eclipse.explodtwin.ui.commands.CheckDiagnosability"
			name="Check Diagnosability">
		</command>
		<command
			defaultHandler="eu.fbk.eclipse.explodtwin.ui.commands.OptimizeObservables"
			id="eu.fbk.eclipse.explodtwin.ui.commands.OptimizeObservables"
			name="Optimize Observables">
		</command>
	</extension>

</plugin>
