81
Embedded Computing Systems Unit 1 Text Books: 1. Wayne Wolf: Computers as Components, Principles of Embedded Computing Systems Design, 2nd Edition, Elsevier, 2008. 2. Shibu K V: Introduction to Embedded Systems, Tata McGraw Hill, 2009 (Chapters 10, 13) Reference Books: 1. James K. Peckol: Embedded Systems, A contemporary Design Tool, Wiley India, 2008 2. Tammy Neorgaard: Embedded Systems Architecture, Elsevier, 2005 By Dr. K Satyanarayan Reddy CiTECH, B’Lore – 36.

Ecs Cse 7thsem Unit 1 for VTU, Belgaum

Embed Size (px)

DESCRIPTION

Deals with Introduction of Embedded Computing Systems

Citation preview

  • Embedded Computing Systems

    Unit 1Text Books:

    1. Wayne Wolf: Computers as Components, Principles of Embedded Computing Systems Design,

    2ndEdition, Elsevier, 2008.

    2. Shibu K V: Introduction to Embedded Systems, Tata McGraw Hill, 2009 (Chapters 10, 13)

    Reference Books:

    1. James K. Peckol: Embedded Systems, A contemporary Design Tool, Wiley India, 2008

    2. Tammy Neorgaard: Embedded Systems Architecture, Elsevier, 2005

    By

    Dr. K Satyanarayan Reddy

    CiTECH, BLore 36.

  • UNIT 1: Embedded Computing (6 Hrs.)

    Introduction, Complex Systemsand Microprocessors,Embedded Systems DesignProcess, Formalism forSystem design DesignExample: Model TrainController.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 2

  • IntroductionCOMPLEX SYSTEMS AND MICROPROCESSORS:

    What is an Embedded Computer System?

    it is any device that includes a ProgrammableComputer but is not itself intended to be ageneral-purpose computer.

    Thus, a PC is not itself an Embedded ComputingSystem, although PCs are often used to buildembedded computing systems.

    e.g. A Fax Machine or a Clock built from amicroprocessor is an embedded computingsystem.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 3

  • Challenges: Many of the challenges encountered in thedesign of an embedded computing system are notrelated to Computer Engineering.

    e.g.: The problems may be related to the field ofMechanical or analog Electrical Engineering.

    Embedding Computers: Computers have beenembedded into applications since the earliest days ofcomputing.

    e.g.: Whirlwind, a computer designed at MIT in the late1940s and early 1950s.Whirlwind was also the first computer designed tosupport Real-time operation and was originallyconceived as a mechanism for controlling an aircraftsimulator.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 4

    Introduction contd.

  • A Microprocessor is a single-chip CPU. Very large scaleintegration (VLSI).

    The first microprocessor, the Intel 4004, was designedfor an embedded application, namely, a Calculator.

    The Calculator was not a general-purpose computeritmerely provided basic arithmetic functions.

    The HP-35 was the first handheld calculator to performtranscendental (Trigonometric) functions.

    It was introduced in 1972, and it used several chips toimplement the CPU, rather than a single-chipmicroprocessor.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 5

    Introduction contd.

  • Automobile designers started making use of themicroprocessor soon after single-chip CPUs becameavailable.

    The most important use of microprocessors in automobileswas to control the engine; determining when spark plugsfire, controlling the fuel/air mixture, and so on.

    Microprocessors are usually classified by their word size. An 8-bit microcontroller is designed for low-cost

    applications and includes on-board memory and I/Odevices;

    A 16-bit microcontroller is often used for moresophisticated applications that may require either longerword lengths or off-chip I/O and memory; and

    A 32-bit RISC microprocessor offers very high performancefor computation-intensive applications.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 6

    Introduction contd.

  • There are many household uses of microprocessors.The typical microwave oven has at least onemicroprocessor to control oven operation.

    Many houses have advanced Thermostat Systems,which change the temperature level at varioustimes during the day.

    The modern camera is a prime example of thepowerful features that can be added undermicroprocessor control.

    Digital television makes extensive use of embeddedprocessors.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 7

    Introduction contd.

  • Application Example: BMW 850i brake and stabilitycontrol system.

    The BMW 850i was introduced with a sophisticatedsystem for controlling the wheels of the car.

    An antilock brake system (ABS) reduces skidding bypumping the brakes.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 8

    Introduction contd.

    An Automatic Stability Control (ASCT) system intervenes with theengine during maneuvering toimprove the cars stability.These systems actively controlcritical systems of the car; as controlsystems, they require inputs fromand output to the automobile.

  • Characteristics of Embedded Computing ApplicationsFunctionality is important in both general-purpose computing and

    embedded computing, but Embedded Applications must meetmany other constraints as well.

    Embedded Computing Systems have to provide sophisticatedfunctionality:

    Complex Algorithms: The operations performed by themicroprocessor may be very sophisticated.e.g.: The microprocessor that controls an automobile enginemust perform complicated filtering functions to optimize theperformance of the car while minimizing pollution and fuelutilization.

    User Interface: Microprocessors are frequently used to controlcomplex user interfaces that may include multiple menus andmany options.e.g.: The moving maps in Global Positioning System (GPS)navigation are good examples of sophisticated user interfaces.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 9

  • The Embedded Computing operations must often be performed to meet deadlines: Real Time: Many Embedded Computing Systems have to perform in real time - if

    the data is not ready by a certain deadline, the system breaks.In some cases, failure to meet a deadline is unsafe and can even endanger lives.In other cases, missing a deadline does not create safety problems but doescreate unhappy customers.e.g.: Missed deadlines in printers, can result in scrambled pages.

    Multirate: Not only must operations be completed by deadlines, but manyembedded computing systems have several real-time activities going onsimultaneously.They may simultaneously control some operations that run at slow rates andothers that run at high rates.e.g. Multimedia applications are prime examples of multirate behavior.The audio and video portions of a multimedia stream run at very different rates,but they must remain closely synchronized.

    Failure to meet a deadline on either the audio or video portions spoils theperception of the entire presentation.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 10

    Characteristics of Embedded Computing Applications contd.

  • Costs of various sorts are also very important:Manufacturing Cost: The total cost of building the

    system is very important in many cases.Manufacturing cost is determined by many factors,including the type of microprocessor used, theamount of memory required, and the types of I/Odevices.

    Power and Energy: Power consumption directlyaffects the cost of the hardware, since a larger powersupply may be necessary.Energy consumption affects battery life, which isimportant in many applications, as well as heatconsumption, which can be important even indesktop applications.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 11

    Characteristics of Embedded Computing Applications contd.

  • Why Use Microprocessors?There are many ways to design a digital system:

    custom logic, Field Programmable Gate Arrays(FPGAs), and so on.

    Why use microprocessors? There are two reasons:

    Microprocessors are a very efficient way toimplement digital systems.

    Microprocessors make it easier to design familiesof products that can be built to provide variousfeature sets at different price points and can beextended to provide new features to keep up withrapidly changing markets.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 12

  • There are two factors that work together to makemicroprocessor-based designs fast.

    First: Microprocessors execute programs very efficiently.

    Modern RISC processors can execute one instruction perclock cycle most of the time, and high performanceprocessors can execute several instructions per cycle.

    The overhead of interpreting instructions, can often behidden by clever utilization of parallelism within the CPU.

    Second: Microprocessor manufacturers spend a great deal ofmoney to make their CPUs run very fast.

    Large teams of designers are hired to tweak every aspect ofthe microprocessor to make it run at the highest possiblespeed.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 13

    Why Use Microprocessors? Contd.

  • A microprocessor, can be used for many differentalgorithms simply by changing the program itexecutes.

    Since so many modern systems make use of complexalgorithms and user interfaces.

    To implement all the required functionality manydifferent custom logic blocks have to be designed.Many of those blocks will often sit idle.

    e.g.: The Processing Logic may sit idle when userinterface functions are performed.

    Implementing several functions on a single processoroften makes much better use of the availablehardware budget.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 14

    Why Use Microprocessors? Contd.

  • The programmability of microprocessors can be a substantial benefitduring the design process.

    It allows program design to be from design of the hardware onwhich programs will be run.

    While one team is designing the board that contains themicroprocessor, I/O devices, memory etc., other teams can bewriting programs at the same time.

    Equally important, programmability makes it easier to designfamilies of products.

    In many cases, high-end products can be created simply by addingcode without changing the hardware.

    This practice substantially reduces manufacturing costs. Even whenhardware must be redesigned for next-generation products, it maybe possible to reuse software, reducing development time andcost.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 15

    Why Use Microprocessors? Contd.

  • Challenges in Embedded Computing System DesignExternal constraints are the important source of

    difficulty in Embedded System Design.1. How much Hardware is needed?Concern: There is a great deal of control over the

    amount of computing power that needs to be appliedto the problem.Besides the selection of the type of microprocessorused, the amount of memory, the peripheral devices,and more also has to be selected.

    Since both the performance deadlines andmanufacturing cost constraints are to be met, thechoice of hardware is important - too little hardwareand the system fails to meet its deadlines, too muchhardware and it becomes too expensive.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 16

  • 2. How are the Deadlines to be met?

    The brute force way of meeting a deadline is tospeed up the hardware so that the program runsfaster. But this makes the system more expensive.

    It is also entirely possible that increasing the CPUclock rate may not make enough difference toexecution time, since the programs speed may belimited by the memory of the system.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 17

    Challenges in Embedded Computing System Design contd.

  • How the Power Consumption is to be minimized?

    In battery-powered applications, power consumption isextremely important.

    Even in nonbattery applications, excessive powerconsumption can increase heat dissipation.

    One way to make a digital system consume less poweris to make it run more slowly, but naively slowingdown the system can obviously lead to misseddeadlines.

    Careful design is required to slow down the noncriticalparts of the machine for power consumption whilestill meeting necessary performance goals.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 18

    Challenges in Embedded Computing System Design contd.

  • How to design for Upgradability?

    The hardware platform may be used over severalproduct generations, or for several differentversions of a product in the same generation, withfew or no changes.

    However, it is desirable to be able to add features bychanging software. How can a machine bedesigned which will provide the requiredperformance for software that havent yet beenwritten?

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 19

    Challenges in Embedded Computing System Design contd.

  • Does it really work?Reliability is especially important in some applications, such as

    safety-critical systems.Another set of challenges comes from the characteristics of

    the components and systems themselves.Following are some of the ways in which the nature of

    Embedded Computing machines makes their design moredifficult.

    Complex Testing: Exercising an embedded system isgenerally more difficult than typing in some data.A real machine may have to be run in order to

    generate the proper data.The timing of data is often important, meaning that thetesting of an embedded computer cannot be separatedfrom the machine in which it is embedded.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 20

    Challenges in Embedded Computing System Design contd.

  • Limited Observability and Controllability: Embedded computing systems usuallydo not come with keyboards and screens.

    This makes it more difficult to see what is going on and to affect the systemsoperation.

    One is forced to watch the values of electrical signals on the microprocessor buse.g.: To know what is going on inside the system.

    Moreover, in real-time applications, it may not be easy to stop the system to seewhat is going on inside.

    Restricted Development Environments: The development environments forembedded systems (the tools used to develop software and hardware) are oftenmuch more limited than those available for PCs and workstations.

    Generally code is compiled on one type of machine, such as a PC, and portedonto the embedded system.

    To debug the code, one has to rely on the programs that run on the PC orworkstation and then look inside the embedded system.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 21

    Challenges in Embedded Computing System Design contd.

  • Performance in Embedded ComputingEmbedded system designers, have a very clear

    performance goal in mind: their program must meetits Deadline.

    At the heart of embedded computing, there is Real-time Computing, which is the science and art ofprogramming to deadlines.

    The program receives its input data; the deadline is thetime at which a computation must be finished.

    If the program does not produce the required outputby the deadline, then the program does not work,even if the output that it eventually produces isfunctionally correct.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 22

  • In order to understand the Real-time behavior of anembedded computing system, the system has to beanalyzed at several different levels of abstraction(Layers).The system is seen as layers as follows:

    CPU: The CPU clearly influences the behavior of theprogram, particularly when the CPU is a pipelinedprocessor with a cache.

    Platform: The platform includes the bus and I/O devices.The platform components that surround the CPU areresponsible for feeding the CPU and can dramatically affectits performance.

    Program: Programs are very large and the CPU sees only asmall window of the program at a time. The structure ofthe entire program must consider to determine its overallbehavior.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 23

    Performance in Embedded Computing contd.

  • Task: Generally several programs are runsimultaneously on a CPU, creating a Multitaskingsystem.

    The tasks interact with each other in ways thathave profound implications for performance.

    Multiprocessor: Many embedded systems havemore than one processor; they may includemultiple programmable CPUs as well asaccelerators.

    Once again, the interaction between theseprocessors also add more complexity to theanalysis of overall system performance.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 24

    Performance in Embedded Computing contd.

  • 2. THE EMBEDDED SYSTEM DESIGN PROCESS

    Following figure summarizes the major steps in theembedded system design process.

    In this top-down view, the system Requirements areconsidered.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 25

    Major levels of Abstraction in the Design Process.

    Specification: It comprises of creating a more detaileddescription of what is needed.Architecture: The specification states only how thesystem behaves, not how it is built. The details of thesystems internals begin to take shape when thearchitecture is developed, which gives the systemstructure in terms of large components.Components: Once the needed components are known,these components can be designed, including bothsoftware modules and any specialized hardware that isneeded.Integration: Based on those components, a completesystem can finally be built.

  • The major goals of the design also need to beconsidered :

    Manufacturing Cost;

    Performance (both overall speed and deadlines);

    Power Consumption.

    Also the tasks needed to be performed at every step inthe design process are to be considered.

    At each step in the design, following details are added: Analyze the design at each step to determine how the

    specifications can be met.

    Then Refine the design to add detail.

    Verify the design to ensure that it still meets all systemgoals, such as cost, speed, and so on.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 26

    THE EMBEDDED SYSTEM DESIGN PROCESS contd.

  • RequirementsThe initial stages of the design process capture this

    information for use in creating the architecture andcomponents. There are two phases:

    First: Gather an informal description from thecustomers known as requirements, and

    Second: Refine the requirements into a specificationthat contains enough information to begin designingthe system architecture.

    Requirements may be Functional or Nonfunctional.

    The basic functionality of the embedded system mustbe captured, but functional description is often notsufficient.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 27

  • Typical Non Functional requirements include: Performance: The speed of the system is often a major consideration both

    for the usability of the system and for its ultimate cost.Performance may be a combination of soft performance metrics such asapproximate time to perform a user-level function and hard deadlines bywhich a particular operation must be completed.

    Cost: The target cost or purchase price for the system is almost always aconsideration. Cost typically has two major components:

    manufacturing cost includes the cost of components and assembly;nonrecurring engineering (NRE) costs include the personnel and other

    costs of designing the system.

    Physical Size and Weight: The physical aspects of the final system can varygreatly depending upon the application.e.g.: A handheld device typically has tight requirements on both size andweight that can ripple through the entire system design.

    Power Consumption: Power is important aspect in battery-poweredsystems and is often important in other applications as well.Power can be specified in the requirements stage in terms of battery life;the customer is unlikely to be able to describe the allowable wattage.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 28

    Requirements contd.

  • Sample Requirements FormType of Requirements Interpretation

    Name Giving a simple name to the project simplifies talking about it to other people also it

    crystallize the purpose of the machine.

    Purpose This should be a brief one- or two-line description of what the system is supposed to

    do in short it is the essence of the system.

    Inputs Inputs & Outputs are more complex. The inputs and outputs to the system may

    contain the details such as:

    Types of data: Analog electronic signals? Digital data? Mechanical inputs?

    Data characteristics: Periodically arriving data, such as digital audio samples?

    Occasional user inputs? How many bits per data element?

    Types of I/O devices: Buttons? Analog/digital converters? Video displays?

    Outputs

    Functions When the system receives an input, what does it do? How do user interface inputs

    affect these functions? How do different functions interact?

    Performance The computations must be performed within a certain time frame. It is essential that

    the performance requirements be identified early to ensure that the system works

    properly.

    Manufacturing Cost This includes primarily the cost of the hardware components.

    Power

    It depends on whether the machine will be battery powered or plugged into thewall. Battery-powered machines must be much more careful about how energy isspent?

    Physical size and Weight The physical size of the system helps in guiding certain architectural decisions.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 29

  • e.g.: Requirements analysis of a GPS moving map

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 30

  • SpecificationSpecification serves as the contract between the

    customer and the architects.

    The Specification must be carefully written so that itaccurately reflects the CUSTOMERS REQUIREMENTSso that it can be clearly followed during design.

    The specification should be UNDERSTANDABLE enoughso that someone can verify that it meets systemrequirements and overall expectations of thecustomer.

    It should also be UNAMBIGUOUS enough that designersknow what they need to build.

    Designers can run into several different types ofproblems caused by unclear specifications.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 31

  • e.g. SpecificationA specification of the GPS system would include

    several components:

    Data received from the GPS satellite constellation.

    Map data.

    User interface.

    Operations that must be performed to satisfycustomer requests.

    Background actions required to keep the systemrunning, such as operating the GPS receiver.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 32

  • Architecture DesignThe ARCHITECTURE is a PLAN for the overall

    structure of the system that will be used later toDESIGN THE COMPONENTS that make up thearchitecture.

    The creation of the architecture is the first phase ofwhat many designers think of as design.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 33

  • e.g. Block Diagram for the Moving Map.The diagram below describes how to implement the functions

    described in the specification.

    Wherein we need to search the topographic database and torender (i.e., draw) the results for the display.

    These functions are chosen to be separate so that they can beexecuted in parallel; performing rendering separately fromsearching the database may help us update the screen morefluidly.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 34

  • After an INITIAL ARCHITECTURE design which does not contain too manyimplementation details, the system block diagram is refined into two blockdiagrams: 1. HARDWARE and 2. SOFTWARE as shown in figure below.

    The HARDWARE BLOCK DIAGRAM clearly shows that there is one central CPUsurrounded by memory and I/O devices.

    In particular, there are 2 memories: a FRAME BUFFER for the pixels to be displayedand a separate PROGRAM / DATA MEMORY for general use by the CPU.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 35

    In the SOFTWARE BLOCK DIAGRAM a TIMERis added to control the buttons on the userinterface are read and data onto the screenis rendered.More detail are required, such as whereunits in the software block diagram will beexecuted in the hardware block diagram andwhen operations will be performed in time.

    Architecture Design contd.

    Note: Architectural descriptions must be designed tosatisfy both Functional andNonfunctional requirements.

  • Designing Hardware and Software ComponentsThe architectural description gives information about

    components that are need.

    In general the components will include bothHARDWAREFPGAs (Field Programmable GateArray), Boards, and so on and SOFTWARE modules.

    Some of the components will be ready-made like theCPU, memory chips and many other components.

    Some components will have to be designed fromscratch by the Engineers, and a lot of customprogramming has to be done to ensure that thesystem runs properly in real time and that it does nottake up more memory space than allowed.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 36

  • In the moving map, the GPS receiver is a good example of a specialized componentthat will nonetheless be a predesigned, standard component.

    Standard software modules can also be used.

    One good example is the Topographic Database. Standard topographic databasesexist, also standard routines can also be used to access the database; not onlythe data is in a predefined format, but it is in a highly compressed form to savestorage.

    Using standard software for these access functions not only saves the design time,but it may give a faster implementation for specialized functions such as theData Decompression phase.

    e.g. of Custom made H/W & S/W: The power consumption of the Moving MapSoftware. To develop S/W to minimize power when data is read from andwritten onto memory.

    Since memory accesses are a major source of power consumption, memorytransactions must be carefully planned to avoid reading the same data severaltimes.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 37

    e.g. Designing Hardware and Software Components

  • System IntegrationUsually this phase consists of a lot more than just plugging all the

    components together and relax.

    Bugs are found during system integration, and good planning helps tofind the bugs quickly.

    By building up the system in phases and running properly chosen tests,bugs can be found more easily.

    If only a few modules are debugged at a time, the simple bugs are morelikely to be uncovered and can be easily recognized.

    To uncover the more complex or obscure bugs that can be identifiedonly a hard workout has to be given to the system.

    System integration is difficult because it usually uncovers problems.

    It is often hard to observe the system in sufficient detail to determineexactly what is wrong; the debugging facilities for embedded systemsare usually much more limited compared to the desktop systems.

    Bugs are to be eliminated during design phase.August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 38

  • FORMALISMS FOR SYSTEM DESIGNFor creating Requirements and Specifications, the

    system Architecture, designing code, and designingtests; It is often helpful to conceptualize these tasksthrough diagrams.

    There is a visual language that can be used for capturingall these design tasks it is called as Unified ModelingLanguage (UML) [Boo99,Pil05].

    UML was designed to be useful at many levels ofabstraction in the design process.

    UML is useful because it encourages design bysuccessive refinement and progressively adding detailto the design.

    UML is an object-oriented modeling language.August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 39

  • Two important features of the Object Oriented Designare: It encourages the design to be described as a number of

    interacting objects, rather than a few large monolithicblocks of code.

    At least some of those objects will correspond to realpieces of software or hardware in the system.

    OBJECT ORIENTED (often abbreviated OO) specificationcan be seen in two complementary ways: Object-Oriented specification allows a system to be

    described in a way that closely models real-world objectsand their interactions.

    Object-Oriented specification provides a basic set ofprimitives that can be used to describe systems withparticular attributes, irrespective of the relationships ofthose systems components to real-world objects.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 40

    FORMALISMS FOR SYSTEM DESIGN contd.

  • Structural DescriptionStructural Description means the basic

    components of the system.

    The principal component of an Object OrientedDesign is the OBJECT.

    An OBJECT includes a set of Attributes thatdefine its internal state.

    These Attributes, usually become variables orconstants held in a data structure, on theirimplementation through a programmingLanguage.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 41

  • An object describing a display (such as a CRT screen) is shown in UML notationin Figure below.

    The text in the folded-corner page icon is a NOTE; it DOES NOT correspond toan object in the system and only serves as a comment.

    The attribute is, in this case, an array of pixels that holds the contents of thedisplay.

    The object is identified in two ways: It has a unique name, and it is a member ofa class.

    The name is underlined to show that this is a description of an object and not ofa class.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 42

    Structural Description contd.

    Comment

  • A class is a form of type definitionall objects derived from the sameclass have the same characteristics, although their attributes mayhave different values.

    A class defines the ATTRIBUTES that an object may have. It alsodefines the OPERATIONS that determine how the object interactswith the rest of the world.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 43

    Structural Description contd.

    Comment

  • A class defines both the Interface for a particulartype of object and that objectsImplementation.

    When an object is used, its attributes can not bedirectly manipulatedthe objects state canonly be read or modified through theoperations that define the interface to theobject.

    The proper interface must provide ways to accessthe objects state as well as ways to update thestate.

    The objects interface need to be general enoughfor making full use of its capabilities.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 44

    Structural Description contd.

  • There are several types of Relationships that canexist between Objects and Classes:

    Association occurs between objects that communicatewith each other but have no ownership relationshipbetween them.

    Aggregation describes a complex object made ofsmaller objects.

    Composition is a type of aggregation in which theowner does not allow access to the componentobjects.

    Generalization allows one to define one class in termsof another.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 45

    Structural Description contd.

  • Unified Modeling Language, allowsone class to be defined in termsof another.

    An example is shown in adjacentFigure, where two particular typesof displays have been derived.

    The first, BW_display, describes ablackand-white display.

    This does not requires one to addnew attributes or operations, butboth can be specialized to workon one-bit pixels.

    The second, Color_map_display, usesa graphic device known as a colormap to allow the user to selectfrom a large number of availablecolors even with a small numberof bits per pixel.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 46

    Structural Description contd.

    Derived classes as a formof generalization in UML

  • A derived class inherits all the attributes andoperations from its base class.

    In this class, Display is the base class for the twoderived classes.

    A derived class is defined to include all theattributes of its base class.

    This relation is transitive if Display were derivedfrom another class, both BW_display andColor_map_display would inherit all the attributesand operations of Displays base class as well.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 47

    Structural Description contd.

  • Unified Modeling Languageconsiders inheritance to beone form of generalization.

    A generalization relationship isshown in a UML diagram asan arrow with an open(unfilled) arrowhead.

    Both BW_display andColor_map_display arespecific versions of Display,so Display generalizes bothof them.

    UML also allows MultipleInheritance to be defined, inwhich a class is derived frommore than one base class.

    An example of multipleinheritance is shown inFigure below:

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 48

    Structural Description contd.

    Multiple Inheritance in UML

  • A LINK describes arelationship betweenobjects; ASSOCIATION isto link as class is toobject.

    Links are neededbecause objects oftendo not stand alone;associations let uscapture typeinformation about theselinks.

    Adjacent Figure showsexamples of links and anassociation.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 49

    Structural Description contd.

    Links and Association.

    When the actual objects in the system areconsidered, there is a set of messages which keeptrack of the current number of active messages(two in this example) and points to the activemessages. In this case, the link defines theCONTAINS relation.

  • Typically, when a certaincombination of elementsare used in an object orclass many times thenthese patterns can begiven names, which arecalled stereotypes in UML.

    A stereotype name is writtenin the form .Adjacent Figure shows astereotype for a signal,which is a communicationmechanism.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 50

    Structural Description contd.Signal, call, and time-out

    events in UML

  • One way to specify thebehavior of an operation is aState Machine.

    Adjacent Figure shows UMLstates; the transitionbetween two states is shownby a skeleton arrow.

    These state machines will notrely on the operation of aclock, as in hardware; rather,changes from one state toanother are triggered by theoccurrence of events.

    An event is some type of action.The event may originateoutside the system, such as auser pressing a button.

    It may also originate inside, suchas when one routine finishesits computation and passes theresult on to another routine.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 51

    Behavioral Description

    A state and transition in UML

  • There are three types of events defined byUML, as illustrated in adjacent Figure.

    A SIGNAL is an asynchronous occurrence. Itis defined in UML by an object that islabeled as a .

    The object in the diagram serves as adeclaration of the events existence.Because it is an object, a signal may haveparameters that are passed to the signalsreceiver.

    A CALL EVENT follows the model of aprocedure call in a programminglanguage.

    A TIME-OUT EVENT causes the machine toleave a state after a certain amount oftime.

    The label tm(time-value) on the edge givesthe amount of time after which thetransition occurs. A time-out isimplemented with an external timer.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 52

    Behavioral Description contd.Signal, Call, and Time-out events in UML

  • Consider a simple STATEMACHINE specification tounderstand the semanticsof UML state machines.

    A State Machine for anoperation of the display isshown in adjacent Figure.

    The start and stop states arespecial states that help usto organize the flow of thestate machine. The statesin the state machinerepresent differentconceptual operations.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 53

    Behavioral Description contd.

    A state machine specification in UML

  • A sequence diagram can becreated, like the one for amouse click scenario shown inadjacent Figure.

    A Sequence Diagram is similar toa Hardware Timing Diagram,although the time flowsvertically in a sequencediagram, whereas timetypically flows horizontally in atiming diagram.

    The sequence diagram isdesigned to show a particularscenario or choice of events.

    Note: It is not convenient forshowing a number of mutuallyexclusive possibilities.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 54

    Behavioral Description contd.

    A Sequence Diagram in UML

  • August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 55

    Case Study : MODEL TRAIN CONTROLLERConsider a simple system, a Model TrainController, which is illustrated in adjacent Figure .The user sends messages to the train with acontrol box attached to the tracks. The controlbox has controls such as a Throttle, EmergencyStop button, and so on.Since the train receives its electrical power fromthe two rails of the track, the control box cansend signals to the train over the tracks bymodulating the power supply voltage.The control panel sends packets over the tracks tothe receiver on the train.The train includes analog electronics to sense thebits being transmitted and a control system to setthe train motors speed and direction based onthose commands. Each packet includes anaddress so that the console can control severaltrains on the same track; the packet also includesan Error Correction Code (ECC) to guard againsttransmission errors.This is a one-way communication system themodel train cannot send commands back to theuser.

  • Analyzing the Requirements for the Train Control System

    Here is a basic set of requirements for the system: The console shall be able to control up to eight trains on a single track.

    The speed of each train shall be controllable by a Throttle to at least 63 differentlevels in each direction (forward and reverse).

    There shall be an inertia control that shall allow the user to adjust theresponsiveness of the train to commanded changes in speed.

    Higher inertia means that the train responds more slowly to a change in thethrottle, simulating the inertia of a large train. The inertia control will provide atleast eight different levels.

    There shall be an emergency stop button.

    An Error Detection Scheme will be used to transmit messages.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 56

  • Digital Command Control (DCC)The DCC standard is given in two documents:

    Standard S-9.1, the DCC Electrical Standard, defines howbits are encoded on the rails for transmission.

    Standard S-9.2, the DCC Communication Standard, definesthe packets that carry information.

    The DCC standard does not specify many aspects of aDCC train system.

    It doesnt define the control panel, the type ofmicroprocessor used, the programming language tobe used, or many other aspects of a real model trainsystem.

    The standard concentrates on those aspects of systemdesign that are necessary for INTEROPERABILITY.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 57

  • The Electrical Standard deals with Voltages and Currents on the track.

    The Signal Encoding System should not interfere with power transmission either toDCC or non-DCC locomotives.

    A key requirement is that the data signal should not change the DC value of therails.

    The data signal swings between two voltages around the power supply voltage.

    As shown in Figure 1.15, bits are encoded in the time between transitions, not byvoltage levels. A 0 is at least 100 s while a 1 is nominally 58 s.

    The durations of the high (above nominal voltage) and low (below nominal voltage)parts of a bit are equal to keep the DC value constant.

    The specification also gives the allowable variations in bit times that a conformingDCC receiver must be able to tolerate.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 58

    Digital Command Control (DCC) contd.

    Bit encoding in DCC

  • The DCC Communication Standard describes howbits are combined into packets and the meaningof some important packets.

    Some packet types are left undefined in thestandard but typical uses are given inRecommended Practices documents.

    The basic packet format can be written as a regularexpression:

    PSA(sD) + E (1.1)

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 59

    Digital Command Control (DCC) contd.

  • In this regular expression: P is the preamble, which is a sequence of at least 10, 1 bits.

    The command station should send at least 14 of these 1 bits, some ofwhich may be corrupted during transmission.

    S is the packet start bit. It is a 0 bit. A is an address data byte that gives the address of the unit, with the

    most significant bit of the address transmitted first.An address is eight bits long.The addresses 00000000, 11111110, and 11111111 are reserved.

    s is the data byte start bit, which, like the packet start bit, is a 0. D is the data byte, which includes eight bits.

    A data byte may contain an address, instruction, data, or errorcorrection information.

    E is a packet end bit, which is a 1 bit.

    A packet includes one or more data byte start bit/data bytecombinations.

    Note: The address data byte is a specific type of data byte.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 60

    Digital Command Control (DCC) contd.

  • A BASELINE packet is the minimum packet that must be accepted by all DCCimplementations.

    A BASELINE packet has three data bytes:

    An address data byte that gives the intended receiver of the packet;

    The instruction data byte provides a basic instruction; and

    An error correction data byte is used to detect and correct transmissionerrors.

    The instruction data byte carries several pieces of information.

    Bits 03 provide a 4-bit speed value.

    Bit 4 has an additional speed bit, which is interpreted as the least significant speedbit.

    Bit 5 gives direction, with 1 for forward and 0 for reverse.

    Bits 78 are set at 01 to indicate that this instruction provides speed and direction.

    The error correction data byte is the bitwise exclusive OR of the address and

    instruction data bytes.

    The standard says that the command unit should send packets frequently since apacket may be corrupted. Packets should be separated by at least 5 ms.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 61

    Digital Command Control (DCC) contd.

  • Conceptual SpecificationA Conceptual Specification allows one to understand

    the system a better way.

    This specification is simple and allows to cover somebasic concepts in system design.

    A Train Control System turns Commands into Packets.

    A Command comes from the command unit while apacket is transmitted over the rails.

    Commands and packets may not be generated in a 1-to-1 ratio.

    As per the DCC standard; Command units should resendpackets in case a packet is dropped duringtransmission.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 62

  • There are 2 major subsystems:

    The Command unit and

    the Train Board Component

    as shown in Figure 1.

    Each of these subsystems hasits own internal structure.

    The basic relationship betweenthem is illustrated in Figure2.

    This figure shows a UMLCollaboration Diagram;

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 63

    Conceptual Specification contd.Class diagram for the Train Controller Messages

    Figure 1

    UML collaboration diagram for major subsystems of the train controller system

    Figure 2

  • The Command unit and Receiver are eachrepresented by OBJECTS; the command unit sendsa sequence of packets to the trains receiver, asillustrated by the arrow.

    The notation on the arrow provides both the type ofmessage sent and its sequence in a flow ofmessages; since the console sends all themessages, the arrows messages have beennumbered as 1..n.

    Those messages are carried over the track.

    Since the track is not a computer component and ispurely passive, it does not appear in the diagram.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 64

    Conceptual Specification contd.

  • Next Step of DesignNow break down the Command Unit and Receiver into their major components.

    The console needs to perform three functions:

    - read the state of the front panel on the command unit,

    - format messages, and

    - transmit messages.

    The train receiver must also perform three major functions:

    - receive the message,

    - interpret the message (taking into account the current speed, inertia setting, etc.),and

    - actually control the motor.

    The UML class diagram is shown in Figure in next slide.

    It shows the console class using 3 classes, one for each of its major components.

    These classes must define some behaviors, and the basic characteristics of these classes are:

    The Console class describes the command units front panel, which contains theanalog knobs and hardware to interface to the digital parts of the system.

    The Formatter class includes behaviors that know how to read the panel knobs andcreates a bit stream for the required message.

    The Transmitter class interfaces to analog electronics to send the message along thetrack.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 65

  • A UML Class Diagram for the Train Controller showing the composition of the subsystems

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 66

    Next Step of Design contd.

  • There will be one instance of the Console class and one instance of each of the componentclasses, as shown by the numeric values at each end of the relationship links.

    Some special classes which represent Analog Components, ending the name of each with anasterisk:

    Knobs* describes the actual analog knobs, buttons, and levers on the control panel.

    Sender* describes the analog electronics that send bits along the track.

    Likewise, the Train makes use of three other classes that define its components:

    The Receiver class knows how to turn the analog signals on the track into digital form.

    The Controller class includes behaviors that interpret the commands and figures outhow to control the motor.

    The Motor interface class defines how to generate the analog signals required tocontrol the motor.

    Two classes are defined to represent Analog Components:

    Detector* detects analog signals on the track and converts them into digital form.

    Pulser* turns digital commands into the analog signals required to control the motorspeed.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 67

    Next Step of Design contd.

  • Detailed SpecificationAt this point, the analog components need to be defined in more

    detail because their characteristics will strongly influence theFormatter and Controller.

    Figure below shows a class diagram for these classes; it includesattributes and behaviors of these classes.

    The Panel has three knobs: train number (which train is currentlybeing controlled), speed (which can be positive or negative), andinertia. It also has one button for emergency-stop.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 68

    Classes describing analog physical objects in the Train Control System

  • When the train number settings are changed, the othercontrols are also to be reset to the proper values forthat train so that the previous trains control settingsare not used to change the current trains settings.

    To do this, Knobs* must provide a set-knobs behaviorthat allows the rest of the system to modify the knobsettings.

    The motor system takes its motor commands in twoparts.

    The Sender and Detector classes are relatively simple:They simply put out and pick up a bit, respectively.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 69

    Detailed Specification contd.

  • To understand the Pulser class, refer Figure below, wherein the speed ofelectric motors is commonly controlled using pulse-width modulation:Power is applied in a pulse for a fraction of some fixed interval, withthe fraction of the time that power is applied determining the speed.

    The digital interface to the motor system specifies that pulse width as aninteger, with the maximum value being maximum engine speed.

    A separate binary value controls direction.

    Note: The motor control takes an unsigned speed with a separatedirection, while the panel specifies speed as a signed integer, withnegative speeds corresponding to reverse direction.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 70

    Detailed Specification contd.

  • Figure below shows the classes for the panel and motor interfaces.

    These classes form the software interfaces to their respective physical devices.

    The Panel class defines a behavior for each of the controls on the panel;

    NOTE: An internal variable for each control have not been defined since their valuescan be read directly from the physical device, but a given implementation maychoose to use internal variables.

    The New-settings behavior uses the set-knobs behavior of the Knobs* class tochange the knobs settings whenever the train number setting is changed.

    The MOTOR-INTERFACE defines an attribute for speed that can be set by otherclasses.

    The Controllers job is to incrementally adjust the motors speed to provide smoothacceleration and deceleration.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 71

    Detailed Specification contd.

    Class diagram for the Panel and Motor interface.

  • The Transmitter and Receiver classes are shown in Figure below.

    They provide the software interface to the physical devices that sendand receive bits along the track.

    The Transmitter provides a distinct behavior for each type of messagethat can be sent; it internally takes care of formatting the message.The Receiver class provides a read-cmd behavior to read a messageoff the tracks.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 72

    Detailed Specification contd.

  • The Formatter class is shown in Figure below. The formatter holds the currentcontrol settings for all of the trains.

    The send-command method is a utility function that serves as the interface to thetransmitter.

    The Operate function performs the basic actions for the object.

    At this point, only a simple specification is needed, which states that the formatterrepeatedly reads the panel, determines whether any settings have changed, andsends out the appropriate messages.

    The panel-active behavior returns true whenever the panels values do notcorrespond to the current values.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 73

    Detailed Specification contd.

    Class diagram for the Formatter class

  • The role of the formatter during the panels operation is illustrated bythe sequence diagram of Figure below.

    The figure shows two changes to the knob settings: 1st to theThrottle, Inertia, or Emergency Stop; 2nd to the Train Number.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 74

    Detailed Specification contd.

    Sequences diagram for transmitting a control input

  • The panel is called periodically by the Formatter todetermine if any control settings have changed.

    If a setting has changed for the current train, theformatter decides to send a command, issuing aSend-command behavior to cause the transmitter tosend the bits.

    Because transmission is serial, it takes a noticeableamount of time for the Transmitter to finish acommand; in the meantime, the Formatter continuesto check the panels control settings.

    If the train number has changed, the formatter mustcause the knob settings to be reset to the propervalues for the new train.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 75

    Detailed Specification contd.

  • The state diagram for a very simple version of the operate behavior ofthe Formatter class is shown in Figure below.

    This behavior watches the panel for activity: If the train numberchanges, it updates the panel display; otherwise, it causes therequired message to be sent.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 76

    Detailed Specification contd.

    State diagram for the Formatter operate behavior

  • The Adjacent Figure

    shows a state diagram

    for the panel-active

    behavior.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 77

    Detailed Specification contd.

  • The definition of the trainsController class is shown inFigure 1.

    The Operate behavior is calledby the receiver when it getsa new command; operatelooks at the contents of themessage and uses the issue-command behavior tochange the speed, direction,and inertia settings asnecessary.

    A specification for operate isshown in Figure 2.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 78

    Class diagram for the Controller class

    State diagram for the Controller operate behavior

    Figure 1

    Figure 2

    Detailed Specification contd.

  • The operation of theController class during thereception of a set-speedcommand is illustrated inAdjacent Figure.

    The Controllers operatebehavior must executeseveral behaviors todetermine the nature ofthe message.

    Once the speed commandhas been parsed, it mustsend a sequence ofcommands to the motor tosmoothly change thetrains speed.

    August 6, 2014

    ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 79

  • There are three important issues.

    First, the number of bits used need to be specified to determine the message type.

    three bits are chosen, since that gives five unused message codes.

    Second, An information about the length of the data fields needs to be included, which isdetermined by the resolution for speeds and inertia set by the requirements.

    Third, the error correction mechanism needs to be specified; a single-parity bit is chosen forbeing used.

    The classes can be updated to provide this extra information as shown in Figure below.

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 80

    Detailed Specification contd.

    Refined class diagram for the Train Controller commands

  • THANK YOU

    August 6, 2014 ECS Lecture Notes: 7th Sem. CSE (VTU) By Dr. K. Satyanarayan Reddy 81