• 검색 결과가 없습니다.

CONTENTS ABSTRACT AMethodologyforVariableStructureSystemSpecification:Formalism,Framework,andItsApplicationtoATM-BasedNetworkSystem

N/A
N/A
Protected

Academic year: 2022

Share "CONTENTS ABSTRACT AMethodologyforVariableStructureSystemSpecification:Formalism,Framework,andItsApplicationtoATM-BasedNetworkSystem"

Copied!
20
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

A Methodology for Variable Structure System Specification: Formalism, Framework, and Its

Application to ATM-Based Network System

Kyou H. Lee, Kil Y. Choi, Jae G. Kim, and G. C. Vansteenkiste

CONTENTS

I. INTRODUCTION II. VSSS FORMALISM III. VSSS LANGUAGE AND

TRANSLATOR

IV. DEVELOPMENT OF THE FRAMEWORK

V. VSSS METHODOLOGY

VI. APPLICATION TO ATM-BASED NETWORK SYSTEM

VII. CONCLUSION REFERENCES

ABSTRACT

This paper presents a formalism-based methodology and its implemented environ- ment which constitutes a sound framework for real-time systems development. The software and/or hardware systems devel- oped in such a formal manner are well- structured and maintainable. We first pro- pose a set-theoretic VSSS (Variable Struc- ture System Specification) formalism. This formalism is the core of the presented methodology which supports a means of formal specification for real-time systems.

We then develop the environment, includ- ing VSSS language definition, a translator for the language, and supporting libraries for real-time execution. Finally, a demon- stration of the methodology in development of a real-time event manager, a subsystem of an ATM-based communication system, shows the correctness and efficiency of the methodology.

(2)

I. INTRODUCTION

Along with the wide spread use of real time systems, their application quality and va- rieties are of growing concerns. The real time systems, that often integrate existing systems into a larger system, should provide function- ality being remarkably various, or should be adaptive for the external variance of condition.

Thus, the desired quality of systems becomes even harder to achieve.

It is widely accepted that formal meth- ods should be an ultimate solution to manage the complexity and control the quality [1]-[4].

Formal methods in systems development pro- vide a rigorous mathematical basis for high in- tegrity of systems. Thus, such methods pro- duce correct software and/or hardware sys- tems that are well-structured and maintainable.

However, there still exists practitioners’ skep- ticism on the viability of formal methods in industrial practice. What effectively bridges the chasm between academics and practition- ers is still an open problem [5]. Rare power- ful, easy-to-use support tools are one of serious impediments to industrial use of formal meth- ods. Therefore, construction of a formalism- based developmental framework for more reli- able systems with less effort, which can bridge the chasm, is in great demand.

A Variable Structure System (VSS) con- tains within itself the ability to transform, in appropriate circumstances, to some of the models in a variant family. Such a system has application to a variety of important area, es-

pecially to the systems that strongly demand manageability of system complexity. A num- ber of systems, such as adaptive computer sys- tems, fault tolerance computers, distributed systems over high speed networking environ- ment, real time systems widely used in au- tomation, and network system distributed over wide area in telecommunication, can be sorts of such systems.

The basic idea of VSS was first proposed and elaborated in the early 1950’s for the field of classical control systems [6]. The VSS method in a control theory is known as a spe- cial type of control technique, called Variable Structure Control (VSC), that is capable of making a control system very robust with re- spect to system parameter variations and ex- ternal disturbances. There have been wide re- search activities regarding VSC in classical au- tomatic control area [7]-[10].

Particularly previous work related to vari- able structure modeling can be founded in [11], [12], [21], [22]. Klir presented two ways of integrating several compatible systems into one larger unit: forming a structure system or forming a metasystem [11]. Zeigler developed the discrete event system specification (DEVS) formalism, which is applicable to modeling and simulation in hierarchical and modular manner [12]. Most of DEVS formalism-based work focuses on simulation including realiza- tion of DEVS-based simulation environment with object oriented technology [13]-[15] and application of such environments into sys- tem modeling and simulation [16]-[18]. Kim

(3)

studied a DEVS-based modeling methodology for variable structure systems, especially for computer architecture applications [19], [20].

Barros extended Zeigler’s DEVS formalism, called Dynamic Structure DEVS (DSDEVS), to provide full support to dynamic structure mod- eling and simulation [21]. Barros applied such an extended methodology to the modeling and simulation of an adaptive computer architec- ture using the Smalltalk/V-based DEVS envi- ronment. Uhrmacher explored the area of vari- able structure modeling by means of his pre- vious study, called Extended Modeling Sys- tem (EMSY), in object-oriented modeling ap- proach [22].

Even though such a variety of studies in the area of variable structure system, very few at- tempts have been made to devise a formalism to specify such systems at the discrete-event level. More fewer have been such a formalism in conjunction with its realization in the frame- work.

This paper presents a formalism-based methodology, called VSSS methodology, and its implemented environment which consti- tutes a sound framework for real-time systems development. We first propose a set-theoretic Variable Structure System Specification (VSSS) formalism. This formalism is the core of the presented methodology which supports a means of formal specification for real-time systems. We then develop the environment, including VSSS language (VSSSL) definition, a translator, called VSSSL Translator, for the language, and supporting libraries for

real-time execution. The VSSSL is a modeling means to specify systems under the VSSS formalism, and the VSSSL translator gener- ates C++ code automatically from the VSSSL semantics. Supporting libraries establish a model base with the maximal reusable facility.

Finally, a demonstration of the methodology in development of a real-time event manager, a subsystem of an ATM-based communication system, shows the correctness and efficiency of the methodology.

This paper is organized as follow. In Sec- tion II, we propose a new set-theoretic VSSS formalism. Section III describes the VSSSL grammar and discuss an implementation of its translator. Section IV discusses not only a real- ization of the VSSS environment in four main concepts of modularity, the modular OO, the model base, and the abstract executor, but also describes its execution procedures in detail. In Section V, we explain the summarized VSSS methodology and its detailed steps for devel- oping a system in the VSSS framework. Ap- plying the proposed methodology to develop a real time event manager of ATM technology- based access node system is discussed in Sec- tion VI. This paper is concluded in Section VII.

II. VSSS FORMALISM

Let us propose a new set-theoretic vari- able structure system specification formalism, named VSSS Formalism. The VSSS formal- ism consists of two layers of logical models:

(4)

a VSSS coordinator, named CompositeVSSS, and a mapped-model, named AtomicVSSS, be- ing replaced by CompositeVSSS.

The CompositeVSSS formalism specifies a system as a set of behavior models and an ap- propriate mapping procedure. To make an ab- straction of such a system based on the set the- ory, we employ four sets, input (X), output (Y), models (fMig) and state variables (S), and two characteristic functions, f and g. The f- function is to transit state variables as a func- tion of inputs. The g-function is the mapping function that maps to one of models under the given state.

The behavior of AtomicVSS models can be abstracted as various structures. Finite State Machine (FSM) is generally accepted as a typ- ical method to formally specify a unit of a sys- tem. We thus employ the FSM specification method to formalize models (M), which is an element of the set-theoretic formalism. The FSM structure refers to its parameters: input (I), output (O), state variables (S), state transi- tion function () and output function (ı).

Therefore, a set-theoretic VSSS formalism can specify CompositeVSSS and AtomicVSSS models as follows:

CompositeVSSS D< X, Y, S, fMig, f, g>, where X is a set, the inputs set

Y is a set, the outputs set S is a set, the states set fMigis a set, the models set

f is a function, the state transition function g is a function, the mapping function subject to the constraints

X, Y, S, fMig: finite sets f: XS ! S g: S ! 2fMig. for each M2 fMig,

AtomicVSSS D< I, O, Q, , ı >, where I is a set, the inputs set of M

O is a set, the outputs set of M Q is a set, the states set of M

δ is a function, the transition function λ is a function, the output function

subject to the constraints I, O, Q: finite sets ı: QI ! Q

: Q ! O.

Inputs and outputs sets in CompositeVSSS consist of two kinds of elements. The in- puts set includes inputs from both the exter- nal world and AtomicVSSS models. The out- puts set includes outputs to both the exter- nal world and AtomicVSSS models. The out- put of the CompositeVSSS model connected to an AtomicVSSS model becomes an input of the AtomicVSSS model. The output of an AtomicVSSS model connected to the Compos- iteVSSS model becomes an input of the Com- positeVSSS model. The states set, S, in Com- positeVSSS is a crossproduct of all states set of AtomicVSSS models.

Fig. 1 shows a conceptualization of the VSSS system consisting of input (X), output (Y), a CompositeVSSS, and a set of Atom- icVSSS. The CompositeVSSS maps the states set into the associated models of AtomicVSSS (Mi) under mapping rule (g). The transi- tion function (f) updates the system state (S)

(5)

under the received input (X). With such a system state, g-function dispatches the asso- ciate AtomicVSSS model. When dispatched, an AtomicVSSS (Mi) changes the model state (Q) under its transition function (δ) according to arrived input (I). With the given state, its out- put function (λ) produces the appropriate out- put (O).

Fig. 1. Overall architecture of VSSS system.

III. VSSS LANGUAGE AND TRANSLATOR

1. VSSS Language

In order to support the convenient model- based design approach [28], we define the VSSS Language for specifying a system under the VSSS formalism. Fig. 2 shows an architec- ture of the VSSSL grammar.

The grammar consists of the name of a tar-

get system, specification of a CompositeVSSS, and specifications of AtomicVSSS’s. There is a realization of an one-to-one semantic map- ping between the 6 (X, Y, M, S, f, g) compo- nents in the CompositeVSSS and 5 (I, O, Q,ı,

) components in the AtomicVSSS and their corresponding elements in the VSSSL archi- tecture.

Therefore the specification of a Compos- iteVSSS consists of definitions of input, output, state variables and their initial values, names of AtomicVSSSs, and two characteristic func- tions for state transition and model mapping.

The specification of an AtomicVSSS consists of definitions of input, output, state variables and their initial values, and two characteristic func- tions for state transition and output.

2. VSSSL Translator

The VSSSL translator, as a preprocessor, automatically translates developer’s VSSSL specifications into C++ codes. The VSSSL grammar is changed into BNF expression, so that the VSSSL translator is implemented us- ing Lex and Yacc. The translator accomplishes the same steps of translation as a typical com- piling process does: analyzing the syntax of the given code described in VSSSL semantics, making a parsing symbol table, and checking for semantic errors. Then, if there is no er- ror on semantics, the translator generates C++

codes with respect to the given VSSSL de- scriptions.

(6)
(7)

Fig. 2. VSSSL grammar.

IV. DEVELOPMENT OF THE FRAMEWORK

The framework development is based on four fundamental mechanisms including mod- ularity, model base, modular object-oriented (OO), and abstract executor.

1. Modularity, Model Base, and Modular OO

Modularity means the description of a model in such a way that it has recognized inputs and output ports through which all in- teraction with the external world is mediated.

From such a concept of modularity, modules can be used for coupling themselves to con- struct variable structure systems. In order to compose a variable structure system, several systems have to be coupled with proper policy.

Thus, a module is a programming construct that may be formally characterized by the sys- tem. A software system specified by interfac- ing such modules is then usually characterized as a coupling of such systems. These concepts

apply to the VSSS environment in which the VSSS formalism is a system-theoretic charac- terization of the programming constructs em- ployed in the variable structure systems.

Model base is a library supporting reusability, which is established by a set of either subsystem models or composite models.

New models can be saved in, and saved mod- els can be dispatched from, the model base.

Models so dispatched may serve their own functions for the given condition. Models, when replaced with another model, may be passivated and saved in the model base. Since a set of model elements realized in the concept of modularity establishes the model base, only the system state that can be inferred from its input/output behavior is visible to, and can be manipulated by, the outside world.

The term, Modular OO, means a com- bination of two methods, object orientation and modularity, that is used to realize the framework and the model base. An object- orientated system can not be said of a mod- ular system in such a point of view that it

(8)

has recognized input and output ports through which all interaction with the external world is mediated. Zeigler and Kim proposed the way to realize true modular OO [12], [23].

The modular OO method can provide the de- veloper with benefits of reusable characteris- tics. Being realized in modular OO, the VSSS framework developed in this paper supports two-dimensional reusability, which includes both reuse of model elements and functional reuse in object-oriented implementation such as class inheritance or polymorphism.

2. Abstract Executors for VSSS Systems We employ a concept of abstract execu- tor on realization of the VSSS framework in a modular manner [12]. The abstract execu- tor is a conceptual device capable of interpret- ing the dynamics specified by the VSSS for- malism. The coupling that each executor is re- sponsible for a VSSS component is then shown to correctly execute a VSSS system in modular form.

Two types of abstract executors are in- troduced as shown in Table 1. One is for CompositeVSSS and the other is for Atom- icVSSS. The abstract executors for Compos- iteVSSS and AtomicVSSS are called Composi- teExecutor and AtomicExecutor, respectively.

Conceptual diagrams of such abstract execu- tors and their associated models are shown in Fig. 3 and Fig. 4, respectively.

The job of the CompositeExecutor is to accept an input and to request the associated CompositeVSSS model to execute its state

Table 1. Definition of passive models and their abstract executors.

Abstract Executor Passive Model

CompositeVSSS CompositeExecutor CompositeVSSS Model AtomicVSSS AtomicExecutor AtomicVSSS

Model

Fig. 3. Operational diagrams for abstract executors:

CompositeExecutor and AtomicExecutor.

transition functions and mapping functions.

When the CompositeExecutor receives an in-

(9)

Fig. 4. Operational diagrams for VSSS Models: Com- positeVSSS Model and AtomicVSSS Model.

put, it activates the associated CompositeVSSS model to invoke the following function:

state transition function: f;

and with the new state updated by f-function, to invoke the following function:

mapping function: g;

The responsibilities of the AtomicExecu- tor is to request the associated AtomicVSSS model to execute its transition and output func- tions. When an AtomicExecutor receives an input, it activates the associated AtomicVSSS model to invoke the following function:

state transition function: ı;

output function: ;

The complete algorithm for the two kinds of abstract executors will be described later, which are realized in the VSSS framework.

3. VSSS Framework Architecture and Environment

There may be different ways to develop an object oriented environment for supporting system modeling within the VSSS formalism when the VSSS formalism and its associated abstract executors are given. However, We use the method in which an external agent operates on passive models in order to reuse through composition technologies in model develop- ment [14]. The execution sequence of VSSS models is controlled by abstract executors with associated models. Models have no executing thread of execution control that determines the order of models to be executed. As shown in Fig. 5, the VSSS environment defines classes for modeling and those for execution sepa- rately. A VSSS model is activated only when the associated executor requests to do so. Exe- cution proceeds by means of messages passing between abstract executors, not between VSSS models. Thus, we identify VSSS models as passive components and associated abstract executors as external active agents. While the specification of a model is a developer’s re- sponsibility, creation of an associated execu- tor and pairing of the two to know each other must be managed by the execution environ- ment implicitly. The VSSS environment pro- vides the developer with modeling facilities

(10)

with the VSSS framework and execution of the models. For modeling, the VSSS environment provides developers with classes the definition of which are based on the VSSSL semantics.

All components are built using class libraries.

Fig. 5. System architecture of VSSS environment.

4. VSSS Classes

Fig. 6 shows the class hierarchy of the VSSS environment. VSSS classes consist of a root class, BaseModel, its inherited two abstract executor classes, CompositeExecutor and Atomic- Executor, and two kinds of VSSS model classes, CompositeVSSS Model and AtomicVSSS Models, which are inher- ited from associated abstract executors.

There exists an independent class, named StateVar, used to manage state variables in the developed VSSS environment.

Two subclasses, CompositeExecutor and AtomicExecutor, are the objecti-

Fig. 6. VSSS environment class hierarchy.

fied abstract executors used to manage actual execution of the objectified passive VSSS models, CompositeVSSS Model and AtomicVSSS Models. Such subclasses realize the principle of abstract executors developed as part of the VSSS theory.

The classes of CompositeExecutor and AtomicExecutor are assigned to their subclasses, CompositeVSSS Model and AtomicVSSS Models, in an one-to-one man- ner respectively. Instance variables in models and executors record such model-executor pairing.

The CompositeExecutor class manages the CompositeVSSS Model class created by the VSSSL translator. Methods,

 when recieve x(const char x),

 state transition(const char inputEvent), and

 replace fn(),

in public are included in the Composite- Executor class in order to request the CompositeVSSS Model class to invoke two main functions, f and g, given in the VSSS

(11)

formalism and to receive an input message.

Two member functions, state tran- sition (const char inputEvent) and replace fn(), are implemented as public methods in the CompositeVSSS Model class during translation time. They are invoked by the CompositeExecutor’s request.

Likewise in CompositeVSSS, the AtomicExecutor class manages the AtomicVSSS Model class created by the VSSSL translator. Because an AtomicVSSS model is specified in the FSM manner, the AtomicExecutor class has member functions,

 when recieve x(const char x),

 state transition(const char inputEvent), and

 output fn(),

in public. These request the AtomicVSSS Model class to invoke two functions,ı and , given in the VSSS formalism and to receive an input message.

Two member functions, state tran sition (const char inputEvent) and output fn(), are implemented as public methods in the AtomicVSSS Model class during translation time. They are invoked by the AtomicExecutor’s request.

5. VSSS Execution Algorithm

The execution procedure in the imple- mented classes is summarized in Fig. 7.

When an input event is received, the

CompositeExecutor first requests CompositeVSSS Model to invoke re- place fn(). The member function re- place fn() included in Composite- VSSS Model, when invoked, decides a current model mapped under the current state and returns its name. The Composite- Executor acquires the current Atomic- VSSS Model from such a return informa- tion. The CompositeExecutor sends a message to the AtomicExecutor in order to wake up the method when receive x().

The AtomicExecutor then requests the selected(current) AtomicModel to invoke output fn and state transition when a message is arrived. The execu- tion of output fn inserts an output event into the output queue. The execution of state transition set Atomic model’s current states to new values under the given condition.

As described earlier, all state variables are maintained and managed in the StateVar class, and this class is separately instanti- ated into its uses in CompositeVSSS and AtomicVSSS objects. Therefore, such an execution of state transition results ultimately in state updates at the instantiated objects of the StateVar class. And then the AtomicExecutor gets the new state value and return it to the CompositeExecutor.

The CompositeExecutor saves the new state value, which is returned from the AtomicExecutor, by performing its update state variable method. Fi- nally the CompositeExecutor requests

(12)

Fig. 7. Execution procedures for CompositeVSSS and mapped AtomicVSSS.

the CompositeVSSS Model to invoke its state transition method under the given state and the arrived input, which performs f-function of VSSS formalism.

The state transition function of the CompositeVSSS Model set Composite model’s current states to new values under the given condition. Such an execution also results ultimately in state updates at the instantiated objects of the StateVar class.

The CompositeExecutor, thus, terminates a whole execution procedure activated from an input arrival, and the VSSS system is

passivated again for waiting a new input.

V. VSSS METHODOLOGY

Fig. 8 shows the overall procedure to de- velop systems within VSSS framework, which focuses on the developers’ responsibility. First of all, the behavior of a system is a major con- cern in specification. Therefore, for the sys- tem analysis, the developer reflects the behav- ior of a system to be observed into a VSSSed paradigm. In this stage, the developer can

(13)

obtain the behaviors of the CompositeVSSS which changes system states and dispatches the proper AtomicVSSS model under the type of input. The developer can also obtain a set of AtomicVSSS models which should be re- placed to operate by the CompositeVSSS.

Fig. 8. Methodology for Variable Structure Systems development.

Secondly, according to the analysis, the system is specified in terms of VSSS compo- nents. When all the components of the system is identified, the CompositeVSSS and Atom- icVSSS models components are specified in VSSSL syntax and semantics described in sec- tion three. Since all models are passive ones in the VSSS the framework, the developer should clarify the behavior of models in the charac- teristic functions. The developer needs not to consider model execution sequences.

Thirdly, all VSSSL codes of specifying CompositeVSSS and AtomicVSSS models are

translated by the VSSSL translator into C++

codes. The VSSSL translator automatically generates C++ codes from VSSSL semantics.

Fourthly, all developed models can be saved in a model base and saved models can be retrieved to composite a variable structure sys- tem. A model base is an organized library of VSSS models. The model can then be reused as a component model in composition of vari- able structure systems.

Finally, translated C++ codes should be compiled to run. During compile time, the VSSS library and the framework are linking to- gether to make an object code, which is ready to run on an actual system.

VI. APPLICATION TO

ATM-BASED NETWORK SYSTEM

The access node system under consider- ation [24] roles an ATM traffic concentrator connecting four SB interfaces to one TB in- terface on the reference model of the B-ISDN UNI [25] shown in Fig. 9. It accedes function- ally to the specifications of Q.2931 signaling [26] and I.610 OAM [27].

1. Real Time Event Manager

The ATM-based access node system re- quires a real time environment to coordinate effectively with higher level non-real time sys- tem support environment, to be interoperable

(14)

Fig. 9. ATM-based B-ISDN reference model.

with its neighbors, to perform the given OAM and signaling flows, to monitor system status and control system parameters, and to adapt easily to recommendation evolution.

The real time event manager of the access node system, as shown in Fig. 10, serves as three different models depending on the type of input events: RxCells from network, com- mand requests from the system support en- vironment, and alarm events from functional units.

Commands are used to request initializa- tion, report system status and performance in- formation, generate loopback cells, monitor traffic, establishment/release ATM connection, and so on. RxCells are the received cells for signaling or OAM sent from ATM layer func- tional units. The purpose of alarm events is to inform the system status to the real time event manager. When an alarm event occurs, the real time event manager takes measures according

Fig. 10. System architecture applying VSSS framework.

to the type of the event.

2. System I/O-To-Events Conversion There are several kinds of situations arous- ing input events: asserting abort, occurring alarms, receiving command requests, receiv- ing cells, arriving time-ticks, and so on. The interrupt mechanism can provide a way that such situations can be forwarded into events such as AlarmEvent, CommandReqEvent, Rx- CellEvent, TimeEvent, etc., which become in- puts of the real time event manager. Such a situation automatically activates the dedicated interrupt request signal by hardware. The pri- ority of each interrupt request is also desig- nated by hardware. The system branches into the destined interrupt service routine, where events are produced as a consequence of trac- ing interrupt causes. Produced events are sent to the real time event manager as inputs.

(15)

Fig. 11 explains conversions between system I/O and input/output events of RTEM. Any type of input (or output) received from (or transmitted to) functional units, network, or system environment can be forwarded to (or from) RTEM through system input/output-to- events conversions based on such a priority in- terrupt mechanism.

Fig. 11. System I/O-event conversion.

3. Models Development in VSSS Framework

A. Description in VSSSL Semantics

Regarding development of the real time event manager in VSSS framework, codes of the CompositeVSSS represented in VSSSL se- mantics are described in this section.

Input events listed below are sent as a type of message, which are generated in Atom- icVSSS models as well as in assigned interrupt service routines. The dispatched AtomicVSSS

model produces its output if needed, which is to be a system output. This VSSSL semantics does not describe for output here.

system RealTimeEventManager coordinator CompositeVSSS

input :

INIT, TI10ms,::: :::Alarm, PTIB, PSIB1, :::, endAlarm,

dpram,:::, enddpram, soint, :::F, endsoint output :

State variables are listed in variable name and its domain list like var in fdomain listg.

Two kinds of state variables are listed below.

A Flag type state variable is in the domain value of fON, OFFg, while a constant type one is in the domain value of fintegerg. Ini- tial values of state variables are important for the system to operate correctly. A Flag type state variable has either ON or OFF, while a constant type one has a specific integer value.

Lists of state variables, their initial values, and AtomicVSSS models dispatched by g-function are specified in VSSSL semantics as follows:

state variables :

F NULL in fON, OFFg timer a cnt in fintg ::: :::

F soint in fON, OFFg models :

M NULL, M TA1sec,::: :::, M Alarm, M OFFB, M dpram, M soint

initial conditions : F NULL=ON timer a cnt=0 ::: :::

F soint=OFF

(16)

State transition function, f, changes the current state into the new state with the des- ignated input. Inputs are classified into two types of messages: simple events, described as (tmon flag), and state return messages, de- scribed as (F tmon flag=OFF). State transition function in VSSSL semantics is specified as follows:

state transition function :

(F tmon flag=ON)INIT)(F tmon flag = OFF) / means that when receives a message INIT with current state F tmon flag=ON, the system is going into the new state

F tmon flag=OFF/

(timer a cnt<100)TI10ms)(timer a cnt=timer a cntC1)

(F tmon flag=OFF)tmon flag)(F tmon flag=ON) (F tmon flag=ON&&F tmcom flag=ON)TI10ms )(F tmon flag=OFF, F tmcom flag=OFF) ::: ::: :::

(timer a cnt=100)TI10ms)(timer a cnt=0, timer a cnt 1s=timer a cnt 1sC1)

/ means that when receives a message TI10ms with current state (timer a cnt=100), the CompositeVSSS set the state timer a cnt into 0 and makes timer a cnt

1s increase 1./

Mapping function, g, dispatches the desig- nated AtomicVSSS model. Mapping function in VSSSL semantics is specified as follows:

replace function :

(timer a cnt=100))M TA1sec (F Alarm=ON))M Alarm ::: ::: :::

(F soint=ON))M soint

(F tmon flag=ON&&F tmcom flag=ON) )M get atm tm last

/ refers that if the current state (F tmon flag=ON&&

F tmcom flag=ON), the AtomicVSSS model M get atm

tm last is dispatched. It is the time for M get atm tm last to finish traffic monitoring(TM)./

A model, M Alarm, can similiarly be spec- ified in VSSSL semantics as follows:

model M Alarm input :

PTIB, PSIB1, PSIB2, PSIB3, PSIB4, ATMB, MDPB, endAlarm

output :

y PTIB, y PSIB1, y PSIB2, y PSIB3, y PSIB4, y ATMB, y MDPB

state variables :

F PTIB in fON, OFFg F PSIB1 in fON, OFFg ... ..

initial conditions : F PTIB=OFF F PSIB1=OFF ::: ::: :::

state transition function :

(F PTIB=OFF)PTIB)(F PTIB=ON) (F ATMB=OFF)ATMB)(F ATMB=ON) ::: :::

output function :

(F PTIB=ON))y PTIB ::: ::: :::

endmodel

B. Translated Codes in C++

Codes of the CompositeVSSS in VSSSL semantics are translated into C++ codes as fol- lows:

#include “CompositeVSSS.h”

#include “M TI.h”

#include “M Alarm.h”

::: ::: :::

CompositeVSSS::CompositeVSSS(const charname) : COORDINATOR(name)

(17)

f

Modelmodel M TI=new M TI(“M TI”);

Modelmodel M Alarm=new M Alarm (“M Alarm”);

::: ::: :::

set model list(6,model M NULL, model M TI, model M Alarm, model M OFFB,

model M dpram, model M soint);

set state var(5, “F TI”, “F Alarm”,

“F OFFB”, “F dpram”, “F soint”);

set state value(“F TI”, “OFF”);

set state value(“F Alarm”, “OFF”);

::: ::: :::

g

void

CompositeVSSS::state transition(const charinputEvent) f

charsv F TI=get state svalue(“F TI”);

charsv F Alarm=get state svalue(“F Alarm”);

::: ::: :::

if(!strcmp(sv F TI, “OFF”)&& !strcmp (inputEvent, “TI”)) f

set state value(“F TI”, “ON”);

g ::: ::: :::

g

void

CompositeVSSS::replace fn() f

charsv F TI=get state svalue(“F TI”);

charsv F Alarm=get state svalue(“F Alarm”);

::: ::: :::

charsv F soint=get state svalue(“F soint”);

::: ::: :::

if (!strcmp(sv F Alarm, “ON”)) f set current model(“M Alarm”);

g ::: ::: :::

g

Codes of an AtomicVSSS, M Alarm

Model, in VSSSL semantics are translated into C++ codes as follows:

#include “M Alarm.h”

M Alarm::M Alarm(const charname) : Model(name) f

set state var(7, “F PTIB”, “F PSIB1”, “F PSIB2”,

“F PSIB3”, “F PSIB4”, “F ATMB”, “F MDPB”);

set state value(“F PTIB”, “OFF”);

set state value(“F PSIB1”, “OFF”);

::: ::: :::

g

void

M Alarm::state transition(const charinputEvent) f

charsv F PTIB=get state svalue(“F PTIB”);

::: ::: :::

charsv F ATMB=get state svalue(“F ATMB”);

charsv F MDPB=get state svalue(“F MDPB”);

if (!strcmp(sv F PTIB, “OFF”)&& !strcmp (inputEvent, “PTIB”)) f

set state value(“F PTIB”, “ON”);

g

if (!strcmp(sv F MDPB, “OFF”)&& !strcmp (inputEvent, “MDPB”)) f

set state value(“F MDPB”, “ON”);

g ::: ::: :::

g

void

M Alarm::output fn() f

charsv F PTIB=get state svalue(“F PTIB”);

::: ::: :::

if (!strcmp(sv F PTIB, “ON”)) f set output(“y PTIB”);

g ::: ::: :::

g

(18)

4. Implementation Results

Specification of RTEM in VSSSL seman- tics was successfully translated into C++ codes by the developed translator. The generated C++ codes were compiled in two phases. In the first phase, such C++ codes compiled to run on the simulated test environment on UNIX/DEC Station. In the simulated test en- vironment, test events were generated interac- tively through a keyboard. After success in not only compilation but also execution on the simulated environment, it moved to the second phase. In the second phase, such C++ codes cross-compiled to run on the 68020-based ac- tual system. The software developing environ- ment for the second phase was a commercial real time operating system, named Spectra, on the SPARC Station. The produced executable codes were linked with system support pro- grams, and downloaded with real time OS into the 68020 processor-based actual hardware en- vironment. The author also verified that in the second phase of test, developed system was executed correctly in physical system compo- nents. Thus, implementation results verified the proposed framework to be correct. It is not only easily adaptable for system modification or additional functions but also widely appli- cable to other systems.

VII. CONCLUSION

This paper describes a formlism-based methodology which provides a sound frame-

work for real-time systems development. The VSSS formalism is the core of the proposed methodology which supports a means of formal specification for real-time systems.

The environment, which implements the VSSS formalism and associated supporting li- braries, provides a developer with an efficient means to develop such systems in a formal manner. A demonstration of the methodology in development of a real-time system of an ATM subsystem shows the correctness and efficiency of the methodology.

REFERENCES

[1] S. Liu, V. Stavridou, and B. Dutertre, “The prac- tice of formal methods in safety-critical systems,”

Journal of Systems Software, vol. 28, pp. 77-87, 1995.

[2] S. Gerhart, D. Craigen, and T. Ralston, “Expe- rience with formal methods in critical systems,”

IEEE Software, pp. 21-28, Jan. 1994.

[3] M. Khamis and G. C. Vansteekiste, “VHDL sim- ulation for fault diagnosis in logic circuits based on effect-cause analysis algorithm,” Proceedings of the Int’l Conf. on Concurrent Engineering and Electronic Design Automation (CEEDA) ’94, Bournemouth, UK, Apr. 1994, pp. 178-182.

[4] J. P. Bowen and M. G. Hinchey, “Ten Command- ments of formal methods,” IEEE Computer, pp.

56-63, Apr. 1995.

[5] H. Saiedian, “An invitation to formal methods,”

IEEE Computer, pp. 16-30, Apr. 1996.

[6] Y. Itkis, Control Systems of Variable Structure.

New York: Wiley, 1976.

[7] J. Y. Hung, W. Gao, and J. C. Hung, “Variable structure control: A survey,” IEEE Trans. on In-

(19)

dustrial Electronics, vol. 40, no. 1, pp. 2-22, Feb.

1993.

[8] K. Furuta, “VSS Type self-tuning control,” IEEE Trans. on Industrial Electronics, vol. 40, no. 1, pp.

37-44, Feb. 1993.

[9] W. Gao and J. C. Hung, “Variable structure con- trol of nonlinear systems: A new approach” IEEE Trans. on Industrial Electronics, vol. 40, no. 1, pp.

45-55, Feb. 1993.

[10] W. Gao, Y. Wang, and A. Homaifu, “Discrete-time variable structure control systems,” IEEE Trans. on Industrial Electronics, vol. 42, no. 2, pp. 117-122, Apr. 1995.

[11] G. J. Klir, Architectureof Systems Problem Solving.

Plenum Press, 1985.

[12] B. P. Zeigler, Multifacetted Modelling and Discrete Event Simulation. Academic Press, 1984.

[13] C. Thomas, H. Luckhoff, and T.G. Kim, “Open- DEVS: A proposal for a standardized DEVS Model exchange format,” Proc. of AIS ’96, La Jolla, CA, March 1996, pp. 371-377.

[14] T. G. Kim and S. Park, “The DEVS formalism: Hi- erarchical mocular systems specificaiton in C++,”

Proc. of the 1992 European Simulation Multicon- ference, pp. 152-156, June 1992.

[15] P. Ninios, K. Vlahos, and D. W. Bunn, “OO/DEVS:

A smalltalk implementation of the DEVS formal- ism,” Proc. of European Simulation Multiconfer- ence (ESM ’93), Lyon, France, May 1993, pp.23- 28.

[16] F. J. Barros and M. T. Mendes, “Modelling and sim- ulation of an integrated circuit assembly flow-shop in DEVS-V,” Proc. of European Simulation Sym- posium (ESS ’93), Delft, The Netherlands, Oct. 25- 28, 1993, pp. 103-108.

[17] K. H. Lee, T. G. Kim, and W. H. Lee, “Performance modeling of cache memory in multiprocessor sys- tem using DEVS methodology,” Proc. of the 1992 European Simulation Multiconference (ESM ’92), York, UK, May 1992, pp. 368-373.

[18] K. H. Lee and T. G. Kim, “Performance analysis of distributed access node system using DEVSim++

framework,” Proc. of the 5th Annual Conference on AI, Simulation, and Planning in High Autonomy Systems (AIS ’94), New York, NY, USA, 1994, pp.

235-241.

[19] B. P. Zeigler and T. G. Kim, “Knowledgement representation in variable structure modeling: An adaptive computer architecture example,” Trans. of The Society for Computer Simulation, 1987.

[20] B. P. Zeigler, T. K. Kim, and C. G. Lee, “Vari- able structure modelling methodology: An adap- tive computer architecture example,” Trans. of The Society for Computer Simulation, vol. 7, no. 4, pp.

291-319, 1991.

[21] F. J. Barros, “Dynamic structure discrete event sys- tem specification,” Trans. of The Society for Com- puter Simulation, vol. 13, no. 1, pp. 781-785, 1996.

[22] A. M. Uhrmacher and R. Arnold, “Distributing and maintaining knowledge: Agents in variable struc- ture environment,” Proc. of the 5th Annual Confer- ence on AI, Simulation, and Planning in High Au- tonomy Systems, New York, NY, USA, 1994, pp.

178-184.

[23] T. G. Kim and M. S. Ahn, “Reusable simulation models in an object oriented framework,” Object Oriented Simulation. IEEE Press, Chap. 3, 1996.

[24] K. Choi et al., “Design considerations of broad- band subscriber access network,” Int’l Symp. on Subscriber Loops and Services, Vancouver, Oct.

1993, pp. 168-173.

[25] ATM Forum, “ATM UNI specification, Ver. 3.1,”

1994.

[26] ITU-T Rec. Q.2931, “B-ISDN access signaling sys- tem DSS no. 2,” May 1995.

[27] ITU-T Rec. I.610, “B-ISDN OAM principles and functions,” 1994.

[28] J. S. Lee et al., “A modeling tool for X-window application software development,” ETRI Journal, vol. 15, no. 2, Oct. 1993, pp. 75-84.

(20)

Kyou H. Lee graduated from Kyungbuk National University with B.S. and M.S. degrees in electronic engineering in 1980 and 1982, respectively. Dur- ing 1992 and 1993, he has stud- ied as a research student in the University of Gent, Belgium. Since 1983, he has been a Senior Member of Research Staff in Telecommunication Systems and Computer Divisions of ETRI. From 1986 to 1988, he worked as a researcher with AIT Inc, San Jose, U.S.A. He is currently leading a B-NT system develop- ment project; He has participated in a number of research projects including design of a RISC processor architec- ture, an object-oriented parallel processing system, and ATM-based network systems. His research interests are ATM-based network architecture, computerized system architecture, and advanced system modelling and devel- opment methodology.

Kil Y. Choi graduated from Kyungbuk National University with B.S. and M.S. degrees in electronic engineering in 1985 and 1987, respectively. Since 1987, he has been a Senior Member of Research Staff in Telecommunication Systems Division of ETRI. He has participated in a number of research projects including development of B-NT systems and ATM LAN. His re- search interests are ATM LAN, real time control software system, etc.

Jae G. Kim graduated from Korea University with B.S., M.S. and Ph.D. degrees in electronic engineering in 1980, 1983 and 1990, respectively.

Since 1980, he has been a Principle Member of Research Staff in Telecommunication Systems Division of ETRI.

He is currently a Director of Broadband Communication

Department. He has participated in and directed a number of research projects including development of SDH (Synchronous Digital Hierarchy)-based systems, B-NT systems, and various ATM ASIC’s. His research interests include ATM-based broadband telecommuni- cation systems, access network architecture, information infrastructure, multimedia communication services.

G. C. Vansteenkiste received a B.S. degree in Electron- ics from the University of Gent, Belgium. He graduated in 1968 as Master of Science in Computer, Information and Control Engineering from the University of Michi- gan, Ann Arbor, U.S.A. He received a Ph.D. degree in Applied Sciences from the University of Leuven, Bel- gium. He is a full professor at the University of Gent in Belgium. His principal research fields are modelling, identification and simulation methodologies. He is an IFIP Silver Core holder, Senior Member of the Society for Computer Simulation and member of the SCS Edito- rial Staff.

참조

관련 문서

Mathematics classes applied with storytelling will help students have a positive attitude with interest and curiosity about mathematics and motivate

This is because compared with the free-year English classes, the general semester English classes consisted of teacher oriented grammar class and reading

ITEM 7 : Declare destructors virtual in polymorphic base classes ITEM 7 : Declare destructors virtual in polymorphic base classes. „ Non-virtual vs

Solving the PDEs using separating variables and Fourier series and interpreting the solution... Solution

Metalloids(준금속) : the elements that are difficult to classify exclusively as metals or nonmetals and have properties between those of elements in the two

 Part E: Numerical methods provide the transition from the mathematical model to an algorithm, which is a detailed stepwise recipe for solving a problem of the indicated kind

This study sought to apply a cooperative learning model to art classes with the aim of recognizing oneself as valuable and positive, while also

This study was conducted to examine the satisfaction of blended learning classes using online videos with Korean elementary and middle school students and