Sha256: 89c5246b01f5908aa0c9e200f97ea609bcf8f870a0dff0d393e46fa00aa4823a

Contents?: true

Size: 988 Bytes

Versions: 3

Compression:

Stored size: 988 Bytes

Contents

schema Machine {
	running is false
	address is ""

	procedure start {
		conditions {
			this.running is false
		}
		effects {
			this.running is true
		}
	}

	procedure stop {
		conditions {
			this.running is true
		}
		effects {
			this.running is false
		}
	}
}

schema VM extends Machine {
	created is false

	procedure start {
		conditions {
			this.created is true
		}
		effects {
			this.running is true
		}
	}
	procedure stop {
		conditions {
			this.created is true
		}
		effects {
			this.running is false
		}
	}
}

schema Cloud {
	running is false

	procedure create_vm(vm isref VM) {
		conditions {
			this.running is true
			vm.created is false
		}
		effects {
			vm.created is true
		}
	}
	procedure delete_vm(vm isref VM) {
		conditions {
			this.running is true
			vm.created is true
		}
		effects {
			vm.created is false
		}
	}
}

schema Client {
	refer isref Service

	procedure redirect (s isref Service) {
		conditions {
		}
		effects {
			this.refer is s
		}
	}
}


Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
sfp-0.2.1 test/cloud-schemas.sfp
sfp-0.2.0 test/cloud-schemas.sfp
sfp-0.1.3 test/cloud-schemas.sfp