A Component-Based Framework for the Composition of Simulation ...

8 downloads 0 Views 422KB Size Report
the use of the visual composer tool and this specific coupling method. ..... (see Fig. 7). Each component library owns components with particu- lar specifications ...
SIMULATION http://sim.sagepub.com

A Component-Based Framework for the Composition of Simulation Software Modeling Electrical Systems Benoit Delinchant, Frédéric Wurtz, David Magot and Laurent Gerbaud SIMULATION 2004; 80; 347 DOI: 10.1177/0037549704046153 The online version of this article can be found at: http://sim.sagepub.com/cgi/content/abstract/80/7-8/347

Published by: http://www.sagepublications.com

On behalf of:

Society for Modeling and Simulation International (SCS)

Additional services and information for SIMULATION can be found at: Email Alerts: http://sim.sagepub.com/cgi/alerts Subscriptions: http://sim.sagepub.com/subscriptions Reprints: http://www.sagepub.com/journalsReprints.nav Permissions: http://www.sagepub.com/journalsPermissions.nav

Downloaded from http://sim.sagepub.com at PENNSYLVANIA STATE UNIV on April 17, 2008 © 2004 Simulation Councils Inc.. All rights reserved. Not for commercial use or unauthorized distribution.

A Component-Based Framework for the Composition of Simulation Software Modeling Electrical Systems Benoit Delinchant Frédéric Wurtz David Magot Laurent Gerbaud Laboratoire d’Electrotechnique de Grenoble (L.E.G.) ENSIEG—BP 46–38402 Saint Martin d’Héres cedex, France [email protected] This article deals with a component-based approach to design electrical systems modeled by several simulation software. The component paradigm can be applied to simulation software, thus taking advantage of composition facilities. To do so, a visual composition tool has been developed and is presented in this article. It produces recursively a global simulation component from several pieces of simulation software. It also deals with uncertainty by taking into account different kinds of components as well as different kinds of coupling methods. A specific coupling method for components dedicated to optimization is detailed. The sizing process of a home system filter is then presented to illustrate the use of the visual composer tool and this specific coupling method. Keywords: Recursive component composition, component reuse, simulation software encapsulation, optimization, optimal sizing

1. Introduction

In the meantime, the design complexity of electrical systems can be defined by the need for holistic work to take emerging effects into account. Emerging effects of a system do not come from the parts themselves but result instead from the association of these parts [1]. Due to this complexity, CAD tools have been enhanced. For example, PE solvers such as Simplorer, PSim, Caspoc, EMTP, and so forth have included the simulation of EM devices such as motors. Moreover, this association leads naturally to the addition of feedback control capabilities between EM device performances and electrical power supplied by the PE. Thus, the increasing complexity of devices has led to the increasing complexity of specific CAD tools. The Matlab/Simulink6 differential equation solver is nowadays a standard in the engineering field. This is due to its generic capabilities and its extensive toolbox and libraries, especially for control. Indeed, the SimPowerSystems library enables electrical systems to be modeled and simulated in this environment. Other generic simulation tools are available,7 but the simulation of complex systems has to take not only the whole system into account but also each of its individual parts with their associated specificities [2], such as different time constants [3]. For instance, a PE part needs

1.1 Modeling and Simulation in Electrical Engineering The process of modeling and simulation in electrical engineering can be eased as a result of many computer-aided design (CAD) tools. With electromagnetic (EM) devices such as an electric motor, generic EM solvers using the finite element method (FEM)1 or the boundary element method (BEM)2 can be used. EM-specific tools are also available for the design of electric motors.3 However, with power electronics (PE) devices such as an AC/DC converter, other types of solvers can be used, such as generic electrical circuit solvers4 or PE-specific solvers.5 1. Flux2D® (www.cedrat.com) 2. Maxwell 2D® (www.ansoft.com) 3. Drive® (www.cedrat.com), RMxprt® (www.ansoft.com), etc. 4. PSpice® (www.orcadpcb.com) 5. Saber® (www.synopsys.com), Simplorer® (www.ansoft.com), Psim® (www.powersimtech.com), Caspoc® (www.simulation-research.com), etc.

SIMULATION, Vol. 80, Issue 7–8, July–August 2004 347-356 © 2004 The Society for Modeling and Simulation International DOI: 10.1177/0037549704046153

| | | | | |

6. Matlab/Simulink (www.mathworks.com). 7. 20sim® (www.20sim.com), Ecosim® Pro (www.ecosimpro.com), Dymola® (www.dynasim.se), etc.

Downloaded from http://sim.sagepub.com at PENNSYLVANIA STATE UNIV on April 17, 2008 © 2004 Simulation Councils Inc.. All rights reserved. Not for commercial use or unauthorized distribution.

Delinchant, Wurtz, Magot, and Gerbaud

a solver with a specific time step adaptation (for high and low frequencies), whereas an EM part needs a finite element simulation to include magnetic induction saturation or eddy current effects. In this context, there is still a gap between specific tools targeted to handle each part of the system and generic tools to perform a global simulation. Thus, the simulation of complex electrical systems needs new tools based on methodologies such as a component-based one, which is detailed in the following. 1.2 Current Component-Based Modeling and Simulation The use of the component paradigm has been emerging in engineering science for several years through componentoriented programming [4, 5]. In computer science, software is designed with the aim of building easy-to-assemble bricks. A component can be defined as an autonomous entity to be deployed [4], which encapsulates a computer program and is described by interfaces defining its interaction with other components. Simulation software has already taken advantage of components, which are models of real physical electrical components, in the PE tools described previously. The component paradigm is also being used in largescale system simulation to build hierarchical and modular models. Indeed, components allow for better reuse, splitting the computation into manageable pieces in a way to decrease the overall system complexity for the designer, whatever the time simulation domain may be (continuous time [6], discrete events [7], and hybrid [8]). Such an approach also allows distributed/parallel simulation [9], thus improving computation performances and enabling Webbased simulation frameworks [10-12]. Considering all the advantages brought by the component paradigm, the modeling and simulation of complex electrical systems can exploit it again. 1.3 New Use of Components for Modeling and Simulation When considering systems from a macroscopic point of view, in complex systems such as those defined previously, several simulations must be done using different and complementary tools to ensure accuracy. Each tool thus performs a simulation with its own solver, hence only handling the particularities of the considered part of the system (see Fig. 1). When quality is the main design criterion, time-tomarket constraints lead engineers to perform a difficult job quickly, using all of their CAD tools. However, there are no easy-to-use tools that provide computer assistance for the overall management of this process. From this point of view, the component paradigm may bring significant solutions to integrate the overall modeling and simulation of the system to design.

Figure 1. A compound global simulation model

This article attempts to address this issue by dealing with simulation tools as software components. A piece of software developed for the visual modeling and system simulation, called Visual Composer, is based on the idea of a framework of components and services. 2. A Component-Based Framework 2.1 Simulation Components Components are produced in this case from simulation software encapsulation, leading to various component specifications, depending on simulation software functionalities. This is a particular point that differs from the usual component-based simulations. The encapsulation task can be difficult and depends mainly on CAD openness, as well as on the component use purpose. Encapsulation can be done case by case, by hand or automatically, with generic encapsulation tools [13]. This point is not considered in this article because the simulations are supposed to already be embedded in the components. 2.2 Services Framework Modeling and simulation are services available in simulation software. However, from the electrical device designer’s point of view, simulation analysis remains the main service. Indeed, the analysis depends on the designer’s goals, and there can be many of them. A large number of simulation software developers have enhanced their CAD tool (Simplorer® , PSpice® , etc.) by using advanced analysis services, such as sensitivity analysis, statistical analysis, and optimization. The main idea of our framework is against this tendency. A new way of using CAD tools is necessary because of the growth of device complexity. Using a single CAD tool to

348 SIMULATION Volume 80, Number 7–8

Downloaded from http://sim.sagepub.com at PENNSYLVANIA STATE UNIV on April 17, 2008 © 2004 Simulation Councils Inc.. All rights reserved. Not for commercial use or unauthorized distribution.

FRAMEWORK FOR THE COMPOSITION OF SOFTWARE MODELING ELECTRICAL SYSTEMS

PE CAD tool

E M CAD tool

mode 1

mode l

a Component

simulation

simulation

Designer's Tool

analysis

analysis electrical system to design

Figure 2. Current simulation tools

Middle Ware

a Service Framework Figure 4. Services framework architecture

Services Sensitivity Analysis

Optimization



Global Modeling and Simulation PE Simulation

E M Simulation

PE Model

EM Model electrical system to design

Figure 3. Vision of a modeling and simulation framework

model, simulate, and analyze the whole device will not be possible soon (see Fig. 2). A modular and hierarchical framework is needed instead that is based on components and services (see Figure 3). Components have to be used in a component framework—in this case, a design services framework. They may be of different kinds, depending on the designer’s specific goals, and more or less dedicated to specific services. Some services using a simulation component must be available, such as the following: • • • •

postprocessing services, sensitivity analysis services, optimization services, margin parameter services.

Simulation components can be as different as the simulation software that is available on the electrical engineering software market. The framework represents the methodology, whose purpose is to connect a component

to a service, whatever the specifications may be. Each service is in charge of managing its own component type (see Fig. 4). In such a framework, design processes will take advantage of automated communications between components and services. As a result, several calls to a parameterized simulation to have a plot drawn to fit experimental values or to optimize parameters may be allowed, depending on constraints and the objective function, for example. 2.3 A Specific Service: Composition Components are specially defined to be composed. Why compose simulation tools? Behind the composition, the main goal is to provide a way to enable simulation tools to communicate together. Whatever reasons designers have to compose their tools, a composition service will allow them to perform automatic communications with each other, possibly creating a synergy between them. Despite these general considerations, a common use of a composition tool may be to create a global model, composed of different simulation parts, to perform global simulations. A global simulation can be seen as a decomposition of the device (machine + converter + control, as mentioned earlier) or as a decomposition of simulation domains (electric, electromagnetic, thermic, mechanic, etc.). Indeed, a global simulation model of a transformer containing an FEM electromagnetic simulation tool (Flux2D® ) as well as simple mathematical equations has been used to find its optimal size, as shown in Delinchant, Wurtz, and Fandino [14]. FEM modeling was used to compute electromagnetic parameters, while an analytical model computed geometric parameters such as volumes and weights, as well as economical parameters such as cost, including materials and energy losses (see Fig. 5). Due to the composition of these models, an optimization has been carried out with constraints on electromagnetic Volume 80, Number 7–8

Downloaded from http://sim.sagepub.com at PENNSYLVANIA STATE UNIV on April 17, 2008 © 2004 Simulation Councils Inc.. All rights reserved. Not for commercial use or unauthorized distribution.

SIMULATION

349

Delinchant, Wurtz, Magot, and Gerbaud

geometric

Comp2

economic

electro magnetic

Comp1 losses

Comp3

FEM simulation

Analytical models

Figure 5. A transformer global model using finite element model (FEM) simulation for an electromagnetic model and analytical equations for a cost evaluation

and geometrical parameters, with cost being the objective function to minimize. A component framework allows many things, such as reuse or distribution capabilities. However, composition is one essential part of such a framework, as seen in this example. In the following, this composition service will be described by using the Visual Composer tool, which allows simulation components to be composed together. The goal is to ensure global simulation for its use in several services, such as simulation analysis or optimization. 3. The Composition Tool 3.1 Objectives The goal of our composition tool is to offer electrical designers an environment that allows them to manage their different simulation tools as components to build a global simulation. This global simulation has to be a new component that is to be used in framework services. This is one of the significant differences with today’s simulation tools, which connect components only to simulate them. 3.2 Why a Recursive Composition Tool? The main reason for a recursive composition (or hierarchical composition) is so that the component containing the global simulation may be reused by several framework services. Synergy created by the connection has to be used not only by postprocessing software, such as standard simulation software of electrical circuits. The composition may also be reused in various services, such as optimization environments1 or visual programming environments, to build a dedicated simulation graphical user interface (GUI). Indeed, a component standard such as JavaBeans2 can be used not

1. Pro@Design (www.designprocessing.com), iSight (www.engineous.com), Pointer (www.synaps-inc.com), LMS Optimus (www.lmsintl.com), VisualDOC (www.vrand.com/visualdoc3info), and LGO IDE (is.dal.ca/∼jdpinter/lgoide.htm) 2. JavaBeans (java.sun.com/products/javabeans)

Supervisor Figure 6. A component composed of inner models and a supervisor to solve the global simulation

only to develop distributed simulation [15-17] but also to reuse the simulation component with the GUI component to create a device-dedicated simulation [18]. Indeed, considering the work that has gone into some encapsulation of the simulation software, it seems a shame that the reusability of simulation software can not be fully exploited. The component is considered autonomous, as it embeds each composed component and the solver or a simple propagation mechanism (see Fig. 6). If inner components are really autonomous, then the resulting component can be available in knowledge bases, distributed over the Internet, and easily reused. In addition to composition capabilities, it is also for this reusability potential that the component paradigm has to be used. 3.3 Architecture Component-based modeling and simulation are generally based on a single component type (inputs and outputs are shared variables, a function of time, events of time, a sequence of tokens, etc.). They are also based on a single solver type (continuous time, discrete events, spatial/temporal model, data flow, finite state machine, etc.). Our composition tool architecture must be modular enough to ensure openness. Indeed, different simulation tools, coupled with different services, may need different coupling methods. To do so, Visual Composer is based on a kernel managing the GUI and generic composition information. Libraries of components and coupling methods, called generation modules, can be added to the kernel (see Fig. 7). Each component library owns components with particular specifications to answer specific needs. Each generation module is able to create a new component from one or several component libraries. The coupling method is defined for each of them to take into account each need. 3.4 Kernel Component Specifications Several component implementations exist for a given need, leading to a variety of component libraries. Some

350 SIMULATION Volume 80, Number 7–8

Downloaded from http://sim.sagepub.com at PENNSYLVANIA STATE UNIV on April 17, 2008 © 2004 Simulation Councils Inc.. All rights reserved. Not for commercial use or unauthorized distribution.

FRAMEWORK FOR THE COMPOSITION OF SOFTWARE MODELING ELECTRICAL SYSTEMS

Generation module for components 1 Component Library type 1 Component Library type 2

GUI and generic composition information

Generation module mixing component 1 and 2 Generation module allowing distributed computation.

… Generation module with strong coupling … Figure 7. Visual composer architecture. On the left side, different component specifications can be available. On the right side are some examples of the generation module defining the composition strategy for different needs.

implementations are a legacy; others are defined by corporations (Sun, OMG, Microsoft, etc.). Users of Visual Composer have to model the global simulation by defining the coupling between their components. Visual Composer is not required to know the semantics of these component libraries to ensure the adaptation of new specifications. Thus, a single specification must be defined in the kernel to ensure a maximum of different component specifications. Different components may interact together with a shared semantics. For instance, a component with several input parameter types (configuration, variable, etc.) and output parameters may interact with other components, which also have input and output parameters, even if the semantics has deteriorated. For these reasons, we chose a simple semantics for central components, based on input and output parameters referred by name. Thus, each component type can be connected together if a generation module knows how to handle them. It is important to understand that generic coupling information, defined by the user connecting the name of the parameters, is sent to the chosen generation module, which knows how to translate this information into the real coupling of chosen component libraries. This central component, seen as a “black box,” has simple specifications (in Java™ programming language): public class Bbox { /** constructor */ public BBox(Object ref, Enumeration inputs, Enumeration outputs) { . . . } /** get components ref, act as unique ID */

public Object getBlackBoxRef(){ . . . } /** get components input list */ public Enumeration getInputs(){ . . . } /** get components output list */ public Enumeration getOutputs(){ . . . } }

3.5 Generation Module Specifications As seen previously, new needs may appear with new component specifications or with new connection rules. Having different generation modules corresponds with a need for uncertainty management. Thus, the Visual Composer tool allows the dynamic integration of new generation modules as a plug-in. To create a new generation module, some specifications have to be fulfilled. Modules interact with Visual Composer to open a component or to generate the composition: public interface GenerationModel { / ∗ ∗ open a component and return a BBox object ∗/ public BBox openComponent(File file) throws OpeningComponentException; / ∗ ∗ generate the compound component */ public void generateComponent( CompositionModelInformer modelInformer, String FileName) throws VetoException;

They may also interact with a connection event: / ∗ ∗ check a parameters connection */ public void checkParamConnection( ParamDescriptionModel source_pd, ParamDescriptionModel target_pd) throws VetoException; / ∗ ∗ check a boxes connection */ public void checkParamConnection( String source_Id, String target_Id) throws VetoException;

They may also retrieve already generated information: /∗∗ get XML composition info of a compound component */ public InputStream getComposition Description (InputStream is); / ∗ ∗ open inner components of a compound component */ public Vector getInternComponents( InputStream component, Vector componentNames) throws OpeningComponentException;

When a generation method is called, the module gets composition information to build the resulting component: public interface CompositionModelInformer { /** get components Id and file ref */

Volume 80, Number 7–8

Downloaded from http://sim.sagepub.com at PENNSYLVANIA STATE UNIV on April 17, 2008 © 2004 Simulation Councils Inc.. All rights reserved. Not for commercial use or unauthorized distribution.

SIMULATION 351

Delinchant, Wurtz, Magot, and Gerbaud

public Hashtable getComponents(); /** get a BlackBoxModel from its id */ public BlackBoxModel getBBM (String bbm_Id); /** get parameter connections list */ public Enumeration getParamConnections(); /** get boxes connections list */ public Enumeration getBoxesConnections(); /** get global input parameters */ public Enumeration getResultingInputs(); /** get global output parameters */ public Enumeration getResultingOutputs(); /** get the occurrence matrix */ public OccurrenceMatrix getExecutionOrder(); /** get XML view of the composition */ public Document getXMLComposition(); }

From these generation module specifications, new components can be composed and new connection rules integrated into Visual Composer. Later, we will detail a module dedicated to modeling and simulating the sizing of electrical devices. To highlight Visual Composer’s openness and capability, another module has been developed with very different component specifications and a coupling method. This generation module performs design flow between designer activities, exchanging data files between process activities such as rapid and finest optimization [14]. These modules enable the user to interact in and between each activity to decide the appropriate feedback. 3.6 Using Visual Composer We detail in this section the use of the generic GUI and its relations with component libraries and generation modules. When using Visual Composer, a generation module first has to be chosen. To do so, Visual Composer shows information collected from each available generation module. Specifications of the module informer are as follows: public /** to public /** to public /** to public }

interface ModuleInformer { get module name */ String getName(); get a module description */ String getDescription(); get an extensions files filter */ StandardFileFilter getFilters();

When initialized, a module allows components to be placed inside a blank panel that is used for the visual composition. When opened, a black box shows its input parameter names on the left side and output parameters names on the right side. When clicking on an output parameter, an arrow is drawn and may be dragged to an input parameter, thus creating a connection. Automatic connections can be done for the same parameter names. After having connected all the components, a pregeneration mode can be activated (see Fig. 8). This mode allows the definition of resulting input and output parameters for the global component. An automatic definition of global

Figure 8. Visual composer graphical user interface (GUI), pregeneration mode (definition of global inputs and outputs)

parameters can be done with all the inner parameters not yet connected. Some specific treatments can be undertaken during the composition, such as connection checking. The generation module is aware of each connection and may refuse some of them. Indeed, during the composition, there is no guarantee that the connection semantics is legal (connection of compatible parameters). Only users and the generation module know the connection rules. So, if a user makes a mistake in its composition, he or she can be warned by the software. If this is not the case, the generation module will produce an error during the generation of the composition. Some generic treatments can also be performed in the Visual Composer to simplify generation modules. For example, if the option “loop checking” is enabled, a connection creating a loop with other connections will be refused (see Fig. 9). Due to these specifications, a generation module can be done for different component norms and different composition strategies. In the following, we will detail a composition module dedicated to the global modeling and simulation of a system to be sized using deterministic constrained optimization. 4. Generation Module Dedicated to Optimization Component specifications have been defined for gradientbased optimizations to be performed [19]. This kind of component contains inputs and is able to compute outputs. Moreover, it contains a method to compute output differentials depending on input ones (see equation (1) and Fig. 10).

352 SIMULATION Volume 80, Number 7–8

Downloaded from http://sim.sagepub.com at PENNSYLVANIA STATE UNIV on April 17, 2008 © 2004 Simulation Councils Inc.. All rights reserved. Not for commercial use or unauthorized distribution.

FRAMEWORK FOR THE COMPOSITION OF SOFTWARE MODELING ELECTRICAL SYSTEMS

E1 dE 1

inne r mo del 1

S1 S

dS1

E

dS E2

dE

dE 2

inne r mo del 2

S2 dS2

Figure 11. Parameter and differential values propagation

chines as a result of the CORBA object projection mechanism [18]. 4.2 Value Propagation Figure 9. Visual composer graphical user interface (GUI), optional connection checking (loop)

Calc Diff

(Ei,dEi)

(Sj ,dSj)

Figure 10. Component dedicated to gradient-based optimizations

dSj =

n  ∂Sj dEi . ∂Ei i=1

(1)

The composition information is then used to connect parameter values as well as differential values (see Fig. 11). For the user, only parameter names are connected. This is the generation module that performs both connections. We will see how a module can generate such a composed component. 4.1 Execution Sequence The generation module begins by defining the box execution order, specifying the first boxes that have to be computed. Then it registers each following box as a listener of all boxes that precede it. A “compute” or a “differentiate” method, called on the global component, will be immediately transmitted to the first inner boxes and propagated using termination events on each box that follows. Each box is encapsulated as a thread, thus allowing parallel computation. When simulation is time-consuming, parallel components can be distributed on different ma-

Component input and output parameters are linked together by an instance-sharing mechanism [19]. Outputs are defined for each component, and these output references are, in turn, passed to inputs of following components. This allows the automatic propagation of parameter values and differentials. As mentioned earlier, different connection rules may depend on the treated application. Such a component composition may choose between two kinds of sensitivity propagation, either using partial derivatives or a differential propagation mechanism. For instance, the use of the latter ensures independence between connected boxes, leading to an automatic propagation of sensitivities without any supervisor [20]. However, differential propagation is timeconsuming for simulation software components, requiring the computation of all output differentials, which depend on input differentials. Using the partial derivative propagation mechanism requires a supervisor algorithm. However, this offers significant advantages when dealing with complex components, allowing the supervisor to select which output partial derivatives have to be computed for the sensitivity study. 4.3 Component Generation Finally, this module generates an autonomous component, which embeds all inner components. When this is used, it instantiates all the inner components, registers the listeners to define sequence calls, connects all the parameters together, and waits for compute or differentiate commands. To illustrate the use of the Visual Composer to model and simulate a global system with the aim of its optimal sizing, we detail a home system filter design in the next section. 5. Home System Filter Sizing 5.1 The Study The goal of this study is to size elements of a home system filter circuit, depending on design constraints given at Volume 80, Number 7–8

Downloaded from http://sim.sagepub.com at PENNSYLVANIA STATE UNIV on April 17, 2008 © 2004 Simulation Councils Inc.. All rights reserved. Not for commercial use or unauthorized distribution.

SIMULATION

353

Delinchant, Wurtz, Magot, and Gerbaud

circuit

G(ω ), I(ω)

Gentiane

CDI Optimizer

G(ω), I(ω)

max G(ω), min I (ω)

Figure 14. Simulation tools needed to model the home system filter

Figure 12. Gain for three configurations of a band-pass filter

Figure 13. Impedance for three configurations of a band-pass filter

with many constraints needs a sensitivity analysis that is faster than the one offered by these tools. For these reasons, a modeling software tool called “Gentiane” has been used [23]. It is based on symbolic treatments of node equations and automatically generates analytical equations for gains and impedances, without performing any fast-Fourier transform (FFT). It also builds all the gradients of these expressions according to the filter parameters (i.e., resistances, capacitances, inductances, and frequency of sources). Some frequencies must then be computed from the gain response, such as 3dB cutoff frequencies (LF and HF) and a resonant frequency. To compute these values, a global maxima research algorithm was used [24], which has been developed independently of the circuit analyzer. This algorithm was implemented in a second tool called “CDIOptimizer” [25], which corresponds with a second software tool to be used in our global model. 5.3 Sizing Specifications

specific frequencies, such as 3dB cutoff frequencies (LF and HF) and a resonant frequency. Typical constraints are also found on the band-pass width and out-of-band rejection values, as well as impedance minimal values. This requires the corresponding gain (see Fig. 12) and impedance (see Fig. 13) curves to be contained in a predefined template. Moreover, the circuit must be designed for a set of different loads. 5.2 Modeling Tools First of all, the circuit is generally simulated in simulation software such as Pspice™ and Saber™ (see Figs. 11, 12), but our goal is to optimize our band-pass filter. Optimization algorithms can be used to size a circuit from Saber® simulation software [21] or a global model with Ansys® and Saber® [22]. Dedicated filter design tools exist with optimization capacities,1 but as detailed in section 1, our philosophy is to take better capacities of all available software to perform an optimal design. Indeed, a sizing process 1. PSpice® (www.orcadpcb.com), Filter Solution (www.filtersolutions.com), and Nova 686 (www.nova2002.com), etc.

Both tools must be used for several filter configurations. Indeed, the filter has to work in emission and reception, for different load values, due to tolerances. This requirement leads to several models—emitting gain, receiving gain, emitting impedance, and receiving impedance—that must be used several times for different loads. Each of these models, generated by the first tool, must be coupled several times with the second tool to compute specific frequencies, depending on a given working configuration. These frequencies and corresponding gains or impedances are directly connected to simple analytical models to compute the design constraints, such as bandpass width, and gain attenuation at some multiple values of the resonant frequencies (Bandwidth = FH F − FLF or F2F r = 2.Freson , F3F r = 3.Freson , etc.). 5.4 Global System Modeling The component paradigm can be used in our study if we consider simulation models and all the analysis tools mentioned above as components. Indeed, the first tool generates analytical equations, which are turned into autonomous computing components. The second tool generates the same type of components, made up of a maximum or

354 SIMULATION Volume 80, Number 7–8

Downloaded from http://sim.sagepub.com at PENNSYLVANIA STATE UNIV on April 17, 2008 © 2004 Simulation Councils Inc.. All rights reserved. Not for commercial use or unauthorized distribution.

Gains

Analytical Eq.

Out of band rejection Emmi tting gain 2 freq Gain2freq3freq

Gentiane

CDI Optimizer

Emmi tting gain 3 freq

x 3 loads B andwidth emmi tti ng Emmi tting gain

Modelling and Simulation of parts

FRAMEWORK FOR THE COMPOSITION OF SOFTWARE MODELING ELECTRICAL SYSTEMS

HighFrequency

x 3 loads

Visual Composer

receiving Receiving gain

L owFrequency

x 3 loads

HighFrequency

x 3 loads

Optimization Service Impedances

Modelling and Simulation of System

LowFrequency

x 3 loads

Figure 16. Modeling process of a global home system simulation for its design

Seen from circuit

x 3 loads Seen from sector

x 3 loads FILTRE Figure 15. Global model of the home system filter

minimum finding algorithm coupled with a model generated using the first tool. In our study, there were 35 components (see Fig. 15) built from tool 1, tool 2, and simple analytical equations. We notice that components of our global model do not map the simulation tools but have several uses of them. This new use mode, which has been allowed by the component paradigm, has been brought about by design needs. Indeed, simulations of a system are done for a defined configuration (input values), and then performances are checked (output values). But with regard to design specifications, a sizing model must simulate several system configurations. To automate the sizing of this global model, we will use an optimization service. To do this, we will use the generation module detailed in the previous section to pro-

duce adequate components and take into account sensitivity propagation available in the components. As a result of the Visual Composer and a generation module being dedicated to optimization models, a global model can be easily created by visual composition of these 35 components and then plugged into an optimization service. To summarize the process of modeling, simulation, and sizing of the home filter system (see Fig. 16), the designer uses tools to produce simulation components, the Visual Composer models and produces the global model, and then this model is sized in an optimization service. 6. Conclusions 6.1 Modeling Help The Visual Composer tool provides useful help during the system modeling stages, which can be simulated using different complementary tools. It has been used here for the composition of a global model for optimization. The component paradigm can be used efficiently for physical components in simulation software, as well as for simulation software in global simulation and design. As seen in the previous section, the optimal design of a filter has been eased due to the composition of basic simulations. Visual Volume 80, Number 7–8

Downloaded from http://sim.sagepub.com at PENNSYLVANIA STATE UNIV on April 17, 2008 © 2004 Simulation Councils Inc.. All rights reserved. Not for commercial use or unauthorized distribution.

SIMULATION

355

Delinchant, Wurtz, Magot, and Gerbaud

Composer can also be used to carry out similar tasks with more complex systems and simulation tools, possibly using parallel computation. Indeed, it is open to various kinds of component software, as well as new coupling methods. The Visual Composer tool achieves its aim at modeling and simulating complex systems, reducing modeling time, and improving human-computer interaction. 6.2 Future Work The generation module used for optimization has to be improved. An architectural aspect could be discussed that concerns recursive encapsulation. Indeed, a generated component could be composed with others and recomposed recursively (or hierarchically). But multiple encapsulations (black box encapsulation) are time- comsuming and memory consuming when running. A solution to improve the architecture might involve opening already composed components (as white boxes) and recomposing them using other components. As mentioned earlier, another generation module was developed to support design flow between CAD tools. Modeling can be eased by such a modeling flow. Several modeling tools can be coupled, such as bound-graph tools to simulators, to improve the structure design process. 7. References [1] Delinchant, B. 2003. A component-based framework integrating the designer and his tools for new CAD methods. Ph.D. diss., Polytechnic Institute of Grenoble, France (in French). [2] Mohan, N., T. M. Underland, and W. P. Robbins. 1989. Power electronics: Converters, applications and design. NewYork: John Wiley. [3] Bargiela, A. 2000. Strategic directions in simulation and modelling. Paper presented at the UK Computing Research Strategy CPHC Meeting, January, Manchester, United Kingdom. [4] Szyperski, C. 1998. Component software: Beyond object-oriented programming. Reading, MA: Addison-Wesley. [5] Sametinger, J. 1997. Software- engineering with reusable components. New York: Springer-Verlag. [6] Kucuk, B., and R. N. Zobel. 1998. Component-oriented continuoustime simulation. Paper presented at the 12th European Simulation Multi-Conference, June, Manchester, United Kingdom. [7] Zeigler, B. P., and H. Sarjoughian. 1999. Support for hierarchical modular component-based model construction in DEVS/HLA. Paper presented at the 1999 Spring Simulation Interoperability Workshop, March, Orlando, FL. [8] Liu, J., and E. A. Lee. 2002. A component- based approach to modeling and simulating mixed-signal and hybrid systems. ACM Transactions on Modeling and Computer Simulation 12 (4): 343-68. [9] Zeigler, B. P., and H. S. Sarjoughian. 2000. Distributed simulation: Creating distributed simulation using DEVS M&S environments. In Proceedings of the 2000 Winter Simulation Conference (WSC 2000), pp. 158-60. [10] Pidd, M., N. Oses, and R. J. Brooks. 1999. Component-based simulation on the Web? In Proceedings of the 1999 Winter Simulation Conference. [11] Miller, J. A., A. F. Seila, and X. Xiang. 2000. The JSIM Web-based simulation environment. Future Generation Computer Systems 17 (2): 119-33.

[12] Laakso, P., T. Mätäsniemi, T. Karhela, and M. Paljakka. 1999. Component frameworks for modeling and simulation. Paper presented at the Scandinavian Simulation Society (SIMS) Meeting, October, Linköping, Sweden. [13] Delinchant, B., F. Wurtz, and J. Bigeon. 2002. Automating tool integration to preliminary design request. In Proceedings of the 10th Biennial IEEE Conference on Electromagnetic Field Computation (CEFC’02), Perugia, Italy. [14] Delinchant, B., F. Wurtz, and J. Fandino. 2003. Mixing of FEM and analytical modeling for the preliminary design of a transformer. In Optimization and inverse problems in electromagnetism, edited by M. Rudnicki and S. Wiak. New York: Kluwer Academic. [15] Filippi, J. B., M. Delhom, and F. Bernardi. The JDEVS hybrid modelling and simulation environment. iEMSs (International Environmental Modelling and Software Society) 3:283. [16] Sawhney, A., H. Deshpande, and A. Mund. 2000. Javabeans-based framework for construction simulation. In Proceedings of the 2000 Winter Simulation Conference. [17] Prähofer, H., J. Sametinger, and A. Stritzinger. 2000. Concepts and architecture of a simulation framework based on JavaBeans. New York: Elsevier. [18] Delinchant, B., F. Wurtz, E. Atienza, and J. Bigeon. 2002. Benefits of component methodology applied to electrical software. In Proceedings of ELECTRIMACS’02, 7th International Conference on Modeling and Simulation of Electric Machines, Converters and Systems, Montreal, Quebec. [19] Atienza, E., J. Bigeon, F. Wurtz, and B. Belhabib. 1999. Steps to an electrical design environment. In Proceedings of the 25th Annual Conference of the IEEE Industrial Electronics Society (IECON’99), San Jose, CA. [20] Delinchant, B., F. Wurtz, and E. Atienza. 2003. Reducing sensitivity analysis time cost of compound model. Paper presented at COMPUMAG’03, 14th Conference on the Computation of Electromagnetics Fields, July, Saratoga Springs, NY. [21] Kragh, H., F. Blaabjerg, and J. K. Pedersen. 1998. An advanced tool for optimised design of power electronic circuits. In Proceedings of IEEE-IAS’98, St. Louis, MO, pp. 991-8. [22] Schneider, P., A. Schneider, J. Bastian, S. Reitz, and P. Schwarz. 2002. MOSCITO—a program system for MEMS optimization. In Proceedings of the DTIP Conference, Cannes, France. [23] Lechevalier, C., L. Gerbaud, and J. Bigeon. 1996. Automatic design of discrete time-models of static converter. In Simulation in Industry, 8th SCS-ESS’96 (Europeen Simulation Symposium), Genoa, Italy, pp. 475- 79. [24] Gablonsky, J. M. 2001. Direct version 2.0 user’s guide. Raleigh: Center for Research in Scientific Computation, Department of Mathematics, North Carolina State University. [25] Magot, D., et al. 2003. A methodology and tools for worst-case tolerance design. Paper presented at COMPUMAG’03, 14th Conference on the Computation of Electromagnetics Fields, July, Saratoga Springs, NY.

Benoit Delinchant is an assistant professor at the Laboratoire d’Electrotechnique de Grenoble (L.E.G.), France. Frédéric Wurtz is CNRS Researcher at the Laboratoire d’Electrotechnique de Grenoble (L.E.G.), France. David Magot is a PhD student at the Laboratoire d’Electrotechnique de Grenoble (L.E.G.), France. Laurent Gerbaud is an assistant professor at the Laboratoire d’Electrotechnique de Grenoble (L.E.G.), France.

356 SIMULATION Volume 80, Number 7–8

Downloaded from http://sim.sagepub.com at PENNSYLVANIA STATE UNIV on April 17, 2008 © 2004 Simulation Councils Inc.. All rights reserved. Not for commercial use or unauthorized distribution.

Suggest Documents