Page 165 - DCAP405_SOFTWARE_ENGINEERING
P. 165

Software Engineering




                    Notes          this second  category  can  vary  widely.  Furthermore, modelling  and  simulation  software
                                   environments provide these services only to varying degrees and consequently, when they are
                                   needed; care must be taken in choosing an environment that is  able to deliver the required
                                   services at an adequate level.
                                   The manner in which the support services to augment the simulation model are invoked varies
                                   significantly among  software  environments.  Almost  always  there  is  at  least  some  set  of
                                   parameters that need to be assigned values in  order to choose from available options. Often
                                   some explicit programming steps are needed. Considerable care must be taken when developing
                                   the simulation program to maintain a clear demarkation between the code of the simulation
                                   model and the code required to invoke the ancillary services. Blurring this separation can be
                                   detrimental  because  the  resulting  simulation  program  may  become  difficult  to  verify,
                                   understand, and/or maintain. It has, in fact, been frequently noted that an important quality
                                   attribute of a simulation software platform is the extent to which it facilitates a clear separation
                                   of the code for the simulation model from the infrastructure code required for the experimentation
                                   that is required for the achievement of the project goal(s).

                                   Figure 9.11 indicates that a verification activity needs to be carried out in the transition from the
                                   simulation model to the simulation program. This need arises because this transition typically
                                   involves a  variety  of  decisions relating  to the  execution  of  the  simulation  model and  the
                                   correctness of these decisions must be confirmed. Consider, for example, a simulation model
                                   that incorporates a set of  ordinary differential  equations. Most  modelling  and  simulation
                                   programming environments offer a variety of solute on methods for such equations and each
                                   has particular strengths  and possibly weaknesses as well. If the equations in question  have
                                   distinctive properties, then there exists a possibility of an improper choice of solution method.
                                   The verification process applied at this stage would uncover the existence of such a flaw when it
                                   exists.

                                   Operational Phases

                                   Thus far our outline of the modelling and simulation process has focused on the evolution of a
                                   series of interdependent representations of SUI. However, with the existence of the simulation
                                   program, the stage is set for two operational phases of the process that we now examine. The
                                   first of these is the validation phase whose purpose is to establish the credibility of each of the
                                   model realisations, from the perspective of the project goals.
                                   The second phase, which can begin only after the model’s credibility has been established, is the
                                   experimentation phase, or more specifically, the simulation phase. This activity is presented in
                                   Figure 9.11 as the task of ‘goal resolution’. This is achieved via a sequence of experiments with
                                   the simulation program during which an ever-increasing body of data is collected and analysed
                                   until it is apparent that a ‘goal resolution database’ is sufficiently complete and comprehensive
                                   to permit conclusions relating to the goal(s) to be confidently formulated.

                                   Concept of the Environment

                                   Intuitively, the notion of “the environment’’ in AI and robotics refers to the relatively enduring
                                   and stable set of circumstances that surround some given individual. My environment is probably
                                   not the same as yours, though they may be similar. On the other hand, although my environment
                                   starts where I leave off (at my skin, perhaps), it has no clear ending-point. Nor is it necessarily
                                   defined in terms of metric space; if physically distant circumstances have consequences for my
                                   life (via the telephone, say) then they are properly regarded as part of my environment as well.
                                   The  environment is where  agents live,  and  it  determines  the effects of  their actions.  The
                                   environment is thus a matter of importance in computational modeling; only if we know what
                                   an agent’s environment is like can we determine if a given pattern of behavior is adaptive. In



          158                               LOVELY PROFESSIONAL UNIVERSITY
   160   161   162   163   164   165   166   167   168   169   170