File: ocl

package info (click to toggle)
ruby-rouge 4.6.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,836 kB
  • sloc: ruby: 38,168; sed: 2,071; perl: 152; makefile: 8
file content (45 lines) | stat: -rw-r--r-- 1,277 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package uml::Activities

context uml::Activities::Activity
	inv maximum_one_parameter_node:
		ownedParameter->forAll(p | p.direction <> UML::Classification::ParameterDirectionKind::inout implies
		  node->select(
		    (
		      oclIsKindOf(activities::ActivityParameterNode) and
		      oclAsType(activities::ActivityParameterNode).parameter = p
		    ))
		  ->size() = 1)

context Action::allActions() : Set(uml::Actions::Action)
	body:
	(self->asSet())

context Action::allOwnedNodes() : Set(uml::Activities::ActivityNode)
	body:
	(input.oclAsType(Pin)->asSet()->union(output->asSet()))

context Action::containingBehavior() : uml::CommonBehavior::Behavior
	body:
	(if inStructuredNode<>null then inStructuredNode.containingBehavior()
else if activity<>null then activity
else interaction
endif
endif
)

context uml::Actions::Action::isLocallyReentrant : Boolean
init:
	false

context uml::Actions::ExpansionRegion::mode : uml::Actions::ExpansionKind
init:
	UML::Actions::ExpansionKind::iterative

context Guard
-- [1] A guard should not have side effects.
inv: self.transition->stateMachine->notEmpty() implies
		(self.transition.stateMachine.context =
		self.transition.stateMachine.context@pre)

endpackage
body: self.employees->collect(salary) -> collect(x | x/6.55957)