www.pudn.com > use-2.3.0.zip
To Read all the content
[file head]:
-- $ProjectHeader: use 2-3-0-release.1 Mon, 12 Sep 2005 20:18:33 +0200 green $
-- This file is intended to specify the actionsemantics model as defined in
-- in Response to OMG RFP ad/98-11-01
-- U. of York. October 2000
-- Jose Alvarez
-- $Id: actionsemantics.use 1.10 Fri, 01 Jul 2005 12:52:05 +0200 hanna $
-- issues to resolve:
-- - can't specify navigavibility
-- minor changes:
-- - all associations have a name
-- - renamed identifiers which are keywords in USE (e.g., association,
-- aggregate). Appended an underscore to these names.
-- - calls of additional (user-defined) operations with no arguments
-- contain parentheses '()'
-- - replaced occurrences of Boolean enumeration types by the real
-- Boolean type.
-- error categories:
-- MM-ERR: error in class diagram of UML metamodel
-- E0: not yet available in USE
-- E0.1: association class not available
-- E0.2: 0..1 association end as set
-- E1: Typo/Notation
-- E2: Inconsisteny
-- E2
... ...
[file tail]:
... ...
d/98-11-01
-- U. of York. October 2000
-- Jose Alvarez
--------------------------------------------------------------
-- constraints
--------------------------------------------------------------
context ApplyFunctionAction
-- Well-formedness rules
-- [1] The number and types of the input argument and output result pins
-- must be compatible with the number and types of the parameters of the function.
inv compatible_pins:
self.argument->size() = self.function.inputType->size()
-- Sequence {1..self.input_argument()->size( )} -> forAll (i:Integer |
-- let argumenti = self.input_argument (i)
-- let inparameteri = self.function.inputType->at(i)
-- argumenti.type.isCompatibleWith (inparameteri.type))
-- self.output_result()->size( ) = self.function.outputType->size( )
-- Sequence {1..self.output_result()->size( )} -> forAll (i:Integer |
-- let resulti = self.output_result (i)
-- let outparameteri = self.function.outputType->at(i)
-- outparameteri.type.isCompatibleWith (resulti.type))