Title: Chapter 15 Variable Structure Models
1Chapter 15 Variable Structure Models
- Dynamic Workflow Architectures
- Using Variable Structure in Cell Spaces
- Dynamic System Entity Structure
2Dynamic Workflow Architectures
efpVS is a variable structure version of efp in
SimpArc. As the simulation proceeds variable
structuring allows different architectures to be
substituted into the same interface with the
experimental frame.
We add a timed controller, tc to replace an
existing architecture with a new one every so
often.
tc makes decisions about when to remove and add a
processor and its coupling to the experimental
frame
public void changeProcessor() if (time lt 100)
sp new proc("proc",25) else if (time lt200)
sp new DandC3("d",29) ,,, else if (time
lt800) sp new multiServer("m",40,4) else
public void addProcessor() addModel(sp)
addCoupling("ExpFrame","out",sp.getName(),"in")
addCoupling(sp.getName(),"out","ExpFrame","in")
public void removeProcessor() if (sp
null)return removeModel(sp.getName()) removeCoup
ling("ExpFrame","out",sp.getName(),"in") removeCo
upling(sp.getName(),"out","ExpFrame","in")
SimpArc efpVS
architecture replacement can be either atomic or
coupled
3Variable Structure Example Pulse Pipeline One
Dimensional Cell Space
2
3
4
6
7
8
1
0
5
initialize the cell space with first, second and
last cells
oneDCell zero addCell(0,new pulseCell( 0,
fireDelay )) oneDCell one addCell(1,new
pulseCell( 1, fireDelay )) oneDCell last
addCell(numCells-1,new pulseCell( numCells-1,
fireDelay )) addCoupling( this, "in", zero,
"in" ) addCoupling(last, "out", this, "out" )
addCoupling(zero, "out",one,"in")
The advantage of VS is that we do not have to
load all of the cells at initialization --
important for large numbers
public void addPipeNeighbor() addNeighbor(1,new
pulseCell(id1,10)) addNeighborCoupling(1,"out",
"in")
add a call in deltext to create a neighbor and
its couplings
add neighbor cells as they become active
public void deltext( double e, message x )
addPipeNeighbor() Continue( e )
if ( phaseIs( "passive" ) somethingOnPort( x,
"in" ) ) holdIn( "fire", rg.expon(
fireDelay ) )
oneDimCellSpace. pipeLineRand
4 Implementation of Dynamic System Entity Structure
ViewableAtomic
ViewableDigraph
specAsp can hold specEnt and other specAsp objects
Note hierarchical properties of SES are
automatically derived from this representation.
specAsp
specEntity
Dynamic SES implementation of SES in which the
individual models in the family are successively
enumerated
5Example Dynamic System Entity Structure
efpSES ilustrates the ability to employ variable
structure to dynamically enumerate the system
entity structure (SES). It employs an instance of
class specAsp to control the successive
substitution of alternatives for a processor and
an experimental frame..
The specEntities and their specialized entity
contents are shown.
The user adds an instance of the specialization
and tells it which component it relates to.
class procSpec extends specEntity public
procSpec(IODevs sp) super("procSpec",sp)//the
first addSpec(new DandC3("dc",29))
addSpec(new proc("proc",25)) addSpec(new
procQ("pq",30)) addSpec(new pipeLine("pip",30,3)
)
public class efpSES extends specAsp public
efpSES () super("efpSES,100)//switchTime
double observeTime 20 ViewableDigraph
expf new ef("ef10",10,observeTime)
add(expf) specEntity es new
efSpec(expf,observeTime) add(es)
ViewableAtomic sp new proc("proc",15)
add(sp) addCoupling(expf,"out",sp,"in")
addCoupling(sp,"out",expf,"in")
specEntity as new procSpec(sp) add(as)
The user defines a subclass of specEnttity and
provides the first and subsequent specialization
entities.
SimpArc efpSES
6efpSES
Implementation of Dynamic SES more detail
specAsp handles two or more specializations --
cycles through all combinations
efSpec
procSpec
efSpec and procSpec are shown unhidden to reveal
the couplings that are constructed automatically.
7Dynamic SES Hierarchical Example
hierEfpaSES
each yellow node extends specAsp
hierProc
efSpec
procSpec2
procSpec1
proc
pip
proc
pip
SimpArc hierEfpSES
8Dynamic SES/Model Base Automatically Synthesize
Alternative Candidates and Evaluate Them
Candidate
SES
automatic enumeration of candidates
select the best fit to requirements
EF
9Dynamic SES/Model Base Automatically Synthesize
and Execute a Test Suite
System under Test
SES family of test cases
automatic enumeration of test cases
Pass the Test
EF test case
yes continue
no report