Engineering 1000Chapter 6: Abstraction and Modeling
R. HornseyAbstraction 2
Outline Why is abstraction useful? What are models?
how are models different from theory and simulation? Examples from microelectronics Types of model
finite element models Approximations and responsibility
R. HornseyAbstraction 3
Abstraction “Abstraction” has the same root meaning as the abstract of a
report to summarise and extract the essential elements from the Oxford English Dictionary: “the act or process of separating in
thought, of considering a thing independently of its associations” The purpose of abstraction is to enable the designer to
consider the relative merits of several options without having to build prototypes of each one
By formulating the problem in the ways that we have already considered …
especially the objective/function trees … we have already moved some way along the road to
abstraction the generation of multiple options is sometimes referred to as parsing
R. HornseyAbstraction 4
The advantage of the tree diagrams is that closely related issues are automatically identified
and some idea of their ‘level’ has been obtained this is effectively a second stage of abstraction it is worth checking to see if objectives at the same level but on
different branches of the tree can be achieved using a common method In our objectives tree, we stopped one stage before developing
ways of implementing those objectives in abstraction, we now need to consider what these possible
implementations will be to do this we need to shuffle around concepts, find relations, identify
commonalities, consider variations, …, i.e. manipulate the elements of the problem the textbook calls this the “dimensions of variation” the statement-restatement technique was one way of achieving this
R. HornseyAbstraction 5
What is a Model? A model is a representation or imitation of a real object
in engineering terms, a model is used because it enables predictions or calculations or in some other way makes the design process more convenient
often, the model is a mathematical description which can be manipulated by computer
but it can also be a physical model of an object, which maintains a desired characteristic (e.g. the shape of a car) but is in some way simpler than the real thing (e.g. no internal machinery)
Traditionally, models are small-scale versions of bridges, buildings, planes, etc.
which are tested in order to predict how the real structure would behave under appropriate conditions
this is not always easy because some effects do not scale linearly with distance (e.g. friction, fluid flow)
R. HornseyAbstraction 6
Models as Purposeful Representations The textbook uses the words “purposeful representation” as a
brief definition of a model Models are used to assist the designer’s thinking, analyse
potential designs, realise what is known or unknown, predict behaviour, identify connections, etc.
Models are typically used when the system is incompletely understood
the textbook also states that models are used for complex systems However, we must distinguish here between physical models
and computer-based models physical models are indeed used for complex systems, and represent
one of engineering’s oldest tools complex and understood systems are usually solved by simulation in
computer-based approaches (see later for an example)
R. HornseyAbstraction 7
How is a Model Different from Theory? A model is related to, but different from, a theoretical
description of the object the model may be based on theory but may include non-ideal behaviours observed in experiments but not
well explained by theory theory may predict certain trends, but empirical numbers from
experiments are included to get the calculated results to agree with the real results
The key difference is that a model must behave as nearly as possible the same way as the real thing
but it is not directly important whether the model’s behaviour is well predicted by theory – it is the result that counts
[a good theoretical basis is good however, because it will likely expand the range of conditions over which the model will work]
R. HornseyAbstraction 8
How is a Model Different from Simulation? A simulation is usually a technique for obtaining theoretical
results in cases where the theory is mathematically tough to solve
so simulation is a practical way of solving the theoretical description assuming you know the appropriate theory!
It can help to think of the difference between a model plane and a flight simulator!
We will illustrate these situations with an example from microelectronics
R. HornseyAbstraction 9
Microelectronic Circuit Design The goal here is to predict as closely as possible the
behaviour of a microelectronic circuit design before it is manufactured
e.g. amplifier gain, bandwidth, distortion, logic gate switching time There are a number of levels which we must consider
the circuit operation the components which make up the circuit (transistors, resistors,
capacitors, diodes, interconnects) the physical mechanisms within each of these components the way in which the manufacturing process affects the behaviour
It is not always necessary for the designer to understand all of these levels in depth
but the computer software must assume this knowledge
R. HornseyAbstraction 10
SPICE Circuit Simulator SPICE is a widely used circuit analysis package which allows
the designer to connect electronic devices into a circuit and predicts the response of the circuit under specified conditions
SPICE is a circuit simulator it applies circuit analysis equations to the designed circuit to calculate
currents and voltages as a function of time for any condition, it may require a lot of calculations to reach a final
answer where all the values are internally consistent
But how does SPICE ‘know’ how a transistor behaves?
ww
w.s
ilva
co.c
om
R. HornseyAbstraction 11
SPICE Models SPICE contains an analytical model of how every device
behaves ‘analytical’ means mathematically solvable
There are numerous ‘levels’ of models depending on how complex they are
i.e. how accurately they describe every aspect of the device behaviour, no matter how subtle
It is not directly important for SPICE models to be theoretically accurate
the basic characteristics are described by theory but many complexities are based on observations of extensive
experimental data these are empirical or semi-empirical models
This is very important, because it means that the accuracy of your predictions are highly dependent on how much you know about the specific devices in your circuit
R. HornseyAbstraction 12
Microelectronic manufacturing ‘fabs’ will measure thousands of devices in order to get accurate SPICE models
A widely used SPICE model for transistors is BSIM 3.3
The better the theoretical framework, the more generally applicable will be the results
and the model can be refined
ww
w.s
ilva
co.c
om
R. HornseyAbstraction 13
Device Simulators Most of the basic theory for semiconductor devices is well
known however, applying it to a realistic device is extremely complex (sound
familiar? – same as SPICE) this is because the 3-D geometry of the devices and the any material
layers they contain makes hand calculation impossible Device simulators such as MEDICI sub-divide the device into
elements which are simulated individually but consistently with neighbouring elements
elements are of varying size to capture details where needed but to save computation time elsewhere
www.avanticorp.com
R. HornseyAbstraction 14
As with all simulators, the results are only as good as your theoretical understanding of the situation
In the end, engineers like theory to the extent that it improves the models
but a design must still work even if there is no adequate theory and so (good) models are of paramount importance
www.avanticorp.com
R. HornseyAbstraction 15
Computer-Aided Design (CAD) Many engineering projects would be impossible to realise
without CAD CAD is rather a loose term which may range from fancy graphics
packages to complex software suites including modelling and simulation
e.g. the 10 million transistors in the Pentium would not be feasible if paced and connected by hand (much is done with automatic layout)
A common tool for laying out chips is CADENCE it contains a ‘drawing’ package for defining metal, silicon, etc layers a ‘design rule’ checker SPICE automatic layout ‘standard cells’ and numerous other tools
R. HornseyAbstraction 16
AutoCad Another standard CAD
package is AutoCad which you will learn in
part 2 of ENG1000 www.autodesk.com
R. HornseyAbstraction 17
Computer-Aided Manufacture (CAM) The logical conclusion of CAD is CAM
and the two are often lumped together as CAD/CAM By using the data generated by the CAD tools directly for
controlling the machines manufacturing the item several benefits follow
speed accuracy – no (additional) errors introduced flexibility
For example, we email output files from CADENCE to the chip manufacturing plant
one of the advantages of standardisation of information formats
R. HornseyAbstraction 18
Types of Model Models can be categorised into three basic types Iconic models
look identical to the finished object; visually equivalent e.g. maps, globes, computer graphics, physical models but are incomplete in the sense that some information is lost e.g. a 2-D representation of a 3-D object, no internal mechanics
Analogic models are functionally equivalent to the object so they behave like the real object, but not necessarily for the same
reasons e.g. the transistor models in SPICE, model aeroplane in a wind tunnel
Symbolic models such as descriptions using mathematical (or chemical) equations e.g. postscript representation of a font, x2 + y2 = r2
R. HornseyAbstraction 19
Finite Element Models The mesh used to analyse electronic devices in MEDICI is an
example of a finite element model (FEM) FEMs are used in many situations where the basic equations
are known but are very difficult to solve in more than one dimension and for complex situations
heat flow = (thermal conductivity) x (temperature gradient) electrical currents as a function of electric field fluid flow as a function of pressure gradients stresses in complex surfaces
For each element the equations are solved ensuring that conditions match at boundaries between adjacent
elements ‘boundary’ conditions are satisfied
R. HornseyAbstraction 20
One general FEM solver is ANSYS www.ansys.com
mesh stresses
R. HornseyAbstraction 21
Approximations It should be remembered at all times that models and
simulations are all approximations to reality they may use simplifying assumptions (i.e. models) unknown effects cannot be included equations may be solved by numerical methods, which do not yield
exact results often, models are only valid over a specific range of conditions,
especially is they are semi-empirical (use measured data) The engineer must understand
the theory, models, and techniques on which the solution is based nature of the approximations used in the model the situations for which the technique is valid
There is no substitute to experience with a particular modelling tool
often engineers ‘know’ when a particular tool gives good or bad results
R. HornseyAbstraction 22
Responsibility The performance of the design is engineer’s responsibility,
regardless of how the design was carried out errors in simulation or modelling are also the engineer’s responsibility,
not that of the software vendor From the PEO:
The practice of professional engineering has become increasingly reliant on computers, and engineers use many computer programs that incorporate engineering principles and matters. Many of these programs are based upon or include assumptions, limitations, interpretations and judgments on engineering matters that were made by or on behalf of an engineer when the program was first developed. Therefore, it is often difficult to determine, just by using a program or by being given a description of its function, the engineering principles and matters it incorporates. The engineer must have a suitable knowledge of the engineering principles involved in the work being conducted, and is responsible for the appropriate application of these principles. When using computer programs to assist in this work, engineers should be aware of the engineering principles and matters they include, and are responsible for the interpretation and correct application of the results provided by the programs. Engineers are responsible for verifying that results obtained by using software are accurate and acceptable. Given the increasing flexibility of computer software, the engineer should ensure that professional engineering verification of the software's performance exists. In the absence of such verification, the engineer should establish and conduct suitable tests to determine whether the software performs what it is required to do.
R. HornseyAbstraction 23
Developing a Model Developing good models is a difficult and time-consuming
process this is perhaps not surprising since the complexity of the situation is the
likely reason for needing a model in the first place a large proportion of engineering research is devoted to the
development and improvement of models How do you know it’s a good model?
ultimately, it must be verified by favourable comparison with a wide range of experimental results collected by different people under a variety of appropriate conditions
‘goodness’ depends on the requirements of the specific situation by repeated successful trials, some measure of confidence can be
established in the tool a corollary is that software modelling tools are the domain of a few well-
established companies in each engineering field
R. HornseyAbstraction 24
Summary Theory, simulation, and modelling are tools to enable the
engineer to understand and to predict the behaviour of proposed designs
without having to construct prototypes The advantage is that various options can be considered and
compared as efficiently as possible The disadvantage is that no model/simulation/theoretical
description is exact It is the engineer’s responsibility to ensure that these tools are
used appropriately
R. HornseyAbstraction 25
Homework Read chapter 6 of the textbook and the case studies described
in that chapter Do problems 6.1 and 6.2
R. HornseyAbstraction 26
Exercise Develop a simple model governing the number of economy-
class seats in an aeroplane as a function of other relevant factors (e.g. ticket price) can you optimise the number?
What assumptions have you made in your model? it is always important to state explicitly all your assumptions, so users
of the model know if it is valid for their situation