09.08.2013 Views

Specification of an Architecture Meta-Model - SPES 2020

Specification of an Architecture Meta-Model - SPES 2020

Specification of an Architecture Meta-Model - SPES 2020

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

2.1.5.2 DataType {abstract}<br />

<strong>Specification</strong> <strong>of</strong> <strong>an</strong> <strong>Architecture</strong> <strong>Meta</strong>-<strong>Model</strong><br />

Type<br />

DataType ExtensionType<br />

Figure 2.7: Types.<br />

A data type denotes a set <strong>of</strong> data values. DataType is <strong>an</strong> abstract meta-class <strong>an</strong>d has<br />

four subclasses: Array, Record, PrimitiveType, <strong>an</strong>d Enumeration. See Section 2.5 for<br />

details on data types.<br />

Generalizations: Type<br />

Operations<br />

• isBoole<strong>an</strong>(): Boole<strong>an</strong> Overridden in subclasses.<br />

context PrimitiveType::isBoole<strong>an</strong>(): Boole<strong>an</strong><br />

post: result = (self .kind = PrimitiveTypeKind::boole<strong>an</strong>)<br />

• isReal(): Boole<strong>an</strong> Overridden in subclasses. Specified as for isBoole<strong>an</strong>()<br />

above.<br />

• isInteger(): Boole<strong>an</strong> Overridden in subclasses. Specified as for isBoole<strong>an</strong>()<br />

above.<br />

• isString(): Boole<strong>an</strong> Overridden in subclasses. Specified as for isBoole<strong>an</strong>()<br />

above.<br />

• isVoid(): Boole<strong>an</strong> Overridden in subclasses. Specified as for isBoole<strong>an</strong>()<br />

above.<br />

• isNumber(): Boole<strong>an</strong> Returns true if the type in question is intended to be<br />

used with arithmetic operators.<br />

context DataType::isNumber(): Boole<strong>an</strong><br />

post: result = (self .isInteger() or self .isReal())<br />

• conformsTo(DataType): Boole<strong>an</strong> Specifies whether the types denoted by self<br />

<strong>an</strong>d other are compatible.<br />

18/135

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!