10
A hierarchical approach to stochastic discrete and continuous performance simulation using composable software components T. Zhang * , A. Dewey, R. Fair Department of Electrical and Computer Engineering, Duke University, Durham, NC 27708-0291, USA Accepted 3 May 1999 Abstract This paper describes an integrated approach to modeling and simulation of discrete, continuous, and combined discrete/continuous dynamical behavior of stochastic systems. Representational paradigms and simulation techniques are presented. Integration is achieved by constructing a hierarchical suite of abstractions and simulation services built on a common microkernel. The abstractions and services are encapsulated into composable software components that leverage emerging distributed component platform technology, such as JavaBeans or Common Object Request Broker Architecture objects, for interoperation. Following the trend in large software system development, composable abstractions and services enables the use of interoperable components to assemble simulation applications from a variety of services and models, potentially from different vendors. The results illustrate a unified modeling and simulation strategy spanning low level logical/functional unit to high level architectural/process system design. New efficiencies in design methodologies are promoted by con- solidating disparate simulation environments and models. Examples are given concerning performance simulation of microelectrofluidic systems. q 1999 Elsevier Science Ltd. All rights reserved. Keywords: Stochastic systems; Microelectrofluidic systems; Composable software components 1. Introduction Simulation applications are becoming major software systems, on par with the complexity of database or operating system applications, due to the increasing complexity of the systems being analyzed and the need to conduct the analysis across a wide range of levels of abstraction. Increasing system complexity involves both the growing number of devices and the increasing levels of heterogeneity. System design is evolving into a multidisciplinary field combining sophisticated expertise in electrical, mechanical, and chemi- cal engineering, in addition to computer science and manu- facturing technology. Coupled-energy or composite designs, such as microelectromechanical systems (MEMS) and microelectrofluidic systems (MEFS), are examples of new multidisciplinary system design. This broad design scope makes it nearly impossible to understand complicated factors influencing and limiting system performance and thus, motivates the need for simulation. The broad design scope also implies the need to model and analyze systems at multiple levels of abstraction, ranging from detailed functional to high level process. Moreover, the levels of abstraction need to be linked to correlate the multiple analyses in both top–down decomposition and bottom–up aggregation. In other words, the multiple levels of abstractions/analyses need to be hierarchically integrated. This integration increases the complexity of the underlying simulation application, requir- ing the consolidation of functionality presently typically supplied via several simulators. To address the growing complexity of simulation, future simulation applications must be substantially rearchitected from both an algorithmic design perspective and a software engineering implementation perspective. A promising approach to rearchitecting simulation applications is to leverage the trend in the larger software industry in moving towards distributed component software in which mono- lithic legacy software systems are being replaced by collec- tions of components [1,2]. The components communicate via a variety of interoperation technologies, such as Common Object Request Broker Architecture (CORBA), Distributed Component Object Model (DCOM), Distributed Computing Environment (DCE), and Java Virtual Machine (JVM) [3]. Building on distributed component platforms (DCPs), new simulation applications could be developed by assembling a collection of components providing a variety of simulation services and modeling utilities/ abstractions. Microelectronics Journal 31 (2000) 95–104 Microelectronics Journal MEJ 667 0026-2692/00/$ - see front matter q 1999 Elsevier Science Ltd. All rights reserved. PII: S0026-2692(99)00095-6 * Corresponding author. www.elsevier.com/locate/mejo

A hierarchical approach to stochastic discrete and continuous performance simulation using composable software components

  • Upload
    hit

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

A hierarchical approach to stochastic discrete and continuous performancesimulation using composable software components

T. Zhang* , A. Dewey, R. Fair

Department of Electrical and Computer Engineering, Duke University, Durham, NC 27708-0291, USA

Accepted 3 May 1999

Abstract

This paper describes an integrated approach to modeling and simulation ofdiscrete, continuous, and combineddiscrete/continuousdynamical behavior of stochastic systems. Representational paradigms and simulation techniques are presented. Integration is achievedby constructing a hierarchical suite of abstractions and simulation services built on a common microkernel. The abstractions and services areencapsulated into composable software components that leverage emergingdistributed component platformtechnology, such as JavaBeansor Common Object Request Broker Architecture objects, for interoperation. Following the trend in large software system development,composable abstractions and services enables the use of interoperable components to assemble simulation applications from a variety ofservices and models, potentially from different vendors. The results illustrate a unified modeling and simulation strategy spanning low levellogical/functional unit to high level architectural/process system design. New efficiencies in design methodologies are promoted by con-solidating disparate simulation environments and models. Examples are given concerning performance simulation of microelectrofluidicsystems.q 1999 Elsevier Science Ltd. All rights reserved.

Keywords:Stochastic systems; Microelectrofluidic systems; Composable software components

1. Introduction

Simulation applications are becoming major softwaresystems, on par with the complexity of database or operatingsystem applications, due to the increasing complexity of thesystems being analyzed and the need to conduct the analysisacross a wide range of levels of abstraction. Increasingsystem complexity involves both the growing number ofdevices and the increasing levels of heterogeneity. Systemdesign is evolving into a multidisciplinary field combiningsophisticated expertise in electrical, mechanical, and chemi-cal engineering, in addition to computer science and manu-facturing technology. Coupled-energy or compositedesigns, such as microelectromechanical systems (MEMS)and microelectrofluidic systems (MEFS), are examples ofnew multidisciplinary system design. This broad designscope makes it nearly impossible to understand complicatedfactors influencing and limiting system performance andthus, motivates the need for simulation.

The broad design scope also implies the need to modeland analyze systems at multiple levels of abstraction,ranging from detailed functional to high level process.Moreover, the levels of abstraction need to be linked to

correlate the multiple analyses in both top–downdecomposition and bottom–up aggregation. In otherwords, the multiple levels of abstractions/analyses need tobe hierarchically integrated. This integration increases thecomplexity of the underlying simulation application, requir-ing the consolidation of functionality presently typicallysupplied via several simulators.

To address the growing complexity of simulation, futuresimulation applications must be substantially rearchitectedfrom both an algorithmic design perspective and a softwareengineering implementation perspective. A promisingapproach to rearchitecting simulation applications is toleverage the trend in the larger software industry in movingtowards distributed component software in which mono-lithic legacy software systems are being replaced by collec-tions of components [1,2]. The components communicatevia a variety of interoperation technologies, such asCommon Object Request Broker Architecture (CORBA),Distributed Component Object Model (DCOM), DistributedComputing Environment (DCE), and Java Virtual Machine(JVM) [3]. Building on distributed component platforms(DCPs), new simulation applications could be developedby assembling a collection of components providing avariety of simulation services and modeling utilities/abstractions.

Microelectronics Journal 31 (2000) 95–104

MicroelectronicsJournal

MEJ 667

0026-2692/00/$ - see front matterq 1999 Elsevier Science Ltd. All rights reserved.PII: S0026-2692(99)00095-6

* Corresponding author.

www.elsevier.com/locate/mejo

Distributed component-based simulation enables inte-grated modeling and analysis that operates across disparatecomputing platforms transparent to physical location [4,5].Multidisciplinary system design can be conducted moreefficiently by the collaborative efforts of several teams andorganizations. Problems of misinterpreting concept specifi-cations, misunderstanding data, and losing information intranslating between different data models and tools arereduced. However, issues of how to partition simulationservices and devise a set of related hierarchical abstractionsneed to be addressed.

In this paper, we focus on performance simulation,involving the following stochastic analyses:

• Discrete,• Continuous, and• Combined discrete/continuous.

A suite of simulation abstractions and services are presentedthat are designed to execute on a single discrete-event simu-lation engine microkernel. Performance simulation isselected because it is becoming increasingly important toinitial system conceptualization and is presently oftenconducted using specialized simulators. Traditionally, forcomplex, heterogeneous system design, several modelinglanguages and simulators are used to support the variousphases of initial specification, architectural design, func-tional unit design, etc. Performance modeling languages,such as SIMSCRIPT II.5, SLAM II, and general purposesoftware programming languages, such as C and Ada, areoften used for high-level stochastic architectural design;whereas, logic modeling languages are often used for low-level functional unit design [6,7]. The simulation capa-bilities provided by these simulation languages can be“emulated” by systematically layering sets of user-defineddata abstractions and simulation services on top of a base

simulation language, thereby composing a hierarchical setor family of “modeling languages” and “simulators”. Eachset of data abstractions and simulation services creates anenvironment tailored to a stage or phase of the overalldesign process, providing convenient representational para-digms and analyses [8].

This strategy is illustrated in more detail in Fig. 1 for thespecific domain of microelectrofluidics. Each level of themodeling and simulation hierarchy possess a unique set ofrepresentational conventions and simulation methodologiesthat are, for designer convenience, provided by a set of dataand operator definitions. The stochastic modeling and simu-lation level supports the design and analysis of a reconfigur-able microliquid handling system architecture. The processflow modeling and simulation level supports the design andanalysis of biomedical applications, involving precisiondiagnoses, dispensing, and agent detection. The base simu-lation language is VHDL [9,10].

The following sections explain an integrated modelingand performance simulation capability by first presentingan ontological survey of performance modeling and simu-lation languages. The next section explains implementationof stochastic discrete system performance simulation andpresents experimental results. Then, the implementation ofcontinuous system performance simulation is presented,along with supporting experimental results. Finally, anexample is given combining stochastic discrete and con-tinuous system performance simulation to illustrate overallmodeling and analysis capabilities. The paper concludeswith summary observations and discussion of future work.

2. System performance modeling simulation

In this section, we introduce the principal concepts of

T. Zhang et al. / Microelectronics Journal 31 (2000) 95–10496

Fig. 1. Integrated modeling and simulation hierarchy for microelectrofluidics.

system performance modeling and simulation. The conceptsare related to simulation language constructs of a corediscrete-event simulation engine microkernel to explainhow the corresponding suite of abstractions/services canbe constructed. The simulation language is VHDL.VHDL, VHSIC (Very High Speed Integrated Circuit) Hard-ware Description Language, was selected because the hard-ware description language supports a broad range ofconstructs describing detailed logic to abstract algorithmand thus, provides the semantics for supporting an inte-grated modeling and simulation capability. VHDLpossesses both concurrent execution semantics to reflectthe low-level parallelism of hardware and sequentialexecution semantics to reflect the high-level ordering ofprocedures and functions. Work has been reported on inves-tigating applications of VHDL to high-level design, includ-ing performance modeling and simulation. These effortsfocused on specific representational paradigms, such asPetri nets, and emphasized a single energy domain (elec-tronic) systems [11,12]. Our work focuses on a more generalresource-contention representational paradigm and empha-sizes coupled-energy domains.

2.1. Worldviews

The formalism used by a simulation language to concep-tualize a domain or system is called its “worldview”. Threeworldviews are commonly used by system performancemodeling languages [13]:

• Discrete

• Event-Scheduling• Process-Interaction

• Continuous

System performance simulation modeling languages adopt,or allow, one or more of these worldviews in describingdynamical behavior. Though the event-scheduling world-view is convenient for describing transformations of low-level digital systems, the process-interaction worldview isoften convenient for describing the queuing nature ofhigher-level stochastic systems. Additionally, the process-interaction worldview has been popularly adopted todescribe object-oriented software systems. Multiple world-views can be combined, allowing portions of the dynamicalbehavior to be described by a discrete modeling paradigmand other portions of the dynamical behavior to be describedby a continuous modeling paradigm.

The basic runtime or dynamic semantics of the VHDLsimulation microkernel uses event-scheduling to record theresults of invoking processes and promulgating the results toaffect causal behavior. Signals are the primary medium forinformation exchange between VHDL processes. Thoughsignals provide basic time sequencing for values, signalsdo not directly posses queuing properties for values [14].Thus, to model and simulate the process-interaction

worldview with VHDL, queuing facilities need to be devel-oped by additional data abstractions and operations.

To model and simulate the continuous worldview withVHDL, differential equations with respect to time can bediscretized and transformed into corresponding differenceequations. In this manner, evaluation of a continuous differ-ential problem is approximated by simulation of a corre-sponding finite-difference problem.

2.2. User-definable behavior

One of the most effective ways to address the difficultiesof complexity is to create abstractions that highlight rele-vant system characteristics and deemphasize or hide allother information. Such abstractions support how a designerconceives the intent and operation of a complex system.System performance modeling languages generally providea basic set of predefined functions and behaviors that can beused to construct application-specific, user-definableabstractions [15]. In this manner, a system performancemodeling language is molded to fit an application, ratherthe counter situation of contorting an application to fit aninflexible system performance modeling language.

This aspect of system performance modeling can berealized using a variety of constructs and statementssupporting both sequential and concurrent executionalsemantics for procedural and parallel tasking and method-ologies, respectively. Mixed structural/behavioral descrip-tions can be developed and configured to supportexploration of alternative system designs and incrementalrefinement of a particular system design. Additionally, thebasic set of VHDL predefined functions and behaviors canbe enhanced by user-defined data types and overloadedoperators. User-defined attributes can also be defined forsystem annotation.

2.3. Dynamic data structures

Stochastic systems, by definition, exhibit runtime nonde-terminism; any particular simulation is simply one obser-vation of the random behavior. Thus, data structuresassociated with random variables cannot generally be prede-fined at model development or instantiation and dynamicdata structures are required that can be modified duringruntime of the model, i.e. simulation. A dynamic data struc-ture, such as a linked-list, can be an effective data represen-tation for a set of objects or data values, where setmembership can vary during simulation by creating anddestroying objects. For instance, a linked-list is often usedto represent a set of customers waiting for service or a set ofjobs waiting for execution. If there is resource contention,queuing occurs and the queuing behavior can be compli-cated, involving priorities, preemptions, redistributions,and terminations.

This aspect of system performance modeling can berealized in using the pointer data type, called access type.Use of access types in VHDL has limitations in that signals

T. Zhang et al. / Microelectronics Journal 31 (2000) 95–104 97

may not be declared of an access type—signals are stati-cally defined. Only variables may be declared of an accesstype, which limits their application in global informationexchange. Variables are constrained to have scope withina process; shared variables are constrained to have scopeacross processes within an architecture. Thus, there is a needextend these base simulation microkernel capabilities byadditional data abstractions and operations to provide thedesired capabilities of dynamic data structures for per-formance simulation.

2.4. Output analysis and report

The purpose of simulation is to imitate the operation of areal-world system, and then to use the resulting simulationoutput data to infer real-world system function and per-formance. As mentioned in the previous section, high-level system performance models are generally stochasticbecause either the system is too complex to be analyticallycharacterize, design details are unknown, or overall per-formance depends on ambient factors that are nondeter-ministic [16]. Stochastic systems dynamically change overtime because system operation is dependent on one or morerandom variables; hence, the resulting simulation outputdata exhibits random variability. Consequently, statisticsis an important capability of most system performancemodeling languages [17,18]. Statistical analyses requirethe compilation of various usage information during systemexecution to estimate the mean, variation, correlations, andconfidence interval of the sampled random results. Prob-abilistic and statistical capabilities require multiple datatypes, powerful mathematical resources (function libraries),and operating system storage (file) inout/output.

This aspect of system performance modeling can berealized in VHDL using real data types and arithmeticoperators augmented by the VHDL Math package (IEEEStandard 1076.2) for mathematical computations. Filesprovide a logical interface to the physical storage

capabilities of an underlying operating system to supportoutput reporting [19]. Also, shared variables provide amedium for implementing global accounting practices tocollect usage data for statistical analysis.

3. Stochastic discrete-event performance simulation

The salient aspects of stochastic discrete-event per-formance simulation will be discussed by illustrating themodeling and simulation of a single-server queuing system[20]. The queuing system involves gating a fluidic sampleinto a chamber for a mixing operation within a larger proto-col. The strategy for realizing this performance simulationcapability by defining a set of data abstractions and servicesto augment a core simulation microkernel will be discussed.Experimental performance simulation results comparing thenew composable component-based simulation strategy witha more traditional dedicated performance simulator arepresented.

For the microfluidic mixing model, the interarrival timeof fluidic samples, denoted byTa1

;Ta2;…; are independent,

identically distributed (IID) random variables with auniform probabilistic distribution. Lower and upper boundsof the uniform distribution are arbitrarily chosen to be 10and 19 s. A fluidic sample that arrives and finds the mixingchamber (service) idle, enters service immediately. Due tothe variability in fluidic samples (amount and composition),the mixing times of individual fluidic samples, denoted byTs1

;Ts2;…; are also independent, identically distributed

random variables. The mixing times are independent ofthe interarrival times, and their probabilistic distribution isalso uniform, having lower and upper bounds respectivelyof 11 and 17 s. A fluidic sample that arrives and finds themixing chamber busy is queued into a set of reservoirs.When the mixing process is completed for a fluidic sample,another fluidic sample is gated (valved) into the chamber,using a first-in, first-out (FIFO) discipline.

T. Zhang et al. / Microelectronics Journal 31 (2000) 95–10498

Fig. 2. Structure of VHDL stochastic discrete-event performance model.

3.1. Experimental results

Performance statistics for the arrival, possible queuing,service time, and departure of a fluidic sample is collected ina VHDL record defined below:

type FLUIDIC_SAMPLE;type NODE_PTR is access FLUIDIC_SAMPLE;type FLUIDIC-SAMPLE is

record

ARRIVAL_TIME: TIME;SERVICE_TIME: TIME;LEAVING_TIME: TIME;NXT: NODE_PTR;

end record;

A first-in-first-out queuing discipline is used, represented bya linked list of records using VHDL access types. The linkedlist is encapsulated within an entity or a concurrent pro-cedure and provided as a high-level data abstraction forease of modeling [21].

Fig. 2 shows the general structure of the VHDL stochasticdiscrete-event performance model and the principal data

abstractions/services. Interarrival times and service timesare generated from a uniform probability distribution andimplemented using process suspension/activation [22].Statistical reporting is implemented via text files.

Table 1 presents the results of simulating the operation ofthe stochastic microelectrofluidic system for mixing 50 flu-idic samples; Fig. 3 shows a histogram of time in mixing.1

The VHDL simulation results were checked by developing acomparable model for the commercial performance simu-lator SLAM and equivalent simulation results wereobtained.

4. Continuous time system simulation

Continuous time simulation evaluates the behavior ofsystem state as a continuous or piecewise continuous ana-lytic function of time. Behavior can be defined directly bymeans of state equations or indirectly by means of differ-ential equations. Though state equations explicitly representsystem behavior over time, they are generally difficult toderive [23]. Differential equations use the derivatives ofstate variables, representing the relationship of the rate ofchange of state variables. Thus, continuous time simulationconcerns evaluation methods to solve a defining set ofsimultaneous equations; the present focus is on ordinarydifferential and algebraic equations (DAEs).

To solve differential equations based on the discrete-event simulation kernel, the continuous differentialequations need to be transformed into finite difference equa-tions and solved via numerical integration. The ImprovedEuler or second-order Runge–Kutta numerical integrationmethod is used.

4.1. Runge–Kutta numerical integration

The Runge–Kutta numerical integration algorithm is amember of the class of Taylor series integration methodsbecause it solves a differential equation by using a trap-ezoidal approximation to a Taylor series expansion of thedesired function. Using the Fundamental Theorem of

T. Zhang et al. / Microelectronics Journal 31 (2000) 95–104 99

Table 1Statistical analysis of stochastic microfluidic mixing VHDL performance simulation

Statistical analysis: microelectrofluidic mixingDate: 02/08/99Run number 1 of 1Current simulation time: 740

Average Variation Minimum Maximum ObservationTime in mixing 23.5 6.923 11 37 50

Average length Variation Minimum length Maximum length Average wait timeQueue 0.63 0.631 0 2 9.26

Current utilization Efficiency Maximum idle time Maximum busy timeMixing chamber 1 0.96 19 158

Fig. 3. Histogram for fluidic sample mixing time. 1 Simulations were conducted using the Synopsys VHDL simulator.

Calculus, the differential equation

dydt� y0 � f �t; y� �1�

can be rewritten as an integral equation

y�tn11� � y�tn�1Ztn1 1

tnf �t; y� dt: �2�

The integral is changed to a finite difference,

y0�tn 1 uDt� � y�tn11�2 y�tn�Dt

'u; 0 , u , 1 �3�

yielding

y�tn11� � y�tn�1 Dtf �tn 1 uDt; y�tn 1 uDt��: �4�The term f �tn 1 uDt; y�tn 1 uDt�� is called themean

gradient in the region�tn; tn11� and is denoted byKp. Thesecond-order Runge–Kutta integration method computesthe mean gradient by the weighted mean of the gradientsK1 andK2 at the two points

t1 � tn;

t2 � tn1p � tn 1 pDt; 0 , p # 1:

The mean gradient becomes

Kp � l1K1 1 l2K2 �5�with the constraint that

l1 1 l2 � 1;

l2 p� 12

to ensure second-order precision. Normally,l1 � l2 � 0:5;andp� 1:

To compute the gradient valueK2, an estimate fory(tn1p)is first obtained by the left-hand Riemann sums, also calledthe Euler integration method

y�tn1p� � y�tn�1 pDtK1 � y�tn�1 pDtf �tn; yn�: �6�Then, the gradient valueK2 is obtained using the predictedvalue of y(tn1p) and the associated function slopef �tn1p; y�tn1p��:K2 � f �tn1p; y�tn1p��: �7�The second-order Runge–Kutta integration algorithm isalso known as a predictor–corrector method because Eq.(6) serves as a “predictor” and Eq. (7) serves as a “correc-tor”.

Thus, the difference equation in Eq. (4) becomes

y�tn11� � y�tn�1 DtKp; �8�

y�tn11� � y�tn�1 Dt�l1K1 1 l2K2�

with

K1 � f �tn; y�tn��;

K2 � f �tn1p; y�tn�1 pDtK1�:Integration precision increases with decreasing stepsize

Dt. However, decreasing stepsizeDt increases calculationcomplexity, and can decrease intersection accuracy. Thus,selecting the appropriate stepsizeDt is important. To thatend, precision can be measured as the difference betweenthe integration result with stepsizeDt and the integrationresult with half-stepsizeDt/2

D � uyDt=2�tn11�2 yDt�tn11�u: �9�For a given precision1 , the following two conditions can beused to adjust the stepsizeDt:

• If (D . 1 ), stepsizeDt is divided by 2 repeatedly until(D , 1). The final integration result is taken asyDt�tn11�:

• If (D , 1 ), stepsizeDt can be multiplied by 2 repeatedlyuntil (D . 1). Then, the stepsize is divided by 2 toachieve acceptable precision with maximum stepsize,and the final integration result is taken asyDt�tn11�:Although calculation complexity increases when deter-

mining the appropriate stepsizeDt, the overall quality ofthe numerical integration also improves. Higher-orderRunge–Kutta methods can further increase numerical accu-racy, but also increase the complexity of calculation.

4.2. Experimental results

To illustrate modeling and simulation of a continuoustime system using VHDL, consider a biological system ofparasites/hosts, also called predators/prey [20]. There areseveral examples in nature of parasites that reproduce byinfesting host animals and, in the process, kill the hosts. Thisrelationship causes the host and parasite population sizes tofluctuate. When the parasite population grows, the hostpopulation declines. The decline in the number of host, inturn, causes a decline in the birth rate of parasites and,consequently, the population of the host begins to increase.This process oscillates indefinitely.

Let H(t) and P(t) respectively denote the population ofhosts and parasites at timet. Also, let rH(t) denote thegrowth rate of hosts (excess of birth rate over death ratefrom natural causes) in the absence of the parasites. Then,the overall rate of change of the host population is given by

dHdt� rH �t�2 C1H�t�P�t�

where the death rate of hosts is proportional (C1) to theproduct of the numbers of parasites and hosts,H(t)P(t).Assuming the death rate of hosts is the birth rate of parasites,the overall rate of change of the parasite population is

T. Zhang et al. / Microelectronics Journal 31 (2000) 95–104100

given by

dpdt� C1H�t�P�t�2 C2P�t�

whereC2 is the natural death rate of the parasites.This set of differential equations is solved via the second-

order Runge–Kutta method, implemented using the generalpurpose programming language capabilities of the VHDLprocess statement. Fig. 4 shows the general structure of theVHDL continuous time performance model and the princi-pal data abstractions/services. The architecture is composedof a single process that solves the set of differential

equations, using the Runge–Kutta method supplied via theNUMERICAL_INTG_PKGpackage. The inner loop solvesthe differential equations for a given time step per desiredaccuracy. The outer loop increments the time step. Simu-lation time is advanced with integration time steps via a waitstatement. Solutions are reported via text files. The simula-tion services provided via the VHDLNUMERICAL_INTG_PKG package and implemented as a softwarecomponent (Java applet or a CORBA object) enables aparticular simulation capability to be assembled using arelatively lightweight base kernel.

Fig. 5 shows the result of continuous time simulation,

T. Zhang et al. / Microelectronics Journal 31 (2000) 95–104 101

Fig. 4. Structure of VHDL continuous time performance model.

Fig. 5. Result of continuous time system simulation with VHDL.

using a variable step size within the range 0.025–0.25 unitsfor 500 time units. The coupled oscillatory behavior isdemonstrated.

5. Combined discrete–continuous system simulation

Some systems exhibit both stochastic discrete andcontinuous behavior and thus, require a combination ofthe modeling and simulation strategies presented in theprevious sections. Examples of combined stochasticdiscrete and continuous behavior include:

• A discrete event occurs or is scheduled to occur due tothe value of a continuous state variable reaching a certainthreshold.

• A continuous state variable changes or a continuousprocessing initiates/terminates due to the occurrence ofa discrete event.

The ability to model a combination of stochastic discreteand continuous system performance behavior with a singledesign capture and analysis strategy emphasizes the utilityof an integrated performance engineering methodology.

Again, drawing from the domain of microfluidics,consider a biomedical application involving heating drug

samples to enable subsequent chemical/biological analysis.The arrival time of drug samples is modeled as a randomvariable having a probability density function uniformlydistributed between 2.5 and 3.5 min. The initial temperatureof each arriving drug sample is also a random variableuniformly distributed between 60 and 808F. The initialtemperature of the heating process is taken as the averageof the initial temperature of the drug sample and the ambienttemperature that is assumed to be 3008F.

Let O(t) andU(t) respectively denote the temperature ofthe heating stage (oven) and drug sample (unit) at timet andbe defined by the following differential equations describingNewton’s law of cooling. The time rate of change of thetemperature of a body is proportional to its temperature andthe temperature of the surrounding medium:

dOdt� 0:12× �3002 O�;

dUdt� 0:04× �O 2 U�:

A drug sample is removed from the heating stage when itreaches 2508F. Then, the drug sample at the head of thequeue of reservoirs is selected for the next heating cycle.

T. Zhang et al. / Microelectronics Journal 31 (2000) 95–104102

Fig. 6. Structure of VHDL combined stochastic discrete and continuous time performance model.

5.1. Experimental results

There are two kinds of state variables in the describedmicroelectrofluidic system: discrete and continuous. Thearrival of drug samples occurs at discrete points in time,whereas the temperature of a drug sample during the heatingprocess changes continuously with time. The combinedbehavior is modeled using the representational strategiesfor stochastic queuing and numerical integration, alongwith the associated software components, discussed in theprevious sections.

Fig. 6 illustrates the application and utility of distributedcomponent-based simulation. By architecting a layered-approach to modeling abstractions and associated simulationservices building on a core simulation engine, a simulatorcan be rapidly constructed supporting a flexible range ofsystem complexity and verification fidelity. Fig. 6 showshow a performance simulation environment can beconstructed by extending the basic services of a simulationmicrokernel; the present alternative involves the procure-ment of a dedicated system/performance simulator.

Performance simulation results are compiled in Table 2and shown in Figs. 7 and 8. Operation of the microelectro-fluidic system is simulated for 60 drug samples, using a

variable step size within the range 0.4–4.0 s. The maximumsingle-step error is 18F.

Fig. 7 shows the temperature of the ambient heating stagewith respect to time. Solution of the differential and algebraicequations (DAEs) is shown using both Matlab and VHDL;the results are identical. Fig. 8 shows the temperature of thedrug sample with respect to time.

6. Conclusion

Modern complex systems are establishing new levels ofcomponent integration spanning multiple energy domains.Modeling and simulation of such systems presents newrequirements for initial conceptual design and supportingcomputer-aided tools. The objective is to optimize overalldesign methodologies and collaboration strategies, ratherthan individual tools and local practices.

For initial conceptual design, there is a need to developintegrated modeling and performance simulation techniquesand algorithms to enable design of high-level architecturesusing assemblies of low-level components [24]. This model-ing and simulation capability offers improved ease-of-use,with a coordinated range of analysis precision. The inte-grated modeling and simulation capability also decreasesthe probability of errors, redesign costs, and design-fabri-cation cycle times.

An approach for developing an integrated modeling andperformance simulation capability is presented thatleverages component-based software and the growingusing of distributed component platforms [25]. The objec-tive is to rearchitect the design of simulation systems to bestructured as a set of services built on top of a core micro-kernel. Distributed component-based simulation providesan opportunity to address the problems associated with thepresent practice of using separate simulators with disparateinterfaces during different phases of product design andfabrication.

Key concepts of performance modeling and simulationare presented and their implementation via a suite of dataabstractions and simulation services is discussed. Benefitsand limitations are examined. Stochastic discrete timemodels are represented using queuing networks. Continuous

T. Zhang et al. / Microelectronics Journal 31 (2000) 95–104 103

Table 2Statistical analysis of stochastic heating simulation

Simulation project: drug sample heating processDate: 02/08/99Run number 1 of 1Current simulation time: 196.067 min

Average Variation Minimum Maximum ObservationTime in heating 10.54 min 4.725 3.194 min 18.0375 min 60

Average length Variation Minimum length Maximum length Average wait timeQueue 2.23 0.631 0 5 7.33 min

Current utilization Efficiency Maximum idle time Maximum busy timeHeating stage 1 0.9821 3.5 min 192.57 min

Fig. 7. Temperature change process of heating stage. Comparison ofVHDL and Matlab differential equation solution.

time models are represented using algebraic and differentialequations (DAEs). Simulation solves the differentialequations using second-order Runge–Kutta numerical inte-gration with variable step size.

Due to the high-level, system modeling and encapsulationcapabilities of VHDL, the hardware description languageforms the baseline analysis technology. Using the buildingblocks of queuing theory, statistics, and numerical inte-gration, stochastic discrete and continuous performancesimulation are realized as layered abstractions and services.The layers of abstraction and services extend the basicevent-scheduling worldview of VHDL dynamic semanticsto a more abstract process-interaction worldview tosupport architectural and process flow modeling and simu-lation paradigms. Examples are presented from the domainof microelectrofluidics, though their properties and charac-teristics are representative of many systems.

Future work will continue to enhance the capability andcomposability of the layers of data abstractions and simu-lation services to facilitate ease-of-use and model reuse. Wewill also incorporated the new continuous time modelingand simulation capabilities of the analog extensions toVHDL—VHDL-AMS and investigate additional analysistechnologies.

References

[1] C. Harrell, D. Hicks, Simulation software component architecture forsimulation-based enterprise applications, Proceedings 1998 WinterSimulation Conference, IEEE Piscataway, NJ, vol. 2, 1998, pp.1717–1721.

[2] R. Bagrodia, C. Shen, MIDAS: integrated design and simulation ofdistributed systems, IEEE Transactions on Software Engineering 17(10) (1991) 1042–1058.

[3] P. Martin, The development of an object-oriented, discrete-eventsimulation language using Java, Proceedings of the Asia Pacific Soft-ware Engineering Conference and International Computer Science

Conference, IEEE Computer Society Press, Los Alamitos, CA,1997, pp. 123–130.

[4] M. Uysal, T. Kurc, A. Sussman, J. Saltz, A performance predictionframework for data intensive applications on large scale parallelmachines, Fourth International Workshop on Compilers, and Run-Time Systems for Scalable Computers, LCR’98, Springer, Berlin,1998, pp. 243–258.

[5] M. Nikolaidou, D. Lelis, D. Mouzakis, P. Georgiadis, Disciplinedapproach towards the design of distributed systems, DistributedSystems Engineering 2 (2) (1995) 102–111.

[6] C.D. Pegden, Introduction to Simulation using SIMAN, McGraw-Hill, New York, 1995.

[7] T. Barta, A quantitative comparison of three simulation languages:SLAM, GPSS/H, SIMSCRIPT, Computational and IndustrialEngineering 9 (1) (1985) 45–66.

[8] F. Gomes, S. Franks, B. Unger, X. Zhong, J. Cleary, A. Covington, Ahigh performance logical process simulation class library in C11,1995 Winter Simulation Conference Proceedings, IEEE, New York,1995, pp. 706–713.

[9] S. Habinc, P. Sinander, Using VHDL for board level simulation, IEEEDesign and Test of Computers 13 (3) (1996) 66–78.

[10] J. Hurford, T. Hartrum, Improving conservative VHDL simulationperformance by reduction of feedback, Proceedings of the 10thIEEE Workshop on Parallel and Distributed Simulation PADS 96,IEEE Computer Society Press, Los Alamitos, CA, 1996, pp. 196–201.

[11] J. Schoen, Performance and Fault Modeling with VHDL, Prentice-Hall, New York, 1992.

[12] M. Srivastava, Using VHDL for high-level, mixed-mode systemsimulation, IEEE Design and Test of Computers, September (1992)31–40.

[13] B. Zeigler, K. Doohwan, Design of high level modelling/high per-formance simulation environments, Proceedings of the 10th IEEEWorkshop on Parallel and Distributed Simulation PADS 96, IEEEComputer Society Press, Los Alamitos, CA, 1996, pp. 154–161.

[14] B. Louis, VHDL Programming with Advanced Topics, Wiley, NewYork, 1993.

[15] C. Wohlin, C. Nyberg, A. Larsson, Reusable simulation models forperformance analysis of intelligent networks, Proceedings of the IFIPTC6 Conference on Intelligent Networks and New Technologies,Chapman & Hall, London, 1996, pp. 143–154.

[16] M. Orshansky, J. Chen, H. Chenming, A statistical performance simu-lation methodology for VLSI circuits, Proceedings of the 1998 Designand Automation Conference, 35th DAC, IEEE, New York, USA,1998, pp. 402–407.

[17] A. Alan, B. Pritsker, Introduction to Simulation and SLAM II, 3rd ed.,System Publishing Corporation, West Lafayette, 1986.

[18] A. Alan, B. Pritsker, Simulation with Visual SLAM and AweSim,Wiley, New York, 1997.

[19] J. Berge, VHDL’92, Kluwer Academic, Dordrecht, 1993.[20] G. Gordon, System Simulation, Prentice-Hall, Englewood Cliffs, NJ,

1978.[21] B. Soong, Object-oriented description of queuing systems for flow

control studies, Proceedings of the IEEE Singapore InternationalConference on Networks/International Conference on InformationEngineering 1995. Theme: Electrotechnology 2000: Communicationsand Networks IEEE, New York, 1995, pp. 447–449.

[22] A. Dewey, Analysis and Design of Digital Systems with VHDL, PWSPublishing Company, Boston, MA, 1997.

[23] A. Law, Simulation Modeling and Analysis, McGraw-Hill, NewYork, 1991.

[24] D. Gazal, A. Benzekri, Y. Raynaud, Integration of performance simu-lation in the systems development life cycle, Proceedings of the 11thIASTED International Conference on Applied Informatics, IASTED,Anaheim, CA, USA, 1995, pp. 103–106.

[25] G. Nutt, An experimental distributed modeling system, ACM Trans-actions on Office Information Systems 1 (2) (1983) 117–142.

T. Zhang et al. / Microelectronics Journal 31 (2000) 95–104104

Fig. 8. Temperature change process of drug sample.