Formal Specification of Reusable Interface Objects - CiteSeerX

3 downloads 0 Views 876KB Size Report
lcmnova@neumann. uwaterloo. ca. Permission ...... 1.1 edition,. December. 1991. Erich. Gamma,. Richard. Helm,. Ralph. Johnson, and. Jonh. Vlissides. Design.
Formal P.S.C.

Specification

Alencar

D.D.

*

of Reusable

Cowan

t

C.J.P.

Abstract In

this

paper

we

called

of

to

face

and

Our

a high

from

application

for

building

tion

blocks

for

structure

to that

1

and

ADV

formally

application

an

for

should

both

required

inter-

the

object,

ADV

and

support

the

describes

be seen

development the

application

include

of system

can

descriptive are

the

ba-

design,

approach.

static,

operation schemas

on

that

specification,

structural,

system

based

dynamic

the

specifica-

it should

underlying

significant

barrier

implementations

between

in-

cation

components.

*P. S. C. Alencar ence Department tario,

Canada

to

the

reuse

of software

and

is currently

of

on

both and

Professor

University

designs modules

and

from

face.

On-

the Departamento

Waterloo,

Ontario,

~C.J. P. Lucena is a Visiting Professor in the ence Department at the University of Waterloo, t ario,

Canada

and is currently

Department from

at University CNPq,

Email:

on leave from

of Waterloo

For example,

practice

in general.

to the data structure.

Input

should

not be aware of the mode of interaction.

the Depart

terface” service.

Canada,

Computer Waterloo,

and holds

lcmnova@neumann.

a doctoral uwaterloo.

or object approach

should

not be aware of the inter-

to defining

an interface

implies

a

joins

two components

one of which

supplies

a

View [6] approach uses an objectThe Abstract Data oriented formal design model which supports separation of concerns and reuse of design specifications. The basic constructs of the ADV approach are the Abstract Data View (ADV) and the Abstract Data Object (ADO),

SciOn-

amento

This

clear separation of concerns. Such a problem is often addressed in mechanical systems where a linkage “in-

de

Inform& tica, Pontiffcia Universidade Cat61ica do Rio de Janeiro, Brazil. Email: [email protected] $LC.M, Nova is a F’hll candidate in the computer Science lowship

not be attached

the module

Sci-

Waterloo,

de Ci6ncia da Computa@o, Universidade de Brasilia, Brasilia, Brazil. Email: [email protected] o.ca tI).D. Cowan is a Professor in the Computer Science Department at the University of Waterloo, Email: [email protected], ca

or modules.

define an interface that separates the module or object from the user interactions or from the services supplied by another module or object. The interface should be aware of the requirements of the module or object, but

is the

in the Computer

of Waterloo, leave

objects

Similarly a module should know it requires services and specify that fact, but it should not specify how those services are supplied. What is required is an ability to

objects

is a Visiting

at the

other

has a similar property. There are many ways that a user can interact with an application and so the appli-

of a specification

interconnection

about their sura typical module

There are many ways that a data structure can be displayed, and since this is not an intrinsic property,

components.

as an

from

but to good engineering

These

and

$

a module will know too much about naming conventions in a file system, or about the names of modules or functions from which it acquires services. Such depth of specialized knowledge seems counter not only to reuse

Introduction

A

Nova

application, or what objects on the screen correspond to activations of components of the module. Similarly, a module or object knows too much about the services

com-

approach

ADOS,

system

using the

such

language

The and

designs

is

and the

concurrent

Additionally,

terface

Such of

reuse

framework

of each

of the

the

of

ADVS

describe

feat ures

(ADVS). clearly

system.

both

implementation

schemas

L.C.M.

$

or object of an application often knows about its user interface, specifically details of how its data structures will be displayed, how the user will interact with the

a new

reuse-in-the-

components.

specification

schemas

and

interfaces

of

support

Views specify

degree

approach

to

to

of a software

lead

sic

Data

created

separation

a formal

concept

Abstract was

ponents

present

design

approach the

Lucena

Objects

fact that they internalize knowledge rounding environment. For example,

object-oriented large

Interface

which represent, respectively, interface objects (views and interactions) and application objects which are independent of the interface. These objects provide a disciplined approach to design which supports separation of concerns, and should lead to a wide and consistent reuse of design specifications for both interface and application components.

felca

Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and th,e title of the publication and its date appear, and notice is given’ that copying is by permission of the Association of Computing Machinery.To copy otherwise, or to republish, requires a fee and/or sriecific ~ermission. SSR ’95, Sea~le, WA, USA @ 1995 ACM 0-89791 -739-1 /95/0004 ...$3.50 ‘

Various architectural models and programming proaches [3, 9, 13, 14, 17] have been proposed

88

apthat

clearly separate the user interface application. little

However,

guidance

isgiven

with

and its corresponding

the architectural

undesigning

2.1

models,

aprogram

Before considering

to have

a reasonable level of assurance that the architecture will be followed. Specific implementation techniques such as MVC [14] and ALV [13] have also been reported in the literature. These rely on contemporary programming

and operators

to support

separation

mouse click typify

of in-

for representing

ADV

or events are the result dependencies introduced

an ADV

may be considered

as a special-

of ADOS and ADVS.

an

ADV

query

does

or modify

or a mapping

its

about state

between

the

associated

means ADV

importance of this asymmetry later in this paper.

of its

ADO public

and

Data Object

Objects (ADO)

is an object in that it

or user commands do not directly act on an ADO, thus conserving the notion of an interface disconnected from an ADO. In the ADV design model, we extend the concept of ADO to allow composition of ADOS through specification constructors, where composition implies that ADOS

An ADO has no knowledge

its by

Data

has a state and a public interface that can be used to query or change this state. Every action of the public interface of an ADO is an effectual action and can only be triggered as a consequence of another ADO or ADV action. The action of external events such as input events

are composed of a number of constit uent ADOS and that In using composione ADO encloses its constituents. tion we also assume that the enclosing ADO- knows the identity of its constituents, but the enclosed ADOS do not know the identity of the enclosing ADO.

(ADVS), thus ensuring independence of from its interface. On the other hand, know

Abstract

An Abstract

Both ADVS and ADOS are objects and are composed of data signatures, attributes, and actions. ADVS are modified ADOS that support the role of interfaces in a software system. Although we can find many structural similarities in both concepts, it is important to observe that there is a clear separation between capabilities

of external stimuli, the action in this section are quite intu-

model

ization of an object with characteristics to support the development of general interfaces. As a consequence, the ADV model will embrace most of the characteristics that are inherent in the theory of objects [18].

of its interfaces the application

between the two types

itive. Moreover, these dependency definitions lead us to the conclusion that only causal actions (input events) can change the state of the system. The notion of actions is used in a subsequent section with respect to interconnection between ADVS and ADOS.

2.2 In general,

events that are causal actions.

Since internal elements do not trigger any event external to the system, and in addition, internal operations

designs using ADVS, have been tested in the production of several different software designs. ADVcharts have also been used to redesign and reengineer an existing interactive soft ware system.

of the

two categories:

A causal action may originate zero, one, or several effectual actions. Conversely, an effectual action cannot generate a causal action. This means that if we visualize a tree of related actions occurring over time, then a causal action will always appear only at the root of a tree of actions. This syntactic rule also characterizes the ADV-ADO interaction.

style.

Concepts

ADVS

of actions, while Figure 2 exemplifies the relationship between the two types of action occurrences.

that was built as a research prototype, was motivated by the idea of composing applications in the ADV/ADO

2

input

shows the possible dependencies

a user interface design system (UIDS) [15], to support concurrency in a cooperative drawing tool, and to design and implement both a ray-tracer in a distributed environment [19] and a scientific visualization system for the Riemann problem. The VX-REXX [21] system

formalism

with

On the other hand, effectual actions are the actions generated directly or indirectly by a causal action. Figure 1

ADVS have been used to support user interfaces for games and a graph editor, to interconnect modules in

[4], a graphical

associated

We use the term causal actions to denote the input events acting on an ADV. Causal actions are triggered from outside the system and internal objects are not able to generate this type of action. A key stroke or a

terface and application in the design is one of the major contributions of the ADV design model.

ADVcharts

the concepts

and ADOS, we introduce some basic concepts about actions. We call actions the programming functions and input events that act on an object to change or query its state. Actions can be divided into causal act ions and effect ual actions.

models and have been illustrated by several examples. For example, MVC was originally used in Smalltalk and ALV used constraint programming in a LISP environment. Although these are excellent implementation models, it is often difficult to map these strategies into other programming paradigms. The introduction of structures

Actions

can

interface

and related ADO. The in the model is indicated

Specification constructors for inheritance, sequences are also part of the formalism.

89

sets, and They are

ActionC.U,.l Action,

+

Action,

ff,ctU.l

+

jf,

Action,

CtU.l

ActionC.U,.,

ff.ctU.l

Action,

Figure

described

in

[1]

and

composition-based, terpreted

all

of

which

through

these

means

a primitive

1: Action

constructors

that

they

can

composition

be

+

of an

in-

been triggered

effectual

of an ADV

specification

the

Abstract

An ADV

is a design

user interface providing

structure

and to achieve

a clear

the application

and

to ADOS

to support

terfaces.

Since they

support

the

previous

section.

a separation

separation

of concerns

at the design

its interface.

ADVS

the design

of user

ADO

are

specification

ated

to act as general level

by

and

module

totype

constructors

described

mands

in-

ADVS

ADO,

tation

also

mechanism

are activated

by a mouse,

of game state

ADO.

monitors nism.

the

provokes

in order

ADO,

ADV

and

the

state

detects

this

appropriate,

the state the

change

the

the

the

of this the

ADV mecha-

game

ADO,

ADO

the

mapping

message

its

board

mapping

in

through

sends an output

of

state

is changing

move,

state

for

action)

to change

operation

in the

event

(causal

consequently

through

an internal

procom-

on the represenan input

ADO

user

section,

If user

event

game

to the

a change

the

in this

a click

actions

ADO

When

between

of a chess game

generate

The input

While

or The

the associ-

stimuli.

ADV.

as a response

by

ADO.

represents

introduced

of a chess piece would

piece

to the

behavior

to an external

effectual

interface

of the ADO.

concepts

the simplified

associated

specified

established

which

has

a query

action

ADV

in response

triggers the

that

is either

public

the

the state

interface

Alternatively,

state

ADO

from

the

the corresponding

in the

ADO

of the ADV

and

we describe

are extensions

extensions,

variable

ADO

action.

the

mapping

To illustrate

between

of this

the

is a linking

owner

conceived

action

by another

accessing

mapping

Views

Data

Actionc.=,al

about

ADV

by a direct 2.3

+

dependencies.

are

construct.

ActionCaU,=l

ff,c,U.l

that

bead

and,

updates

if the

user view.

2.4

Interconnection

Communication

between

is essentially are mapped described proach Figure

As

shown

ADV

by input

Figure

The

interaction

2,

the

operations the ADO ADVS

the

ADVS, has

output

change ADO

an

ADO.

ADV of

is invoked

actions

such

in

the

state

no

knowledge

as the

Changes

of an

between origin.

Such

changing in

the

an

or ADO

are

the the

other

components.

handling

asynchronous

complex

than

invocations

error-prone

a one-way

With

Although ADO This

and

“body

ADV”

have

ADO

lationships and

result

90

and the

by

is placed

the

ADO

of actions ADO.

Such

itse!f.

the

This

relationships

the role

ADV

and

model

asyn-

ADV

approach,

structure

the

and attributes

that

the

a design

between

inen-

we

unambiguously.

we can still

using

using

mapping

as a consequence,

between

process,

as signals,

ensuring

are defined

interconnections

is achieved

state

and,

communication

is a synchronous

chronous

associ-

since

such

thus

asyn-

However, more

an explicit

communication

where

and

invocations,

mechanisms

or callbacks.

ap-

is considerably

synchronous

of the interface

interactions

state

from

force

an

models,

invocations

and scope

ADV

user interface

chronous

handling

as

synchronous

synchronous

or

ADO.

The

that

instances,

both

terrupts,

com-

ADO

handle

events.

its

querying

other

instance

of actions

must

it requires

an input

and

section.

interconnections,

associated about

with

and an ADO

invocation ADV

previous

have fewer

as display through

the

extends

or causal

is altered

in the

contrasts

by

event,

of the ADV

has

either

is triggered

a keyboard

external

interaction

an

of an ADV

click,

to include

between

and output

action

between

a component

events

interface

appearance

every

purpose the

as a mouse

send

or a

Since

ADO

is, an ADV

the action

if their

message

ated

that

interface

also

mands,

interface

such Thus,

model.

interaction

of input

action

events,

a timer.

of

in

ADV/ADO

and a user is by means

messages.

the

2: An

an ADV

a synchronous

ADV

body

ADV

between illustrate

where

(view)

a

of an

defines

re-

the ADVS the

corre-

spondence ADO.

of elements

Each

where and

one element the

other

In general, that

sociated

ADO.

an ADV

with

is defined

has a correspondence ADV

specifies

inside

instead

interacts

of acting

Consistency

ADO.

tions

with

the ADV

model.

is called

horizontal

its as-

the design

structures intercon-

tween ties

Asynchronous

Model

Data Signature

ADV

Dats Signatures

ADOS,

ADO

Data Signarure5

cent aining

Data Signatures

Actions

Amibutes

Atwibutes

In

the

of the with

the clock

Figure

3: Interconnection

the ADV

the

state

of the

not

by the user interface.

In

this

3(a)

illustrates

interconnection side in

the

process,

body

both

ADV

ADV

respectively.

dences,

the body

introduces

between tures

section

might

the

many

ADVS

or

where

describe

ated,

a relationship

of actions.

actions,

an ADO,

we can

In

[7] there

such

design

be useful.

These

both

schemas

how

Additionally,

to be suitable introduced

here

the definition

ADV

approach.

are cre-

constitute the

the

the basic structures

enused that

The

be regarded

in

software

operations

of a formal

use

and ADO

in the

of development.

may

ADOS, [16], we

objects

step

for refinement

at each stage

step towards design

they

and

through

for each ADV

is an important

were

In addi-

formalism the

the

informal

in [11].

are destroyed

since

for

schemas

of ADVS

process,

occur

and

abstract

and

our

logic

system.

of the

formal

fact,

development

fications

struc-

schemas

In

of a schema

system

the since

by a timer

ones described

and

through

of the ADO,

abstract

tities should

are

the

time.

ADOS.

descriptions

states,

definition

are shown

interconnections

for [2].

con-

associated

specifications

on a temporal

in

change

The

such

the use of a body with

ADOS.

applications

also

a.Z correspon-

horizontal views

is changed

and

tools

ensures

by the state

to the ADVS

ADO

syntactic

while

the same

ADO

on the

are based

a software

to describe only

based

to the

which

a2

time.

ADVS

specifications

consistency

speci-

as an initial

semantics

for the

Consistency between

to create

collection

face for

input

between

same structure

only

it possible

cation

also define

are useful

tion

the

al and

schemas

of an ADO

specified

to the state

ADVS

program

2 illustrates

a model

different

we introduce of

primarily

and an ADO

and

we have been illustrating

The separation

view,

should

al

in-

action

we have

where

to an ADV the

in invocation

interesting

2.5

single

3(b)

model,

asynchrony

to interconnect

also use this some

ADV

delay

Although ADV

Figure

invocation Besides

action

a corresponding

corresponding

action,

as a specific

In

of a synchronous

a is a single

has

ADO.

action

are two actions

where

that

and

asynchronous

that

the modeling

clock

and

specification Figure

show

from

ADV

properof ADVS,

Figure

ADO, the

accessible

mapping

3

models.

clock

ADO

beADO

consistency

using

the time

that

is made

by

ADVS

consistency

specification

vertical

shows

guarantees

time

These

example,

(ADV)

while

as a

interfaces.

corresponding

The

m)

clock

itself

introduced

the different

environment.

distinct

representa-

ADO

and its associated

by the

properties

two

a view

sistency

(a)

consistency.

by their

visual

the

among

(ADV)

be guaranteed

and

the

and

consistency, object

consistency

that

Actions

the user and

of concerns

Consistency

vertical

must

these ADO

between

among ADO

of the separation

the visual

is called

exist

of a single

consequence

nections.

ADV

must

(ADVS)

as a design

and asynchronous

Synchronous Model

as the interface

the ADO.

an ADV the

be regarded

3 illustrates

synchronous

associated of elements

inside

how an ADV

Figure

can model

may

its

for a pair

has a correspondence

the body

element that

in

relationship

a clock

an analog

[7] would

different

of ADOS.

visual

could

view,

or both.

ADO,

ADO.

be placed

and application

Another

between

ADVS

and

schemas

two

ADOS These

a system,

and dynamic

as

ery

ADOS,

91

ADV

distinct

or

rather

in a software

are described

are not

of the

structure

objects

of their of entities

object.

is subdivided

sys-

by differ-

the actual

descriptions

and declarations

the scope ADO

roles

they

schemas

but

properties

are used within

ADV

have

as a consequence,

ent schemas. inside

appli-

values

case, a composite

as an interface

Descriptive

tem and,

in a digital possible

is to use its attribute In such

for a

the user inter-

be represented

3.1 makes

representations

For example,

ADO

for the clock to another

interface

Therefore, into

static that evthree

sections:

declarations,

static

properties,

and

servable

dynamic

Despite system, most

properties

objects

properties. having

completely

an ADV,

of the

different

as an extension

properties

acterize

an ADO.

abstract

schema

tinctions

between

and

for

and

and

then

ADO

form

conserves

structure

we initially

ADVS,

ADV

of an ADO,

general

Therefore,

tributes

roles in a software

g:sl,

where

introduce

the

note

dis-

is a sort

the

optional the

Data

forADO

ADO_Name

Signatures

Attributes Causal Actions

- sorts and functions observable properties - list of possible input

Effectual Actions Nested ADVS

- list of possible effectual actions inheritance, - allows composition,

Static Properties Constraints Derived Attributes Dynamic

End

constraints

of objects actions

in the attributes

- non-primitive

attributes

of the object. are represented

optional both

values

are declared and

- attributes

Valuation

- communication process description the effect of events on attributes

initialization

only

be

Behavior

- behavioral

tions

defined

of the ADV

changed.

every

ADV

an application duces the

the

ADO,

link

ADV

AD V-Name/ADO-Name

rule

corresponding resents since

occurs

ADO,

a button

screen.

In this the ADV

The

data

changes

case, the

the

so is called

interface

section

when colors

f

the

an ADV

part

a

rep-

of j,

and

be used values

blank,

consists

of a s, E S

the domain

n is the

arity

In the

We use the pair ifications ations

for



establishing

on the

values

the

that

Among sort expressions tions, such as integer specific

abstractions

defined

sorts.

can

also

sions, an

since

functions,

are also part Attributes an object

that

available

are stored

types

and

in the

including

object

support

oper-

this

constructors, to

of a set

such as set and

compose

complex

involved of values

denoting

with

operations

of the data

signature

denote

state

the

can change

in a sort

over

a sort

over

sort

union, is

values,

section.

or the time.

They

of

are the ob-

values may

from

useful

to an-

to model

actions. we should

objects

specification

constructors the

[const~]obj,

that

syntax

where

and obj denotes

name. The ADV compose, inherit,

intro-

of a composite

we specify

constructor,

section.

be considered

one object

V) section

by the expression

the

of the ob-

valuation

is particularly

the

could

during

case the parameter

in the

Therefore,

occur-

or they

of data

the attribute

(AD

have They

of

constr

the nested

approach supports the set of and sequence

of. objects

objects

are components

which

do not

component

of the

Composite

objects

stance can

set of features

section

All

expres-

expression.

given

with

may

of an action

to query

in

while

of the system.

of an object,

parameters

ADO

nesting.

ADO (ADV) constructors

or user-

signature

of ADOS

ADO,

the

data

and

are defined

specification.

In the first

the

of ADV

actions

description

effect

ac-

to be

types

actions

can

the

of the attribute

a system

to transmit

is a specification

attributes.

instances

case,

or ADV

spec-

we may have the basic abstracand string and the application

the semantics

association

The

Sort

be applied

in our object

Causal

are

observer

duce the list of all the component ADO

f.

in

values

which

the state

is described

Nested

attribute

the transmission

Such a mechanism

the response

of of

second

that

action

state

process.

as a mechanism other.

declarations

so, with

the

are used to update

In the

occur

schemas,

sections:

of the associated

to define

process

of the

actions

distinct

observer

inside

to describe

This

2.1,

schema

modify

current

interconnection ject.

functions.

.sl, . . . . Sn is called

on the

the until

O,. ... n, wherea

in the ADV

subtypes:

in

role

i=

actions,

state

actions

be used

rence

display

is left

of an object

: S1, . . . . Sn --+

codomain

have

the

parameters

might

excep-

of the

and a set F of function

form

for z = O, . . . . n, where f,

the

The

does not

ADO-Name

has only

names,

have

the ADV

the changing

time,

creation

we can subdivide The

to query

an important

link

two

local

other

actions.

The

which

Such

for.ADO.

as for example

that

ADO.

of

4, intro-

through

associated

when

signature

set S of sort which

to the

ADVS part

seen in Figure

by the constructor

to this

for ADVS.

as an interface

the schema

is related

is represented tion

is considered

changing

Sfor

to note

by

two

AL

Actions.

in the same

into

over

from

Section

into

Additionally,

actions

change

However,

It is also important

ADV-Name

Since

in

Efieciuai

affected

may

so

attribute.

S1, . . . . Sn (~ ~ O) represent the of the action. According to the

and ADOS.

Actions

O) deand

as a set of declarations

sorts

actions

0,. ... n, z

attribute,

of the

sie

introduced

Initialization

schema

and

ADVS

Interconnection

4: A descriptive

name,

parameter

definitions

Properties

Figure

with

is an action

description

properties

. . ..sn.

of the

unaltered

Actions a:sl,

Atof the

Sfori=

range

values

remains

destruction

form

by other

object.

S1, . . . . Sm (n

sorts the

attribute

of that

sie

name,

parameter

set of attributes ADV ADV-Name Declarations

----+ so, with

determining

though

schemas.

. . ..sn

are used

state

as a set of declarations

g is an attribute

char-

and

on the current

are represented

that

mention

of an object

to report

of the

happen

component composite

of some composite

belong

to a composite

operating are

environment

responsible

components. only

once

object

can

objects.

The

for

Since

in

a life

never same

the

of any

be nested rules

object;

object or

are a

“system”.

creating

creation

the

in-

action

object,

then

in two

distinct

used here for ADOS

a

will

also apply

tion

to ADVS.

components

static

and

properties affect

the

ties

of an

object

While

state

constraint

be true derivation

primitive

[20].

logic

ant

and

property,

ways”.

Derived

of temporal The

that

is valued

the occurrence tribute

creation,

ues even after The BEG

--+

clared object

In the

tions

tion.

val-

and

must

to describe

Behavior

mented

., Sj),

where

must

be de-

they

change

havior.

section

there

actions

in

and

correspondence

and

should

also describe

tions

inside

trigger

no knowledge The

tended

section

interpretation

actions

must of

form

have

a morphism obj-name

is

is

specified

1 element

element

refers

In Figure

has

therefore

mor(or

F--+

in

the

first

header

be-

paper,

we

the object

be-

of graphical have

repre-

chosen

instead

[4, 12, 5].

of the

object.

logic actions

A typical

forand

behavior

A action-name

and post-state in the

-+

are states

data

signature

and action_name

of sec-

is an action

might

schemas of

tions.

obj-name2.element

the

the

header

related

actions

an ADO

of

the

name the

has no

header

of the ADV

of

ADO

schema

AD V-Name/ADO-Name. difference

As mentioned

of every is found

ADVS,

only

schema,

structure

Since

associated

structural

is effectual.

93

schemas.

contains

a pair

Its charac-

the details

in the

is in sections

of causal

or actions

its

while

contain

Another

represen-

need to describe

of the

schema

of an ADO.

to the ones in the ADV

distinction

about

(ADO-Name),

in-

attributes

to attributes

The

an ADO

interconnected expressions

task.

are aug-

by temporal

5 we see the schema

we do not

knowledge

and which The

functions,

are very similar

section. by

In this

by pre-state

pre-state

over

system

which

[8].

sequencing

are declared

as boolean

the ADO

The by

that

object

teristics

objects.

simultaneously.

the

ac-

attributes

and

where

formula of an ac-

a complex

to describe

of the

the

of an ac-

of the object.

of ac-

morphisms

state

of

a single

of an action

networks,

be expressed

post_ state,

important

interconnected values

in the

since

represent

of objects

the

is described

tion

declared

will

express

form

of temporal

we could

behavior

first

valuation

are a number

that

expression

an ADO

described The

between

same

section

ADVS.

which

is that the

happen

ob~”-name.

since

attributes.

to be identified

always

Another

here is that action,

are used to define are

in this

of an action

the existing

and

as an in-

be the triggering

object.

an ADV

about

of actions

mappings)

must

this

interconnection

actions

could

to be mentioned

cannot

phisms

expressions

of

the

that

changes

and ac-

there

of and

on the occur-

general

diagrams

means

occurrence

models

representation

behavior

mulas

a

of attributes

is described

all the effects

Such effects

have

the attributes

mapping

ADO

The

or outside

consideration

The

its associated property.

in this object.

with

object.

object

is in

languages

by

The

the effects

description

However,

The

is a description

one

form

of transition

de-

pre-conditions,

the

on the

shows

state-machine

sentation

the

other

will

pre-condition

= valuem.

of the object.

chose a textual

have a correspond-

a +

values

by means

that

a. In addition,

of the object-oriented

havior

that how

Such a formula

Most by the formula

The

if

of an

occurrence.

one, or many

post-conditions

the attribute

(, Sj),

actions

attributes

terconnection

where

the at-

action

to describe

is unlimited.

of a only

occurrence

a pre-condition

named zero,

of formulas

to describe

in any other

an ADV

the

AaN(Sl,

have

establishes

at the time

have undefined

is expressed

actions

after

Since

may

are applied

and the pre-conditions

of the forms

of the action

de-

properties in attribute

a is described

A. . . attw

causal

consequence

expression

the

defines

tion

attributes

before

and

occurring

for the

an action

formula

number

process.

interconnection

synchronous

tation

S;)

entrance

for

can term

properties

valuation

rules

the

= valuel

action

The

values

a + rence

attributes.

of which

tion

may

initialization

as effectual

ing valuation

action.

Both

and

is declared

effectual

valuation

pre-conditions

the new attribute

attl

the

valuation

formulas

by

every

unchanged

not be initialized

process ...

of an object,

The

temporal

val-

defined

in their

as an immediate

are satisfied.

Valuation

object

the objmame

be one that

the changes

object

action.

When

section.

are to be evaluated

by means

In addition,

an attribute

al(Sl,.

of this

termine

“al-

the attribute

remain

the initialization

are

operator

is generally

the creation

or may

initialization

al, . . . . aN

by

initialize

by actions

may

describe

@ is an invari-

logic

of the initialization

values

of object

that

as undefined.

are not affected

of an object

temporal

of an object Before

valuation

action

are represented

also have

in the

obj_name

should

declared

actions

sections

all the specified

itself, the

are also expressed

of actions

ues of this object. attribute

is

element

the

triggered

formulas.

initialization

the triggering

of the object

temporal

attributes

logic

from

the

the

object.

object.

values

the

does not change

CI#, where

All fined

attribute

inside

the current

action

must

define

attributes

Constraints

•I is the

that

A derived

expression

does

proper-

formulas

attribute

inside

formulas.

to properties

it is a property

of the object

static

closed

non-primitive

the derived

the temporal

by

attributes.

are defined

be seen by the current

considered

existence

The

attribute

the

in that

but computing state

for

(base)

an attribute

refer

are

their

represented

derived

rules

since object.

formulas

over time,

which of

is missing,

attributes

of the

are

descrip-

how specification

reusable.

derived

of an object,

not

is a formal

to indicate

can be made

Constraints

the

In [1] there

of some approaches

before,

between to the an ADO

in its structure,

thus

ADV

and ADO

description

of ac-

has no definition every

ADO

action

ADO

ADO ADO-Name Declarations - sorts and functiOns observable properties

Effectual Actions Nested ADOS

actions - list of possible effectual inheritance, - allows composition,

Hours,

of objects

- constraints - non-primitive

in the attributes attributes

Minutes:

Eflectual Addl; Static

Static Properties Constraints Derived Attributes

Show:

0(0

Hours