src/sysml/src/training/11. Interfaces/Interface Decomposition Example.sysml
package 'Interface Decomposition Example' {
	
	port def SpigotBank;
	port def Spigot;
	
	port def Faucet;
	port def FaucetInlet;
	
	interface def WaterDelivery {
		end suppliedBy : SpigotBank[1] {
			port hot : Spigot;
			port cold : Spigot;
		}
		end deliveredTo : Faucet[1..*] {
			port hot : FaucetInlet;
			port cold : FaucetInlet;
		}
		
		connect suppliedBy.hot to deliveredTo.hot;
		connect suppliedBy.cold to deliveredTo.cold;
	}
	
}