Site hosted by Angelfire.com: Build your free website today!
« November 2008 »
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
Entries by Topic
All topics  «
Blog Tools
Edit your Blog
Build a Blog
RSS Feed
View Profile
You are not logged in. Log in
My Blog
Friday, 7 November 2008

Applied Electromagnetic Theory

University of British Columbia

Department of Physics and Astronomy

Spring 2004

 www2.eng.cam.ac.uk/~tac1000/emfieldsandwaves.htm

 

Ohm’s Law, the Electromotive Force, and Faraday’s

law of Induction, and mutual inductance

1.1 Ohm’s law

Background: When a marble drops in molasses, the drag it experiences is

proportional to the rate it falls (by a drag law

 

THE TAGGED SIGNAL MODEL

A PRELIMINARY VERSION OF A DENOTATIONAL FRAMEWORK FOR

COMPARING MODELS OF COMPUTATION

Edward A. Lee and Alberto Sangiovanni-Vincentelli

EECS, University of California, Berkeley, CA, USA 94720.

Abstract

We give a denotational framework that describes concurrent processes in very gen

references.doc:

To Be Added:

MAT1320: Calculus by Berkey

ELG2130 and ELG2135: Sadiku and add as well Rosa

       ? http://www.physics.umt.edu/~jacobs/Course_Materials/PH321_05/tds2014_manual.pdf
       ? http://www.ecs.tuwien.ac.at/lehre/Microcontroller/Docs/TDS200.pdf
       http://www.seas.upenn.edu/ese/rca/instruments/HPfuncgen/WaveFormGen/WaveFormGen.html

       D:\ELG2130\berkeley and D:\ELG2130\hong kong
       

PHY2361: Physics of... by Eisberg
  Modern Physics from a to Z by James Rohlf
   
  http://scienceworld.wolfram.com/physics/FiniteSquarePotentialWell.html
  http://scienceworld.wolfram.com/physics/Half-InfiniteSquarePotentialWell.html
  http://scienceworld.wolfram.com/physics/HydrogenAtom.html
         http://scienceworld.wolfram.com/physics/InfiniteSquarePotentialWell.html
  http://scienceworld.wolfram.com/physics/PotentialStep.html

CSI1102: http://www.cs.queensu.ca/home/cisc121/2003f/lecturenotes/mcleod/slideslistB.html

SEG2101: http://www.sintef.no/time/elb40/html/elb/sdl/sdl_t01.htm#30345

MISC: http://www.iis.ee.ethz.ch/~zimmi/publications/comp_arith_notes_l.ps.gz
      http://www.engineeringforum.org/
      http://www-cad.eecs.berkeley.edu/~newton/Classes/CS150sp98/lecture.htm
      http://www.cs.berkeley.edu/~pattrsn/252S98/
      http://www-math.mit.edu/~edelman/18.337/BOOK/master.ps
      http://www.eecs.harvard.edu/~dbrooks/cs146/
      http://www.dcs.ed.ac.uk/teaching/cs3/comparch/slides.html
      http://www.ece.ubc.ca/~elec487/
      http://www.turnerlab.biotech.ubc.ca/eece_254/index.html
      http://www.ece.ubc.ca/~elec359/

CEG2131: Essentials of Computer Architecture (Hardcover)
by Douglas E. Comer

http://eca.cs.purdue.edu/CS250/ir/lec.html

SEG:
***** Embedded Software: The Works (Paperback)
by Colin Walls

***** Software Design Methods for Concurrent and Real-time Systems Gomaa

Software Design for Real-time Systems
Author: J.E. Cooling

Introduction to Real-Time Software Design by S.J. Allworth

ELG2130: http://www.ece.mcmaster.ca/~davidson/EE2CJ5/slides.html
Fundamentals of Electric Circuits
Charles Alexander, Matthew Sadiku

PHY3320: http://www.physics.ubc.ca/~janis/Courses/401/401lect.html
PHY2310: http://rsrawat.myplace.nie.edu.sg/Teaching/CAP102/CAP%20102-Lecture%20Notes.htm
  http://cnx.rice.edu/content/col10279/latest/
  http://optics.hanyang.ac.kr/~shsong/syllabus-AO-2004-2.html

PHY____ The Electromagnetics problem solver
QC 760.52 .E44

ELG3120:http://www.engr.usask.ca/classes/EE/351/ee351-main.html
        http://dynamo.ecn.purdue.edu/~ragu/301/

ELG4132: http://www.cpe.ku.ac.th/~pom/courses/204424/2005/
  http://www.cse.sc.edu/~jimdavis/Courses/2003-Fall%20CSCE%20613/F03_csce_613_lectures.htm
  http://www.cs.man.ac.uk/teaching/electronics/CS221/
  http://sina.sharif.edu/~hessabi/Adv_VLSI/index.html#Lecture%20Notes,%20Course%20Description,%20and%20Tentative%20Schedule
  http://lsmwww.epfl.ch/Education/VLSI1-04/vlsi01_docs.html
  http://appsrv.cse.cuhk.edu.hk/~ceg3490/
  http://ece-classweb.ucsd.edu:16080/fall05/ece260a/lecture.notes.html


www.eie.polyu.edu.hk/~em/fdcn03pdf/Networking1.pdf
www.eie.polyu.edu.hk/~em/fdcn03pdf/Networking2.pdf

ELG4172: http://www.ee.nthu.edu.tw/~chhwang/classes/EE3660/
  http://www.ece.ubc.ca/~elec466/
  http://www-sigproc.eng.cam.ac.uk/~ad2/3F3.html
  http://www.it-c.dk/courses/IS/F2000/download.html

digital communications: http://licos.epfl.ch/index.php?p=courses_digital2003

CEG3131: Introduction to Embedded Microcomputer Systems: Motorola 6811/6812 Simulations
  Jonathan W. Valvano

CEG2151: http://www.doulos.com/knowhow/vhdl_designers_guide/
  http://tisu.mit.jyu.fi/embedded/TIE341/TIE341.htm
 

CEG3150: http://tisu.mit.jyu.fi/embedded/TIE341/TIE341.htm
  http://sunpal7.mit.edu/6.111/s2003/ (lecture notes)

  Digital Systems: Principles and Applications Ronald Tocci, Neal Widmer

         VHDL: Analysis and Modeling of Digital Systems Zainalabedin Navabi

CEG4161: http://www.caspur.it/risorse/softappl/doc/matlab_help/toolbox/stateflow/concep20.html#29877

CEG4153: book by C S G Lee, and book on the DH convention.

Robotics in Europe: http://www.robotics-in-europe.org/listing.php?id=16

Added:

06/21/2005

ELG2135: http://csr.phys.ualberta.ca/gingrich/teaching/phys395.pdf
  http://www.phys.ualberta.ca/~gingrich/phys395/notes/phys395.html

PHY3320: Static and Dynamic Electricity by William Smythe (C/O).

CEG3131: http://www.cs.csubak.edu/~wli/Wei_Li_Tch/CS_420/LAB_420.html (68HC12 assembler)
  http://almy.us/freesim.html (68HC12 simulator)
  http://www.vlsilab.polito.it/~max/motorola/68hc12/docs/


CEG4392: http://www.altera.com/support/examples/exm-index.html

CEG4161: http://www.omg.org/news/meetings/workshops/RT_2003_Manual/Presentations/6-3_Kopetz.pdf
  http://www.csc.uvic.ca/~csc454/notes/B.Introduction.pdf
         http://www.csc.uvic.ca/~csc454/notes/C.faults.pdf
         http://www.csc.uvic.ca/~csc454/notes/N.Reliability.pdf



Misc: D. Gajski, Specification and Design of Embedded Systems
      Other books by Wayne Wolf

      Embedded Systems Overheads, Lund University

      Embedded Systems Overheads, Linkopings University

      Embedded systems overheads, Swiss Federal Institute of Technology, Zurich.

      Real Time Systems, Korea Advanced Institute of Science and Technology.

Added 07/13:

PHY3320: http://electron6.phys.utk.edu/phys594/Tools/e&m/summary/maxwell/maxwell.html
         http://fermi.la.asu.edu/PHY531/units/
  http://www.pas.rochester.edu/~dmw/phy218/Lectures.htm

Added 07/18:

Misc:    http://camars.kaist.ac.kr/%7ehyoon/courses/cs440/note_index.html
  Digital Arithmetic (Hardcover) by Milo D. Ercegovac, Tomás Lang
  http://www.cs.ucla.edu/digital_arithmetic/viewgraphs_p.html
         http://www-inst.eecs.berkeley.edu/~cs150/fa04/Calendar.htm

CEG3180: http://camars.kaist.ac.kr/%7ehyoon/courses/cs440/note_index.html
  http://www.iu.hio.no/teaching/materials/MS003A/

Added 07/19:

CEG3151: http://www-inst.eecs.berkeley.edu/%7Ecs152

Added 08/09:

SEG2101: http://www.cygwin.com/mirrors.html
  http://www.cygwin.com/packages/
  http://www.cs.man.ac.uk/~pjj/cs211/yacc/yacc.html
  http://www.cs.man.ac.uk/~pjj/cs211/lex/lex.html
 
CEG4153: Robot Dynamics and Control by M. Spong and M. Midyasagar
         Tutorial on Robotics by C. Lee, R. Gonzalez, and K. Fu
         An Introduction to Space Robotics by Alex Ellery
         
Added 08/17:
GNG1100: http://www.mum.tu-harburg.de/Tutorials/Start.htm         

CSI1102: http://www.cs.toronto.edu/~krj/courses/108/lectures/

Added 09/04: Quaternions and Rotation sequences by Jack Kuipers

Recommendation:

http://sis.berkeley.edu/gc/curricula.html
http://www.stanford.edu/home/academics/departments.html

http://www.basetechnology.com/entnet.htm
http://www.ednmag.com/
http://subscribe.penton.com/ed/
http://www.hte.com/uconline/
http://www.hte.com/uconline/ecd/

The Microcontroller Idea Book, by Jan Axelson
Serial Port Complete, by Jan Axelson
Parallel Port Complete, by Jan Axelson
Printed Circuits Handbook, by Clyde F. Coombs
A Whack On The Side Of The Head, by Roger von Oech

 

EPFL courses for site profs:

Analysis III:
http://alg-geo.epfl.ch/~liebendo/

Cours d'Analyse Numérique pour Ingénieurs:
http://iacs.epfl.ch/asn/teaching/ing.html

Probabilités et Statistique I&II:
http://ima.epfl.ch/prst/enseignement/probabilites-statistique/Description.html

Cours de Physique générale III et IV:
http://irrmawww.epfl.ch/~pasquarello/physgen/physgen.html

Circuits et Systèmes I, II:
http://lanoswww.epfl.ch/studinfo/courses/cours_cas/


Search ee ethz for the names of the courses in the curriculum.

http://www.ee.ethz.ch/studium/D-ITET_DiplReg2001.pdf

Math ETHZ:
http://www.math.ethz.ch/undergraduate/lectures

Informatik I & II:
http://www.inf.ethz.ch/personal/vroth/InfIIMaVt/

Netzwerke & Schaltungen II:
http://www.ife.ee.ethz.ch/~barras/NuS2/indexNuS2.html

Theoretical Physics:
http://www.itp.phys.ethz.ch/lectures/RGP/old/SS00/

Signal- und Systemtheorie II:
http://control.ee.ethz.ch/~sigsys/
http://control.ee.ethz.ch/~sigsys/skript/Script2005.pdf

Halbleiterbauelemente:

http://www.iis.ee.ethz.ch/%7Eweb/vorlesungen/halbleiterbauelemente/downloads.html


Seen before on crypto: http://www.cs.ucsd.edu/users/mihir/papers/gb.html
quantum computing: http://www.theory.caltech.edu/people/preskill/ph229/
Math books: http://www.geocities.com/alex_stef/mylist.html
Economics: http://www.econphd.net/notes.htm
Calculus Lecture Notes: http://www.math.scar.utoronto.ca/calculus/Redbook/
Dynamical Systems: http://www.math.okstate.edu/mathdept/dynamics/lecnotes/lecnotes.html
Linear Algebra Videos: http://web.mit.edu/18.06/www/Video/video-fall-99.html
Math: http://faculty.ccp.edu/faculty/dsantos/lecture_notes.html
Scientific Computing: http://www.cse.uiuc.edu/heath/scicomp/notes/
Linear Algebra: http://www.numbertheory.org/book/
Computation: http://web.comlab.ox.ac.uk/oucl/strachey/

 

Introductory Note: The book references are designated by (C), (C/O), (N/A), or left blank.

 

<!--[if !supportLists]-->(C)    <!--[endif]-->The book is available only at the Carleton university library

(C/O) The book is available at both libraries: Carleton and university of Ottawa’s Morissette library.

                               “Blank” The book is only available at the university of Ottawa Morissette library.

 

How to use the document: The best way to use this document is to focus on what the professor teaches in the class, and to try

                                         to understand the topics from the notes and the designated course textbook. If there is some

     confusion, then the reader can refer to a reference.

 

 

ECO1192

MAT1320

GNG1100

CSI1102

ELG1100

MAT1341
 CSI2114

ELG2130

CEG2131

MAT2331

SEG2100

PHY2323
 PHY2310

MAT2322

ELG2135

SEG2101

CEG2151

CEG3131
 CEG3151

CSI3310

CEG3150

CEG3180

SEG3310

CEG4131
 CEG4193

CEG4161

CEG4392

ELG4172

CEG4311

CEG4185
 ELG4132

CEG4153

 

Micellaneous
 

 

 

 

 

 

Course
 Book
 Internet
 
ECO1192
 Engineering Economics by Chan S. Park (C/O)
 

 

>>
 
MAT1320
 1)Engineering Mathematics by Anthony Croft, Robert Davison, Martin Hartgreaves (C)
 1) http://www.sosmath.com/

2) http://www.mathcentre.ac.uk/resources/workbooks/mathcentre/web-integrationTRIGsub-.pdf

 

 

>>
 
GNG1100
 1)Engineering Mechanics by R.C. Hibbeler (C/O)

 

2)Engineering Mechanics by J.L. Meriam, and L.G. Kraige (C/O)

 

3) Statics by J. L. Meriam (C/O)
 1) http://home.san.rr.com/mccollums/Structures/Frames/index.html

2) http://www.ma.psu.edu/~herzog/em11/top.html

 

 

 

 

 

 

 

 

 

>>
 
CSI1102
 
 1) http://java.sun.com/docs/books/tutorial/

2) http://www.particle.kth.se/~lindsey/JavaCourse/Book/courseMap.html

 

>>
 
ELG1100
 1)Digital Design by Morris Mano (C/O)

 

2)Principles of Digital Design by Daniel Gajski (C/O)
 

 

 

 

 

 

 

>>
 
MAT1341
 1)Linear Algebra with Applications by W. Keith Nicholson

 

2)Advanced Engineering Mathematics by Erwin Kreyszig (C/O)
 

 

 

 

 

 

 

 

 

>>
 
CSI2114
 1)Data structures and algorithm analysis by Mark Allen Weiss (C/O)

 

2)Data Structures and Algorithms in Java by Robert Lafore (C)
 http://ww0.java2.datastructures.net/presentations/

 

 

 

 

 

 

 

>>
 
ELG2130
 1)Engineering circuit analysis by William Hayt (C/O)

 

2)Linear Circuit Analysis by Artice Davis

 

Solved Problems:

3)Schaum's Outline of Electric Circuits
by Joseph Edminister, Mahmood Nahvi (C/O)

 

5)Resistive Circuits by Daniel Babb (C)
 http://eeclass.stanford.edu/cgi-bin/handouts.cgi?V_section=cat1035252336&cc=e40

 

FYI:

http://www.kimber.com/atomic-struct/tablecont.htm

 

>>
 
CEG2131
 1)Computer organization by Carl Hamacher, Zvonko Vranesic, Safwat Zaky (C/O)
 

 

 

 

>>
 
MAT2331
 Advanced Engineering Mathematics by Reza Malek Madani
 http://www.efunda.com/math/math_home/

 

 

 

>>
 
SEG2100
 Schaum’s outline of UML by Simon Bennett, John Skeleton, Ken Lunn (C)
 See also SEG3310

 

 

 

>>
 
PHY2323
 1)chapter 22, 23, 24, 25, 26, 27.1, 27.2, 28.1, 29.1-29.3, 29.5-29.7, 30, 31, 32.1, 32.3, 32.6, 34, University physics 1995, 1996 edition by Harris Benson

 

2)Vector Analysis by Murray Spiegel (C/O)

 

3)Electromagnetic Fields and Waves by Paul Lorrain (C/O),

 

Electromagnetism: Principles and Applications by Paul Lorrain

 

4)Schaum’s outline of Electromagnetics by Joseph Edminister (C)
 1) http://web.mit.edu/6.013_book/www/

2) http://evangelion.mit.edu/802TEAL3D/index.html

3) http://www.jhu.edu/~signals/phasorapplet/phasorappletindex.htm

    http://www.jhu.edu/~signals/phasorlecture2/indexphasorlect2.htm

 

See Misc. #1

 

>>

 
 
PHY2310

(Science Elective)
 1)Optics by Eugene Hecht (4th edition)

 

2)Schaum’s outline of Optics by Eugene Hecht (N/A)
 

 

 

 

 

 

>>
 
MAT2322
 1)Calculus with Analytic geometry by Edwards and Penney (C/O)
 http://whitehead.math.berkeley.edu/courses/textsummer03.shtml (Multivariable Calculus)

 

 

>>
 
ELG2135
 1)Microelectronic Circuits by A. Sedra, and K Smith (2nd edition)

 

2)Electronics:
Circuits and Devices by Ralph Smith (C/O)
 http://eeclass.stanford.edu/cgi-bin/handouts.cgi?V_section=cat1035252336&cc=e40

 

 

 

 

 

 

 

>>
 
SEG2101
 1)SDL:formal object-oriented language for communicating systems by Jan Ellsberger, Dieter Hogrefe, Amardeo Sarma

 

2)SDL illustrated : visually design executable models by Laurent Doldi

 

3)Compiler design in C by Allen I. Holub (C/O)
 1) http://www.iec.org/online/tutorials/sdl/topic04.html

2) http://www.linux.com/howtos/Lex-YACC-HOWTO.shtml

3) http://java.sun.com/docs/books/tutorial/essential/threads/

 

>>
 
CEG2151
 1)Digital Logic with VHDL Design by Stephen Brown, Zvonko Vranesic (C/O)

 

2)Design of Computers and other Complex Digital Devices by Sunggu Lee (C/O)
 1) http://www.vhdl-online.de/

2) http://mikro.e-technik.uni-ulm.de/vhdl/

 

FYI:

http://www.ee.ic.ac.uk/pcheung/teaching/ee3_DSD/

 

 

 

 

 

>>
 
CEG3131
 1)Design of Embedded Systems using 68HC12/11 Microcontrollers by Richard  Haskell (en route UO)

 

2)Software and hardware engineering: Motorola M68HC11 by Fredrick M. Cady (C)
 1) http://www.stanford.edu/class/ee281/lectures.html (main topics of a microprocessor course)

2) http://www.msoe.edu/eecs/ce/ceb/resources/ (Wookie: 68HC11 simulator)

 

FYI:

http://www.freescale.com/webapp/sps/site/homepage.jsp?nodeId=02

 

 

 

 

 

 

 

 

>>
 
CEG3151
 Design of Computers and other Complex Digital Devices by Sunggu Lee (C/O)
 1) http://www.unf.edu/~swarde/Execution_Units/ALU_Design/alu_design.html

2) http://www-courses.cs.uiuc.edu/~cs232/lectures/

3) http://bwrc.eecs.berkeley.edu/Classes/CS152/index_lectures.html

4) http://www.stanford.edu/class/ee108b/

 

>>
 
CSI3310
 1)Fundamentals of operating systems by Andrew Lister (C/O)

 

2)Modern Operating Systems by Andrew Tanenbaum (C/O)
 

 

 

 

 

 

 

 

>>
 
CEG3140/

CEG3150

 
 1)Automatic Control Systems by Benjamin C. Kuo (C/O)

 

2)Digital Control Systems by Benjamin C. Kuo (C)

 

3)Control

Systems Engineering

by Norman Nise (C)

 

4)Modern Control Engineering by Katsuhiko Ogata

(C/O)
 http://www.engin.umich.edu/group/ctm/

 

>>
 
CEG3180
 1)Data communications for engineers by Michael  Duck, Peter Bishop, Richard Read

 

2)Data communications and networking by Behrouz Forouzan

 

3)Computer Networks by Andrew Tanenbaum (C/O)
 http://www.abo.fi/~xzhou/telecom.html

 

>>
 
SEG3310
 
 1)http://www.cetus-links.org, http://oop.rosweb.ru/cetus/

2)http://www.omg.org/news/meetings/workshops/RT_2002_Workshop_Presentations/01-2_Douglass_RT_UMLTutorial.pdf

3) http://www.jeckle.de/umllinks.htm#tutorials

4) http://lgl.epfl.ch/teaching/software_engineering/documentation/articles/uml-2000-fucsos.pdf

5) http://lgl.epfl.ch/teaching/software_engineering/documentation/ocl-spec_1-5.pdf

6) http://www.embedded.com/showArticle.jhtml?articleID=13900141

7) http://www.dcs.qmul.ac.uk/~norman/SE-pages/Slides/UML%20Dynamic%20modelling.pdf



 

FYI:

http://www.omg.org/docs/ad/99-12-05.pdf

 

>>
 
CEG4131
 1)Computer Architecture by John L. Hennessy, David A. Patterson (1990 edition)

(C/O)

 

2)Computer  Architecture and Parallel Processing

by Kai Hwang and Faye Briggs (C/O)
 

 

 

 

 

 

 

 

 

 

 

>>
 
CEG4193
 Distributed Systems: Principles and Paradigms by Andrew Tanenbaum and Maarten van Steen (C/O)
 1) http://cs.gmu.edu/~setia/cs571-F02/slides/

2) http://www.uonbi.ac.ke/acad_depts/ics/course_material/ics618/ics319/

3) http://www.cswl.com/whiteppr/tutorials/modified.html#basic

4) http://java.sun.com/docs/books/tutorial/networking/index.html

5) http://www.cetus-links.org/

 

FYI:                                         

Grid Computing

http://www.redbooks.ibm.com/redpapers/pdfs/redp3613.pdf

http://distributedcomputing.info/projects.html

 

>>
 
CEG4161
 1)Real-Time Systems and Their Programming Languages by Alan Burns (1st edition 1990) (C)

 

2)Real-Time Systems by C. M. Krishna and Kang Shin (C)
 1) http://www.cs.york.ac.uk/rts/RTSBookThirdEdition.html

2) http://www.abo.fi/~xzhou/realtime.html

3) http://www-unix.ecs.umass.edu/~krishna/697C-S04/rtcourse.html

4) RT UML & Statecharts: 1, 2. More here and here

5 ) SDL

4) Rose Real Time (Modelling Language Guide, Tutorials, Model Examples, C++  

    reference)

5) http://www-106.ibm.com/developerworks/forums/dw_forum.jsp?forum=332&cat=24&hideBody=true

 

 

>>
 
CEG4392
 
 http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/

 

See also CEG3131 and CEG2151

 

>>
 
ELG4172
 Digital Signal Processing by Alan Oppenheim (C)
 1) http://www.dspguide.com/pdfbook.htm

2) http://www.ece.mcmaster.ca/~gershman/slides_4tl4.pdf

 

>>
 
CEG4311
 1)Digital Image Processing by Rafael Gonzalez (C/O)

 

2)Digital Image Processing Using MATLAB by Rafael Gonzalez

 

3)Digital Image Processing by Kenneth Castleman (C/O)
 1) http://www.stanford.edu/class/ee368/handouts.html

2) http://www.imageprocessingbook.com/DIPUM/tutorials/tutorials.htm

3) http://www.mathworks.com/access/helpdesk/help/toolbox/images/

 

 

 

 

 

 

 

 

 

 

>>
 
CEG4185
 
 1) http://csc.colstate.edu/kurkovsky/classes/6157/6157Slides.asp

2) http://www.ciise.concordia.ca/~assi/Lecture1.ppt

3) http://dpnm.postech.ac.kr/cs637/

 

>>
 
ELG4132
 Modern VLSI Design by Wayne Wolf (C)
 http://www.princeton.edu/~wolf/modern-vlsi/Overheads.html

 

>>
 
CEG4153
 
 1) http://www.sosmath.com/trig/Trig5/trig5/trig5.html

2) Forward Kinematics, Inverse Kinematics

3) http://www1.cs.columbia.edu/~allen/F03/NOTES/invkin.full.pdf

4) http://www.math.ucsd.edu/~sbuss/ResearchWeb/ikmethods/iksurvey.pdf

5) http://www.imageprocessingbook.com/DIPUM/tutorials/tutorials.htm

6) http://www.mathworks.com/access/helpdesk/help/toolbox/images/

 

FYI: Related to link #2

Introduction, Homogeneous Transformations, Velocity Kinematics, Computer Vision, Path Planning

 

>>
 

 

 

Miscellaneous Notes:

 

 

The aim of the listed book references for PHY2323 is to provide the following:
 

<!--[if !supportLists]-->i)                    <!--[endif]-->The first one gives an understanding of the concepts of the course without the advanced math.

<!--[if !supportLists]-->ii)                   <!--[endif]-->The second introduces the math concepts. The main topics here are: gradient, divergence, curl, line integral, surface integral, volume integral, closed path and surface integrals.

<!--[if !supportLists]-->iii)                 <!--[endif]-->The fourth brings everything together.

 

A good understanding of Maxwell’s equations in the case of time constant fields (∂/∂t=0) and time varying fields (∂/∂t≠0) should be achieved. The aim of some of the problems in the course is to find two fundamental quantities E and H for the given charge or current configuration, and derive all other quantities such as potential, flux, and capacitance by using them.

 

Near the end of PHY2323 phasors will be covered. Phasors are a representation of sinusoidal functions in terms of their phase and amplitudes. You can visit internet link #3 to learn more about them.

 

     2.   MIT OpenCourseWare

     

<!--[if !supportLists]-->3.      <!--[endif]-->Various Forums:  

                  

   Engineering:               http://www.eng-tips.com/

 

         Engineering Software Forum:

http://www.eng-tips.com/threadcategory.cfm?lev2=22

 

   Programming:



                  Java:                 http://forum.java.sun.com/forum.jsp?forum=31

                  VHDL:             http://www.tek-tips.com/gthreadminder.cfm/lev2/4/lev3/32/pid/284

                 Assembly:

http://www.programmersheaven.com/c/MsgBoard/grouplist.asp

                                          http://www.bipom.com/cgi-bin/yabb/YaBB.pl

                                          http://www.roboticsindia.com/modules.php?name=Forums&file=viewforum&f=9

                  

           Math forum:            http://mathforum.org/students/college/

           

           Physics Forums:      http://www.physicsforums.com/index.php

                                          http://www.advancedphysics.org/

                                                http://www.groupsrv.com/science/viewforum.php?f=1

                                          http://physics.nad.ru/cgi-bin/forum.pl?forum=eng

 

           IT forum:                 http://www.tek-tips.com/

 

Dictionary of Computing and Communications by Mcgraw-Hill (C/O).
Computers as Components by Wayne Wolf (C/O).
Embedded Systems Design by Peter Marwedel (C/O).
Online Computing Dictionary
 

 

Top

 

Engineering Mechanics, Statics (Hardcover)
by William F. Riley, Leroy D. Sturges

Optics:

http://physics.pdx.edu/~larosaa/Applied_Optics_464-564/Applied_Optics_464_564.html
http://www.physics.gatech.edu/gcuo/UltrafastOptics/index.html
http://www.bli.uci.edu/lammp/powerpoints/ECE_176/
http://www.eng.warwick.ac.uk/oel/courses/undergrad.htm
http://www.ph.ed.ac.uk/~wjh/teaching/optics/

http://www.phys.soton.ac.uk/quantum/lectures/ip2.pdf
http://www.phys.soton.ac.uk/quantum/lectures/ip4.pdf
http://www.phys.soton.ac.uk/quantum/lectures/ip6.pdf
http://www.phys.soton.ac.uk/quantum/lectures/ip9.pdf


ELG2130:

Elementary Linear Circuit Analysis by Leonard Bobrow

Fundamentals of Electric Circuits by C. Alexander and M. Sadiku

The Analysis and Design of Linear Circuits by R Thomas and A Rosa

Basic Circuit Theory by Lawrence Huelsman (More of a teaching reference not a textbook for students)

SEG2101: Design Methods for Reactive Systems: Yourdon, Statemate, and the UML by R. J. Wieringa

http://www.sintef.no/time/
http://www.sintef.no/time/UML_ArchDesign.pdf
http://www.sintef.no/time/timecomplete.htm
http://www.sintef.no/time/elb40/html/elb/sdl/sdl_t01.htm
http://books.elsevier.com/companions/1558607552/slides/slides.pdf
http://books.elsevier.com/companions/1558607552/slides/slides_handout.pdf

ELG Electrodynamics: http://www.ifh.ee.ethz.ch/%7Epascal/FuKII/SlidesII04.html

CEG3131:

?????Introduction to Embedded Microcomputer Systems: Motorola 6811/6812 Simulations
by Jonathan W. Valvano

Embedded Controller Hardware Design by Ken Arnold

Embedded Microprocessor Systems Design: An Introduction Using the Intel 80C188EB by Kenneth Short

CEG2151:

http://tisu.mit.jyu.fi/embedded/TIE341/TIE341.htm
http://www.async.ece.utah.edu/~myers/nobackup/ee3700_99/index.html (lectures)
http://www.imit.kth.se/courses/2B1513/

Circuit Design with VHDL by Voleni Pedroni

CEG3150:

http://tisu.mit.jyu.fi/embedded/TIE341/TIE341.htm
http://web.mit.edu/6.111/www/f2005/

Circuit Design with VHDL by Voleni Pedroni

CEG3180:

Computer Networks: A Systems approach by Larry Peterson
Computer Networks: Behrouz Forouzan

http://camars.kaist.ac.kr/%7ehyoon/courses/cs440/note_index.html
http://highered.mcgraw-hill.com/sites/0072515848/student_view0/index.html

CSI3310:

http://undergraduate.csse.uwa.edu.au/units/230.205/resources.html
http://www.int.gu.edu.au/courses/2010int/2010inthome.html

ELG4172:

http://www.ece.ubc.ca/~elec466/
http://www-sigproc.eng.cam.ac.uk/~ad2/3F3.html

ELG4132:

http://sina.sharif.edu/~hessabi/Adv_VLSI/index.html#Lecture%20Notes,%20Course%20Description,%20and%20Tentative%20Schedule
http://lsmwww.epfl.ch/Education/VLSI1-04/vlsi01_docs.html
http://lsmwww.epfl.ch/Education/former/2002-2003/VLSIDesign/toc.html

CEG4161:

Real-Time Systems by C. M. Krishna and Kang Shin

http://www.cs.york.ac.uk/rts/RTSBookThirdEdition.html
http://rtcl.kaist.ac.kr/~bkkim/lecture/ (real time control)
http://www.mathworks.com/products/stateflow/
http://www.caspur.it/risorse/softappl/doc/matlab_help/toolbox/stateflow/concep20.html#29877

ftp://ftp.software.ibm.com/software/rational/docs/v2003/win_solutions/rational_rosert/

CEG4311:

Digital Image Processing by Rafael Gonzalez

http://www.stanford.edu/class/ee368/handouts.html

ELG4132:

http://sina.sharif.edu/~hessabi/Adv_VLSI/index.html#Lecture%20Notes,%20Course%20Description,%20and%20Tentative%20Schedule
http://lsmwww.epfl.ch/Education/VLSI1-04/vlsi01_docs.html
http://www.cpe.ku.ac.th/~pom/courses/204424/2005/

ELG4172:

http://www.ece.ubc.ca/~elec466/
http://www-sigproc.eng.cam.ac.uk/~ad2/3F3.html

CEG4240:

Digital Control Systems by B.C. Kuo
Digital Control of Dynamic Systems by Gene Franklin, J Powell, Michael Workman

CEG4392:

http://www.altera.com/support/examples/exm-index.html

Miscallaneous:

Digital Arithmetic:

http://www.cs.ucla.edu/digital_arithmetic/viewgraphs_p.html
http://www.iis.ee.ethz.ch/~zimmi/publications/comp_arith_notes_l.ps.gz

Components and design techniques for digital systems:

http://www-inst.eecs.berkeley.edu/~cs150/fa04/Calendar.htm

Computer Architecture:

http://www.cs.berkeley.edu/~pattrsn/252S98/
http://www.eecs.harvard.edu/~dbrooks/cs146/
http://www.dcs.ed.ac.uk/teaching/cs3/comparch/slides.html
http://www-math.mit.edu/~edelman/18.337/BOOK/master.ps
http://www.stanford.edu/class/ee282/handouts.html

http://cva.stanford.edu/ee482s/notes.html
http://www.eecs.harvard.edu/~dbrooks/cs146/

Embedded Systems:

http://www.cs.lth.se/EDA380/
http://www.ida.liu.se/~TDTS30/lectures.en.shtml
http://www.tik.ee.ethz.ch/tik/education/lectures/ES/ES.html
http://www.tik.ee.ethz.ch/tik/education/lectures/ES/SS05/script/skript.pdf
http://ls12-www.cs.uni-dortmund.de/~marwedel/kluwer-es-book/slides.html
http://www.princeton.edu/~wolf/books.html


http://www.abo.fi/~jolilius/wwwold/G620/


Hardware/Software Codesign:

http://www.tik.ee.ethz.ch/tik/education/lectures/hscd/#literature

Digital Engineering

http://www.tik.ee.ethz.ch/tik/education/lectures/DRS/DRS.html

Discrete Systems:

http://www.tik.ee.ethz.ch/tik/education/lectures/DES/

http://www.tik.ee.ethz.ch/~dyer/

courses offered by ETHZ:

http://dcg.ethz.ch/courses.html
http://www.tik.ee.ethz.ch/db/public/tik/?db=lectures&form=report_list_lectures&collaborator=&grp=&period[]=Sommersemester&submitIt=search
http://www.tik.ee.ethz.ch/db/public/tik/?db=lectures&form=report_list_lectures&collaborator=&grp=&period[]=Wintersemester&submitIt=search
http://www.ife.ee.ethz.ch/education/lectures.html

Various books:

http://www.princeton.edu/~wolf/books.html


Stanford class webpages:

http://www-ee.stanford.edu/class_directory.php

Uni Dortmund:

http://www-ds.e-technik.uni-dortmund.de/new/CEI/de/main/index.shtml

http://si2.epfl.ch/~demichel/publications/mcgraw/powerpoint/
http://www.microlab.ch/cad_ex/5sem/ex551/ex_3.htm
http://ls12-www.cs.uni-dortmund.de/~niemann/cool/cool.html
http://ls12-www.informatik.uni-dortmund.de/edu/scripts-de.html
http://ls12-www.cs.uni-dortmund.de/%7Emarwedel/kluwer-es-book/slides.html

Research:

Research MIT:

http://web.mit.edu/research/
http://www.rle.mit.edu/rleonline/research/research_groups.html
http://www.eecs.mit.edu/labs.html

Research Utoronto:

http://www.eecg.utoronto.ca/projects.html
http://www.ece.utoronto.ca/English/Research.html
http://www.cs.toronto.edu/DCS/Research/index.html

Research ETHZ:

http://www.tik.ee.ethz.ch/~tec/
http://www.tik.ee.ethz.ch/~thiele/projects.htm
http://www.inf.ethz.ch/research/index
http://www.iis.ee.ethz.ch/
http://www.nari.ee.ethz.ch/
http://www.vision.ee.ethz.ch/
http://www.eeh.ee.ethz.ch/
http://www.ife.ee.ethz.ch/~macthest/index.html
http://www.photonics.ee.ethz.ch/?http://www.ife.ee.ethz.ch/%7erobin/CPG_Pub_Thema.html
http://www.oldimrt.ethz.ch/~geering/cog/demo.html
http://www.ifh.ee.ethz.ch/
http://www.eek.ee.ethz.ch/information/contact.html
http://www.nari.ee.ethz.ch/commth/
http://metamaterial.ethz.ch/MetaPeople.htm


Textbooks:

http://www.inf.ethz.ch/services/library/lehrbuch.htm

Harvard:

http://www.registrar.fas.harvard.edu/fasro/courses/index.jsp?cat=ugrad&subcat=courses/ChemistryandChemicalBiology.html

 

Scheduling – Theory, Algorithms, and Systems

Michael Pinedo

2nd edition, 2002

Prentice-Hall Inc.

Pearson Education

n The lecture is based on this textbook



SWE 621: Software Design

Table Of Contents -1

• Introduction to Software Design

– Overview of Software Design …………………………6

– Software Design Process……………………………….. 11

– Design Concepts………………………………………. 28

– Introduction to Software Design Methods……………….41

• Survey of Software Design Methods…..…………………….45

– Structured Design……………………………………..…47

– DARTS………..……………………………………..…..56

– Jackson System Development…………..…………….. ..59

– Naval Research Lab Method………………………..…...63

– “Early” Object-Oriented Design…………………….. ….67

– Comparison of Software Design Methods……………….76

 

SERIES Z: LANGUAGES AND GENERAL SOFTWARE

ASPECTS FOR TELECOMMUNICATION SYSTEMS

Formal description techniques (FDT) – Specification and

Description Language (SDL)

Slides for

Design Methods for Reactive Systems:

Yourdon, Statemate and the UML

Roel Wieringa

Department of Computer Science

University of Twente,

the Netherlands

roelw@cs.utwente.nl

www.cs.utwente.nl/roelw

1

 

SDL by example
 
This part of the SDL tutorial leads you through SDL by means of an example. You will learn about the various elements of SDL by clicking on the desired elements in the diagrams. In case parts of a diagram reference other diagrams, e.g. process references, clicking the name (in underlined blue or red ) will follow the reference and bring you to the referenced diagram.

If you want to be lead through the example top down, start with "System diagram, Access Control System" and follow the diagram references from there.You may alternatively choose to look at the kind of diagram you want to learn about.

"Introduction to the example" gives a short, informal introduction to the example being used throughout.

Package diagram, SignalLib
Package diagram, AccessPointLib
Block type diagram, AccessPoint
Block type diagram, BlockingAccessPoint
Block type diagram, LoggingAccessPoint
Process type diagram, Controller
Process type diagram, redefined Controller in BlockingAccessPoint
Process type diagram, finalised Controller in LoggingAccessPoint
Process diagram, Panel in terms of services
Service diagram, PanelControl
Procedure diagram, GetPIN
Introduction to the example

The purpose of access control systems is in general to control the access to some service to people with known identity, represented by cards and personal codes. In this specific example the system shall control access to access zones by controlling the opening of doors.

Each card holds a unique Card-code that identifies the card. To grant access the system will read the Card-code and then check the corresponding access right. For additional authentication, the user will be asked to enter the secret personal number (PIN).

Figure 15: Panel and card of an access control system
Open figure
 


The card is a plastic card with a magnetic strip holding a card code and possibly an encrypted PIN code. The physical appearance of the panel and the card is shown in Figure "Panel and card of an access control system" . Each panel represents an Access Point.

The main service demanded by the user is to gain access when the card and code is presented to the system, and to deny access if an attempt is made to enter at an access point where the user is not authorised to pass.

A typical access control system will consist of a number of access points and a central unit where validation is performed. Some access points are so-called blocking access points, that is access points that may be blocked by an operator, so that access is denied even with a valid card and code, until the access point is enabled again. Other access point may have the property that they log what is going on at the point.

In order to illustrate as many mechanism of SDL as possible, the example system will consist of three sets of access points, each of a different type. In a real access control system one may choose to give all access points the possibility of being blocked and of logging.

System diagram, Access Control System

Figure 16: System diagram for access control system with three types of access points
Open fiure
 


In SDL a system is defined by means of a system diagram. By making a system diagram it has been decided what is part of the system and what is part of the environment of the system.We choose to design the access control system such that the access terminals (called AccessPoints) are within the system, while the users actually getting access are outside the system. The CentralUnit containing the access rights is within the system, while for our current purpose, how the access rights information got into the CentralUnit is not described.

Before drawing this border between the system and the environment and thereby deciding what should be part of the system, a domain analysis will normally have taken place, different solutions will have been considered and different sketches of the system will have been tried out.

In this presentation, the final system description is presented top-down, in order to present the various SDL language elements.

This Access Control system consists of one single block (CentralUnit) and three block sets , that is sets of blocks according to block types, connected by channels . It communicates with the environment that is supposed to behave like processes representing the users of the system, the operators and the controlled physical panels and doors at the access points.

System
A system is in general a set of blocks , block sets and channels. Blocks and block sets are connected with each other or with the environment of the system by means of channels . This means e.g that there may not be processes directly as part of the system and systems will not have global variables.

Environment
For the system the environment consists of a set of SDL processes that may send signals to the system and which may receive signals from the system. The signals for this purpose are defined in the system or, as here, in a package ( Package diagram, SignalLib ) used by the system. The users of the system are thus regarded as processes in the environment.

Block
A block is created as part of the creation of the enclosing block or system. All blocks are created as part of the system creation, that is there is no dynamic creation of blocks.

The CentralUnit block is specified directly (singular block),  while the other blocks of the system are parts of block sets according to block types. The symbol with CentralUnit is also a reference to a block diagram that describes the properties of the block.

Note that the block reference is merely a graphical shorthand for diagrams. Block references may be substituted by block diagrams, but the surrounding diagrams would be very crowded and illegible if diagrams could not be remotely referenced by block references. The reference defines the scope of the name.

block set
Type-defined blocks are contained in block sets. A block set is a fixed number of blocks with properties according to a block type. The set of AccessPoints is called ap and the number (100) designates the cardinality of the set. A channel connected to a block set (via the gates e or C) will actually represent a set of channel instances.

A block set is not a reference (as CentralUnit). It defines a set of block instances, but it relies on the definition of the block type AccessPoint. This block type definition is not part of the system, but part of the Package diagram, AccessPointLib and defined in "Block type diagram, AccessPoint" .

channel
Blocks and block sets are connected with each other and with the environment by means of channels. A channel is a one-way or two-way directed connection. It is characterised by the signals that it may carry. A channel has a signal list for each direction.

If there is no channel between two blocks, then processes in these two blocks cannot communicate by signal exchange. Processes may, however, communicate by means of remote procedure calls without channels connecting the enclosing blocks.

delaying channel
A delaying channel is specified by a channel symbol with the arrows at the middle of the channel.

The delay of signals is non-deterministic, but the order of signals is maintained.

non-delaying channel
A non-delaying channel is specified as folows, that is with the arrows at the endpoints. Associated with each direction of a channel are the types of signals that may be conveyed by the channel. The list enclosed by the signal list symbol can be signals (as e.g. Code) or signal lists (as e.g. validity) enclosed in ().

Channels connected to the frame symbol represent the connections to the environment.

package reference clause
A package reference clause specifies that a system diagram or package diagram use the definitions of other packages. The names following the "/" after the package name denotes the subset of the definitions that are used.  

The system uses the types defined in the packages SignalLib and the denoted types (AccessPoint, BlockingAccessPoint and LoggingAccessPoint) from the AccessPointLib package.

Package diagram, SignalLib

Figure 17: Package diagram SignalLib
Open figure
 



This package defines all the signals being used in the access control system.

Defining a package SignalLib makes all the signal type definitions become globally defined, and they may be used by more than one system (without "copy-paste"). It is of course possible to let additional signals be defined locally in order to restrict the contexts in which they will be used.

package
A package is a collection of types, defined by a package diagram. A package may in general contain definitions of types, data generators, signal lists, remote specifications and synonyms. Definitions within a package are made visible to a system definition or other package definitions by a package-reference-clause (use clause).

The package in Figure 17 only contains definitions of signals.

signal definition
A signal definition defines a set of types of signals. A signal instance is a flow of information between processes, and is an instantiation of a signal type defined by a signal definition. A signal instance can be sent by either the environment or a process.

Signals may carry data values. The types of the values are specified as parameters of the signal definition. The signal Code defined in Figure 17 is defined to carry two integer values.

Signals may be defined in system and block diagrams, and these may then be used for communication between the blocks of the system or the processes of the block. Signals may also be defined in process (type) diagrams, but then they can only be used for communication between processes of the same set. Often signal definitions are collected in packages .

signal list
Often the lists of signals associated with channels and signal routes are quite comprehensive and diagrams become crowded. The notion of signallist helps on this. A signallist is a list of signals which has been given a name. Validity, inp and outp are signallists defined in the package and used in the system diagram.

text symbol
Text symbols are used in order to have textual specifications as part of diagrams, especially for specification of signal types, data types and variables.

There is no limit to the number of text symbols that may occur in a diagram. Text symbols are not connected to other symbols by flow lines.

The text symbol is also used for the graphical representation of a use clause, see Figure 17 .

Package diagram, AccessPointLib

The AccessPointLib package uses the signals defined in the package SignalLib (by the use clause) and defines three block types .

Figure 18: Package diagram AccessPointLib
Open figure
 


block type reference
Block types are referenced by means of block type references.  Block types are defined in block type diagrams, and they are referenced by means of block type references . The block type reference indicates in which block or system scope unit the block type is defined. The three block type references in Package diagram AccessPointLib indicates that the scope of these are the package and not a specific system.

Note that the block type reference (as for block references) is merely a graphical shorthand for diagrams. Block type references may be substituted by block type diagrams.

Block type diagram, AccessPoint

The block type AccessPoint defines the properties of a general type of access point in the system. The other types of access points (blocking and logging access points) are defined a subtypes of this.

Each access point shall handle the interaction with the user via a panel, communicate with the central unit and control the door.

Figure 19: Block type AccessPoint with virtual Controller process type
Open figure
 


This block type diagram defines the block type with name AccessPoint in the AccessPointLib package. Each block instance of this type will consist of three process sets (Panel, Door, apc). The first two are defined in corresponding process diagrams (they are really just process references ), while apc is a set instances of process type Controller. The process type Controller is defined as a virtual process type , with the keyword VIRTUAL, so that specialisations of AccessPoint may replace that definition with their own definition.

The Panel takes of the physical panel, the Door process takes care of controlling the physical door, while the Controller process handles the communication with the CentralUnit in order to validate users of the access point.

Note the identifiers e and C which in the system diagram occurs inside the block set ap. These identifiers designate gates . Gates are used to indicate which channels of the block type are supposed to connect to which channel connecting an instance of the type. The gate names are defined by the type and visible wherever the type name is visible. Note also that the gate symbols have arrows at the ends and that signal lists are associated with the arrows. The signallists are constraints on the gates and will ensure that the instances of the block type are connected properly to their surroundings.

block type
A block type defines the common properties for a category of blocks. All block of the same type will have the same properties, as specified in the block type diagram.

Block types may contain a connectivity graph of block instances connected by channels. This makes up a structure of nested blocks. At the leaves of this structure there are blocks which contain processes. Blocks cannot contain both blocks and processes at the same level.

In addition to containing structures of blocks or structures of processes, block types may contain other type definitions. This makes up the scoping hierarchy of SDL. Names in enclosing type definitions are the only names visible.

Block types may contain data type definitions, but no variable declarations. This follows from the fact that processes in SDL do .fmnot share data other than signal queues. They share a signal queue in the way that one process appends (output) signals to the queue (the input port), while the other process consumes (input) signals from the same queue. Appending and consuming signals are atomic, non-interruptible operations. The input port is the basic synchronisation mechanism of SDL.

Block types may contain process types, service types and procedures as well as block types and data types.

block (type) heading
The heading of block type diagrams defines the name of the block type, possible formal context parameters, whether the block type is virtual or not and if it inherits from another block type. The block type in Figure 19 does not have any context parameters and it is not virtual.

process (reference)
A process reference specifies that there is a process set in the enclosing block and that the properties of this process are defined in a separate (referenced) process diagram outside this diagram.  A process reference is a shorthand for having the referenced process diagram at this place in the surrounding diagram.

process set
A process set defines a set of processes according to a process type .

Just like we have the distinction between block reference, block type and block set according to type, we have the distinction between process reference, process type and process set according to a type. Our recommendation is that process sets should be described with reference to a process type.

While Panel above is a process reference, and thereby a process set without any associated type, apc is a process set according to the process type Controller and therefore not a process reference.

number of instances
In general process sets may have specified the number of instances in the set.

The numbers in parentheses after the process set name specifies the number of instances in the process set. As defined in above, there are initially no processes, and there is no limit on the number of instances that may be created.

signal route
A signal route represents a communication path between process sets and between process sets and the environment of the enclosing block/block type.

process type
A process type defines the common properties of a category of process instances. A process type is defined by a process type diagram .

virtual process type
A virtual process type is a process type that can be redefined in a subtype of the enclosing block type.  

The virtuality is specified in the process type heading or by < virtuality > in the corresponding process type reference symbol, as is done here for the process type Controller.

A redefinition of the process type must be a subtype of the type identified in the virtuality constraint. As specified here the process type reference symbol has no explicit virtuality constraint , which means that any redefinition will extend the given definition of Controller (the Controller is its own constraint).

gate
A gate is a potential connection point for channels/signal routes when connecting sets of blocks/processes/services. The same symbol is used in all cases.  

Gates are defined in block/process/service types and used when connecting sets or instances of these with channels/signal routes.

The signal list associated with the endpoints represents constraints (on incoming/outgoing signals) the gate.

Block type diagram, BlockingAccessPoint

Figure 20: Block type BlockingAccessPoint as a subtype of AccessPoint
Open figure
 


This block type defines a block type with name BlockingAccessPoint as a subtype of block type AccessPoint. It represents access points that may be blocked by some operator.

BlockingAccessPoints are quite similar to the plain AccessPoints.The only difference is that the BlockingAccessPoints shall be able to react to signals from the CentralUnit that plain AccessPoints will not recognise. BlockingAccessPoint will have a Door (which should not have a new definition), a Panel (which could have a new definition, but need not have a new definition) and a control process Controller which should be able to do the extended controlling.

A BlockingAccessPoint is a specialised AccessPoint where Controller is extended. This is expressed by the INHERITS clause of the block type heading.

The block type diagram specifies that BlockingAccessPoint inherits everything from AccessPoint, but it adds a redefinition of Controller and it adds two signal types on the inherited gate C: Enable and Disable. The fact the the gate is inherited is indicated by it being dashed.

In general, entities defined in supertype, inherited in subtypes and for which some additional properties have to be specified in the subtype, are called existing entities , and in the graphical syntax they are dashed entities .

redefined process type
A redefined process type is a redefinition of the corresponding virtual process type in the super block type, and it is virtual, so that it can be redefined in further subtypes of this block type .  

A redefinition of the process type must be a subtype of the type identified in the virtuality constraint. In this case the constraint is not explicitly specified; this implies that the definition of the virtual process type is its own constraint: the redefinition thereby defines an extension (a subtype) of the virtual process type.

dashed entity
A dashed entity is the graphical way of representing an entity that is inherited from a supertype and which needs to be used in the definition of the subtype. There are dashed block sets, process sets, services and gates.

The Z.100 terminology is existing entity .

An existing block set/block may be connected by channel, and these will then be there in addition to those specified in the super type.

An existing process set/service may be connected by signal routes, and these will then be there in addition to those specified in the super type.

An existing gate can have constraints in terms of signals on the endpoints of the gate specified, and these are then added to the inherited gate and will then apply in addition to those of the inherited gate.

In the textual version of a specification, inherited entities are simply identified by name.

Block type diagram, LoggingAccessPoint

Figure 21: Logging AccessPoint as a subtype of AccessPoint
Open figure
 


This block type defines a block type with name LoggingAccessPoint as a subtype of block type AccessPoint, adding the process LogDevice.

With LoggingAccessPoint it is not sufficient to only modify the Controller, since there is an addition to the block, namely the LogDevice. The LogDevice must be connected to the Controller along a signalroute (which is added compared with the supertype AccessPoint). lsc has been defined in the AccessPoint definition and is dashed here.

We notice the keyword FINALIZED in the process type reference. This has a slightly different meaning than REDEFINED.

finalised process type
A finalised process type is a redefinition of the corresponding virtual process type in the super block type, and it is not virtual, so that it can not be redefined in further subtypes of this block type.  

A final redefinition of the process type must be a subtype of the type identified in the virtuality constraint .

A redefined type can be redefined again in yet another specialisation. A finalised type cannot be redefined. There is a subtle point to making this distinction. Virtual and redefined types are very flexible, but analysis becomes more uncertain since some components may not be entirely known. Finalised types are not flexible any more, they are completely known and, therefore, analysis can be certain.

The new signalroute LD indicates that it is not be possible to derive the finalised Controller by only adding a number of new transitions to the basic Controller. In order to get new transitions, we need either new input signals or new states. The Controller of LoggingAccessPoint has neither new signals, which can be seen from the channels to the lap set of logging access points, nor new states. In fact the LogDevice should be invoked for most transitions since the requirement was to trace the transactions. Then our need is to modify (redefine) some of the existing transitions.

Process type diagram, Controller

Figure 22: Virtual process type Controller
Open figure
 




This process type heading defines the process type Controller as a virtual process type. This means that the process type can be redefined in a subtype of the enclosing block type.

Plain AccessPoints have their own (default) definitions of Controller.

A Controller process will start executing the start transition. In this case the start transition is empty and simply leads to the Idle state. The process will remain in the Idle state until it receives an input signal. It expects to receive a Code signal containing information about the card id and personal identity number from the Panel. It may, however, be prepared to receive other signals as well. The Idle state is followed by one input symbol which describes the consumption of the signal Code. If the process is in the Idle state and signals other than Code are received, they will be discarded.

We have defined three process gates P, D and U with associated process gate constraints. We note that the enclosing AccessPoint definition uses these gates in connection with the instance lsc of Controller.

Within the process type diagrams, the gates appear as identifiers in the VIA-clause of the output symbols.

When we want to analyse the type enclosing the virtual type (here, block type AccessPoint) we wish to know something about the instances of the virtual types even though we know they may be redefined in subtypes. At least we must know the static interface, i.e. the gates. Very often we would like to know more about the type and, therefore, the header of a virtual type may include a virtuality constraint . The virtuality constraint is of the form "atleast type-identifier". All "matches" (redefinitions and finalisations) of the virtual must be specialisations of the type referred to by the type-identifier of the constraint.

process type diagram
A process type diagram defines the properties of a process type. A process type defines the common properties of a category of process instances. A process type is defined by a process type diagram .

process type heading
The heading of process type diagrams defines the name of the process type, its virtuality (and constraint), its formal context parameters and if it inherits from another process type. The heading in Figure 22 defines a virtual process types without any context parameters and without any parameters.

variables in processes
Variables can be defined in processes, services and procedures. They are defined in text symbols.

SDL supports predefined types including Character, Boolean, Integer, Natural, Real and PId (Process Instance Identifier). The variables cid and PIN in Figure 22 are defined to be of type Integer, while the variable cur_panel is of type PId, which means that it denotes a process instance.

For a short introduction to the definition of user-defined types see "Specifying properties of variables: data types" .

Variables of process are created as part of the creation of the process instance.

Variables will get default initial values if nothing else is specified.

The following elements of SDL are used in the definition of Controller behaviour.

procedure reference
A procedure reference specifies that there is a procedure in the enclosing entity and that the properties of this procedure are defined in a separate (referenced) procedure diagram outside this diagram.  

In the example here, unlockDoor is a procedure defined locally to Controller, and it is referenced by the symbol containing "unlockDoor" - that is there is a procedure diagram defining the properties of unlockDoor.

start
There is only one start symbol for a process. The transition from the start takes place when the process is generated. A process may be generated either at system start-up or as a result of a create request from another process.

The start transition in the Controller process is empty, that is there are no actions, so the process just enters the Idle state upon start.

transition
A transition performs a sequence of actions. During a transition, the data of a process may be manipulated and signals may be output.

Actions may be  

task ,
output ,
set ,
reset ,
export
create request ,
procedure call , or
remote procedure call .
The transition will end with the process entering a

next state,

with a stop,

with a return or

with the transfer of control to another transition.

The controller process has three transitions : one starting in the state Idle and two in the state Validation. They are all input transitions, that is they are triggered by the consumption of a signal from the input queue of the process.

state
A state represents a particular condition in which a process may consume a signal resulting in a transition. If the state has neither spontaneous transitions nor continuous signals, and there are no signal instances in the input port, otherwise than those mentioned in a save, then the process waits in the state until a signal instance is received.

input
An input allows the consumption of the specified input signal instance (here of type Code).The variables associated with the input (here cid and PIN) are assigned the values conveyed by the consumed signal.

The values will be assigned to the variables from left to right. If there is no variable associated with the input for a sort specified in the signal, the value of this sort is discarded. If there is no value associated with a sort specified in the signal, the corresponding variable becomes "undefined".

The sender expression of the consuming process is given the PId value of the originating process, carried by the signal instance.

virtual (input) transition
A virtual input transition specifies that subtypes of type with this transition may redefine it, that is it must input the signal in the state, but the following transition may be redefined

A virtual input transition is a special case of a general notion of virtual transition:

virtual priority input,
virtual start,
virtual spontaneous transition.
In addition a save may be specified as a virtual save.

Redefinition of virtual transitions/saves corresponds closely to redefinition of virtual types:

A virtual start transition can be redefined to a new start transition.
A virtual priority input or input transition can be redefined to a new priority input or input transition or to a save.
A virtual save can be redefined to a priority input, an input transition or a save.
A virtual spontaneous transition can be redefined to a new spontaneous transition.
task
A task may contain a sequence of assignment statements or behaviour specified in informal text.  

The example here is an assignment of (the predefined) SENDER, that is the sender of the signal triggering the transition of which this task is a part, to a PId variable cur_panel.

timer
In addition to assignments, task may specify the setting and resetting of timers . Timers are just like alarm clocks. The process waiting for a timer is passively waiting since the process needs not sample them. Timers will issue time-out signals when their time is reached.

A timer is declared similarly to a variable.

 
set timer
Timers are set and reset in tasks. When a timer has not been set, it is inactive. When it is set, it becomes active.  

A timer is set with a time value. time is a special data type and is mainly used in connection with timers. The expression "now+10" is a time value and it adds the time expression now and the duration 10 (here:seconds). now is an operator of the time data type and it returns the current real time. Duration is another special data type and it is also mainly used in connection with timers. You may add or subtract duration to time and get time. You may divide or multiply duration by a real and get duration. You may subtract a time value from another time value and get duration.

The timer signal can be input in the same way as ordinary signals:

 
The semantics of timers is this: a time value is set in a timer and it becomes active. When the time is reached, a signal with the same name as the timer itself will be sent to the process itself. Then the timer becomes inactive.

A timer may be reset and it then becomes inactive and no signal will be issued. (If an inactive timer is reset, then it remains inactive.) A reset will also remove a timer signal instance already in the input port. This happens when the timer has expired, but the time-out signal has not been consumed.

If an active Timer is set, the time value associated with the timer receives a new value. The timer is still active. If a timer is set to a time which is already passed, the timer will immediately issue the time-out signal.

Timer signals may contain data as other signals may contain data. Different parameter values in set means generation of several timer instances. reset must match these parameter values to eliminate the correct timer instance.

For more details, see timers .

output
An output generates a signal of the specified signal type (here Code), containing the specified actual parameters (here cid and PIN), and send this signal instance to the specified destination.

The destination of a signal can be specified in various ways. The output symbol may in addition to the signal name (and actual parameters) contain a to-clause and/or a via-clause.

When the to- and via-clauses are omitted, there should be a unique destination for the signal based on the signal identifier. If there is a set of possible destinations, one of the destinations will be chosen non-deterministically. In our case the path and destination follow implicitly from the signalroutes and channels in the block diagrams.

When the to-clause is explicit, it specifies a process uniquely either by its (visible) name or by a "pointer" value. This "pointer" value in SDL is known as "PId" (Process Identifier). When a process is identified by its name in the to-clause, this means that it has to be within the same block since process names outside the block cannot be visible.

In order to specify the path the signal should follow, it is possible to append to the output statement a via-clause which lists the path of signalroutes and channels which the signal will be sent through. The VIA-clause may also specify a gate. Furthermore, the via-clause may be extended to "via all" and then if there is more than one channel instance in the path a signal instance will be generated for each channel instance. This happens for example when we have block sets. This is how we can describe a multicast message.

 


procedure call
A procedure call transfers the interpretation to the procedure definition referenced in the call, and that procedure graph is interpreted.

The interpretation of the transition containing the procedure call continues when the interpretation of the called procedure is finished.

Note that a procedure call symbol has one and only one entrance and one and only one exit. As specified here, the procedure has no parameters.

Process type diagram, redefined Controller in BlockingAccessPoint

Figure 23: Redefined process type with added states and transitions
Open figure
 


This process type defines the process type Controller (in block type BlockingAccessPoint) as a redefinition of the corresponding virtual process type in block type AccessPoint.

It is also specified that it inherits the same process type. This is, however, not necessary, as by default a redefinition of a virtual type without an explicit constraint will inherit the properties of the virtual type.

Inheritance of a process type implies inheritance of all states and transitions of the supertype. The asterisk state implies all states, also the inherited. The state Idle indicated as nextstate is the state Idle defined in the supertype.

For more details on this mechanisms, see virtual types and specialisation .

save
A save specifies that the signals in the save symbol are retained in the input port in the order of their arrival.

As specified in Figure 23 (an asterisk save) all signals except Enable are saved. For a given state there may be only one asterisk save,

The effect of the save is valid only for the state to which the save is attached. In the following state, signal instances that have been "saved" are treated as normal signal instances.

asterisk state
An asterisk state is a shorthand for all states except those listed in an accompanying asterisk state list.  

The state names in an asterisk state list must be distinct and must be contained in other state list in the enclosing body or in the body of a supertype. As specified here, the asterisk state implies a state (with the corresponding transition) for each of the states except s1 and s2.

Process type diagram, finalised Controller in LoggingAccessPoint

Figure 24: Finalised process type
Open figure
 


This process type defines the process type Controller (in block type LoggingAccessPoint) as a finalised redefinition of the corresponding virtual process type in block type AccessPoint. This means that it is not virtual, so it can not be redefined in subtypes of the enclosing block type.

It is also specified that it inherits the same process type. This is, however, not necessary, as by default a redefinition of a virtual type without an explicit constraint will inherit the properties of the virtual type.

All transitions are inherited from the supertype, except the transitions starting with the state Validation and the signals OK and NOK. The are redefined in this process type.

For more details on this mechanisms, see virtual types and specialisation .

Process diagram, Panel in terms of services

Figure 25: Process in terms of services
Open figure
 



process diagram
A process diagram defines the properties of a process set , where each of the process instances in the set have the specified properties.

The behaviour of processes may be defined either by means of a procedure graph (states and transitions) or by means of a substructure of services connected by signal routes. The behaviour of each of the services is defined by means of states and transitions. The process defined in Figure 25 is defined by means of services .

process heading
The heading of process diagrams (defining a process set directly without any process type) defines the name of the process set and the initial/maximum number of instances in the set.

formal parameters
If the process shall have formal parameters they are also specified as part of the process heading. Formal parameters are (local) variables of the process instances. They get values as part of the creation of the process instance.

When a system is created, the initial processes are created in arbitrary order. The formal parameters of these initial processes have no associated values; i.e. they are undefined.

If the initial number is omitted (as in Figure 25 ), then the (default) value is 1. If the maximum number is omitted, then there is no limit on the number of instances.

service composition
As defined in Figure 25 the processes of this process set are defined by means of a composition of services . Service instances are components of the process instance, and cannot be addressed as separate objects. They share the input port and the expressions self, parent, offspring and sender of the process instance.

A service instance is a state machine, and it is described as in Figure 26 .

Service diagram, PanelControl

Figure 26: Service diagram, PanelControl
Open figure
 


When the process instance is created, the service starts are executed in arbitrary order. No state of any service is interpreted, before all service starts have been completed. A service start is considered completed when the service instance for the first time enters a state (possibly inside a called procedure) or interprets a stop.

Only one service at a time is executing a transition. When the executing service reaches a state, the next signal in the input port (which is not saved by the service, otherwise capable of consuming it) is given to the service that is capable of consuming it.

When a service ceases to exist, the input signals for that service are discarded. When all services have ceased to exist, the process instance ceases to exist.

variables in services
Variables can be defined in processes, services and procedures. They are defined in text symbols.

Variables of services are created when the service is created as part of the creation of the containing process instance.

Variables will get default initial values if nothing else is specified.

procedure call with parameters
A procedure may have formal parameters, and in the call the actual parameters are provided.

The pin parameter is in/out which means that the actual parameter corresponding to formal pin will be updated whenever the formal pin is updated within GetPIN. This is just like var parameters in Pascal or reference parameters in C++. The no_dig parameter is an in parameter which means that the procedure will have a local variable with the name of the parameter. This variable will assume the value of its corresponding actual argument at entry. Changes in the value of in parameters will not be transmitted to the actual argument. This is just like traditional value parameters.

Procedure diagram, GetPIN

Figure 27: Procedure diagram, GetPIN
Open figure
 

The PanelControl service referenced in Figure "Service diagram, PanelControl" is defined by the service diagram in Figure "Procedure diagram, GetPIN" .

procedure
Procedures define patterns of behaviour that processes/services may execute at several places or several times during their life-time. The behaviour of a procedure is defined in the same way as for processes (that is by means of states and transitions), a procedure may have (local) variables, and in addition it may have in, out, in/out parameters.

State names are not visible outside the procedure. The process states are not visible within the procedure.

The procedure in Figure 27 accepts a number of Digits as input signals in the state WaitDigit. The local variable i is increased by one for each digit, and when i equals the required number of digits, the procedure returns.

local variable
A procedure variable is a local variable within the procedure instance. It is created when the procedure start is interpreted, and it ceases to exist when the return of the procedure graph is interpreted. Variables will get default initial values if nothing else is specified.

procedure start
The start transition of a procedure is slightly different from the the start of process/service.

return
 Procedure calls may be actions or part of expressions (value returning procedures only). A value returning procedure is a procedure where an expression is associated with the return, and the value of this expression is returned.

The interpretation of a procedure call causes the creation of a procedure instance and the interpretation to commence in the following way:

formal parameter
1. A local variable is created for each in parameter, having the name and sort of the in parameter. The variable gets the value of the expression given by the corresponding actual parameter if present. Otherwise the variable gets no value, i.e. it becomes "undefined".

2. A formal parameter with no explicit attribute has an implicit in attribute.

3. A local variable is created for each variable definition in the procedure-definition.

4. Each in/out parameter denotes a variable which is given in the actual parameter expression. The contained Variable-name is used throughout the interpretation of the procedure graph when referring to the value of the variable or when assigning a new value to the variable.

5. The transition contained in the < procedure start area > is interpreted.

The nodes of the procedure graph are interpreted in the same manner as the equivalent nodes of a process or service graph, i.e. the procedure has the same complete valid input signal set as the enclosing process, and the same input port as the instance of the enclosing process that has called it, either directly or indirectly.

remote procedures
A procedure may be exported by a (server) process, so that other (clients) processes (clients) can request these procedures executed by the server.

The remote procedure mechanism consists of four interdependent language constructs:

1. The exporting of a procedure . A procedure which is made visible by other processes is marked with the keyword exported preceding the procedure heading, e.g. "exported procedure Validate ..." from a process within the CentralUnit. The exporting process can control in which states it will accept the remote request. It may also specify to save the request to other states. The controlling of the acceptance is done by using input and save symbols with the remote procedure name preceded by the keyword procedure.

2. The importing of a procedure . When a process, service or procedure wants to import a remote procedure, it must specify the signature of this procedure in an "imported procedure specification" in a text area. The specification in our case would read: "imported procedure Validate; returns integer;" where the integer returned would give the result of the validation.

3. The specification of remote procedure . In SDL all names must be defined in a specific scope. Thus, the names of remote procedures must be defined in the context in which the actual definition of the procedure and the calls will be contained. In our case the definition of the procedure Validate is within the CentralUnit and the call is in Controller of the AccessPoint. The scope unit enclosing all these is the system itself. There we will find a text area with the following text: "remote procedure Validate; returns integer;".

4. The calling of a remote procedure . The calling of the remote procedure is indistinguishable from local procedure calls unless the caller explicitly states which process it will request the procedure executed by. This can be done by a to-clause with a PId following the procedure name of the call.

Remote procedures may be value returning (as in our example above), and they may be virtual.

Block diagram, CentralUnit

Figure 28: Block diagram defining the CentralUnit
Open figure
 


create
A process may create processes in other process sets in the same block, possibly providing actual parameters to the new instance.

The create line (dashed line with arrowhead) indicates possible creations.

Create lines are optional.

create action
As specified in Figure 28 the process CUControl creates Validation processes. In the process graph of CUControl, the creation will be specified by a create action.

 

Text Processing For Speech Synthesis

Using Parallel Distributed Models

IEEE

Michael S. Scordilis

John N. Gowdy

Electrical & Computer Engineering

Clemson University

Clemson, South Carolina

Abstract

Mapping letters to phonemes is a fundamental

problem in automatic speech conversion and arises

from the fact that no complete set of rules exists to

account for all the different pronunciations of letter

groups in English. Although a number of algorithms

containing thousands of rules are being used in textto-

speech synthesis, parallel distributed models have

shown the potential of processing speech much more

efficiently. Here, as part of a new approach to the

synthesis problem, such a model is presented. This

model includes a procedure which marks those

incoming letters which are soundless, but which

modify the pronunciation of their neighbors.

Introduction

As part of the ongoing activities aimed at

improving man-machine interfaces, unrestricted

speech conversion has been the subject of long

research efforts. Speech synthesis is used by choice

when visual information is not desired or by necessity

in the case of visually impaired system users.

Although several commercially available speech

synthesis systems are, for the most part, successful

in producing intelligible speech, the goal of

synthesizing pleasant and natural sounding voices is

still elusive. Renewed interest in the design of

improved methods has been generated with the

introduction of the CD-ROM technology [l]. Such

devices are capable of storing databases in excess of

500 Mbytes.

The difficulty of the speech synthesis problem

arises mainly from the nature of human speech

itself. Speech is characteristically a cognitive activity,

and requires an understanding of the text segment to

be spoken in order for the ideal, "natural" utterance

to be produced. Language understanding requires

the development and use of an artificially "intelligent"

machine, a difficult problem in itself. In

addition to this universal property of speech production,

synthesizing in English is further complicated

by the anarchic nature of the English language,

in which letter to sound correspondence cannot be

adequately described by a simple set of rules. Word

pronunciation is heavily dependent on context and is

also a function of many variables a- mong which are

geographical and historical factors.

Text Processin9

Text-to-speech conversion begins with high level

processing of the incoming text before the synthesis

process is evoked. An integral part of this phase is

the conversion of the symbols and abbreviations

present in the text segment into standard orthographic

form with the use of a set of rules and a

dictionary. For example, "1989" is converted into

"nineteen eighty nine" and "Mr." into "Mister" before

any phonological or linguistic analysis is attempted.

Once all such strings have been converted, phonetic

transcription is performed on the normalized text [2].

The block diagram in figure 1 shows the typical parts

of the high level processing stage in a speech

synthesis system.

Phonetic transcription is the process which

accepts orthographic text and produces the appropriate

phonemic sequences. In other words, this is

the mapping of letters into phonemes, the basic

sounds of a language. Several quite successful algorithms

have been used for transcribing text into

phonemic strings. These algorithms contain hundreds

of rules and extensive tables of exceptions and

have proven quite successful [2,3,4,51. However, all

these rule-based systems recognize the fact that no

complete set of rules able to cover all cases of the

language can be devised. Therefore, they make the

provision of including a user updated lexicon. The

user is able to update the standard system with any

new words or pronunciations not originally included.

In the case of new unrestricted text, however, such a

solution can work only if someone has already read

the text segment and "tuned" the user lexicon

accordingly. The limitations of such a method are

quite obvious and are a major factor in the less than

enthusiastic acceptance of speech synthesizers in the

computer market.

e Proceedings - 1989 Southeastcon

765 CH2674-

 

Hospital da Trofa is a small privately run hospital near Porto in Northern Portugal. It was one of the partners in a European Commission funded project
 


SEG 3150 Winter 2005:   Telecommunications Software Engineering

News
<!--[if !supportLists]-->·         <!--[endif]-->Chapters in Stallings that are relevant for the exam (as shown in the Friday, April 8 lecture)

<!--[if !supportLists]-->·         <!--[endif]-->The final 2005 version of the lecture notes is available, including up to Tuesday April 5.

<!--[if !supportLists]-->·         <!--[endif]-->The TA has resigned her position to take a full-time job, so there will be a delay in the grading of assignment 2.

<!--[if !supportLists]-->·         <!--[endif]-->Final exam:  Monday April 18, 09:30 – 12:30, MRT 212

 
Note that the SEG 3550 section will also have their exam in the same room.
<!--[if !supportLists]-->·         <!--[endif]-->Assignment 3 deadline:  Thursday April 7, 23h55.

Links within page
Course Description
Schedule
Lecturer
Teaching Assistants
Text
Course plan
Course materials
Labs
Assignments
Evaluation
Course Description
The official description:

Principles of information transfer
Error control, flow control, congestion control, routing algorithms.
Principles of telecommunications system software design and analysis.
 

The material will cover the following chapters from Stallings, although we will not be proceeding step-by-step through the text.   There will be additional material covering the software engineering topics.

 

Review:  Overview of networks, layered architecture, standards [Chapters 1, 2]
Data transmission:  bandwidth, propagation delay, channel capacity, impairments [Chapter 3]
Error control [Chapter 6/7]
Framing [Chapter 7]
Flow control [Chapter 7]
Local Area Networks [Chapters 15/16/17]
Internet protocols [Chapter 18]
Congestion control, traffic management [Chapter 13]
Routing [Chapter 12/19]
Schedule
Lectures:
<!--[if !supportLists]-->·         <!--[endif]-->Tuesday, 08:30 – 10:00, VNR 462

<!--[if !supportLists]-->·         <!--[endif]-->Friday, 10:00 – 11:30, STE B0138

 

UML has broad tool support

– I-Logix

– Rational

– Paradigm

• UML supports real-time systems

 

www.cs.york.ac.uk/rts/RTSBookThirdEdition.html

 

SEG4140
Introduction to  Real-Time
and Embedded Systems.
 
Goal 1: The implementation of signal

processing systems in CMOS technology

» A design methodology starting from a high

level description through to an

implementation optimized for hardware

constraints.

l Goal 2: To understand the issues involved

in the design of wireless systems

» Wireless systems will be used as a design

driver to understand how to make tradeoffs

in signal processing implementation











Posted by fdlkjasfjadslkjf at 3:41 PM EST
Post Comment | Permalink | Share This Post

http://books.google.com/books?q=Network+scanning

http://books.google.com/books?q=packet+encryption&lr=&sa=N&start=10

http://books.google.com/books?lr=&q=SSH+SSL+

 http://books.google.com/books?lr=&q=encrypted+proxy

http://books.google.com/books?lr=&q=intrusion+detection+prevention&btnG=Search+Books

 

 


Posted by fdlkjasfjadslkjf at 1:00 PM EST
Post Comment | Permalink | Share This Post

http://www.ciscopress.com/content/images/1587052083/appendix/toolsappendixb.pdf

http://books.google.com/books?q=CISCO&btnG=Search+Books

http://books.google.com/books?q=Novel+Netware


Posted by fdlkjasfjadslkjf at 12:54 PM EST
Post Comment | Permalink | Share This Post

http://www.eetimes.com/

http://www.embedded.com/

http://www.interactiv.com/

http://books.google.com/books?q=Linux

 http://books.google.com/books?q=Linux+Security

 http://books.google.com/books?q=Linux+Kernel

http://books.google.com/books?q=Windows

http://books.google.com/books?q=Windows+Security

http://books.google.com/books?q=Windows+Registry

http://books.google.com/books?q=Virus+

 http://books.google.com/books?q=Trojans+Worms

http://books.google.com/books?q=SQL+injections

http://books.google.com/books?q=spyware+malware

http://books.google.com/books?q=XML+hacking

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Posted by fdlkjasfjadslkjf at 12:14 PM EST
Post Comment | Permalink | Share This Post

http://www.alcatel-lucent.com/wps/portal/!ut/p/kcxml/04_Sj9SPykssy0xPLMnMz0vM0Y_QjzKLd4x387DUL8h2VAQANUDp5g!!

 http://tldp.org/

 http://www.nvcc.edu/home/nvmajew/new/Phy232/lectures.html

Electronics: Bjts, Fets, and Microcircuits
Ernest James Angelo

Principles of Electronic Circuits
by Stan Burns, Paul Bond (complementary to Sedra)

Electronic Principles
by Albert P. Malvino

www.ncu.edu.tw/~ncume_ee/harvard-es154

http://mit.edu/6.012/

http://cobweb.ecn.purdue.edu/~bashir/ee455_f01/lecture_notes/

http://www.phys.ualberta.ca/~gingrich/phys395/notes/phys395.html

 

 

 

 

 

 

 

 


Posted by fdlkjasfjadslkjf at 11:17 AM EST
Post Comment | Permalink | Share This Post

http://www.datasheetsite.com/datasheet/MT48LC64M4A2

http://inst.eecs.berkeley.edu/~cs150/fa08/

http://inst.eecs.berkeley.edu/~cs150/fa04/OldSites.htm

 http://www.mwnl.snu.ac.kr/~schoi/Courses/201/

http://www.cs.utah.edu/classes/cs6710/

http://www.async.ece.utah.edu/~myers/nobackup/ee3700_99/

http://ecow.engr.wisc.edu/cgi-bin/get/ece/555/1lal/notes/

http://www.stanford.edu/class/ee108/

http://www.doulos.com/content/products/golden_reference_guides.php

http://tisu.it.jyu.fi/embedded/

 http://web.mit.edu/6.111/www/

 http://www.tik.ee.ethz.ch/tik/education/lectures/DES/

 http://books.google.com/books?q=Managerial+Economics

http://www.quantumbooks.com/c/06ELEE

 http://www.plasma.uu.se/CED/Book/

 http://inst.eecs.berkeley.edu/~ee40/sp04/lecture.html

http://inst.eecs.berkeley.edu/~ee100/fa08/lectures/lectures.html

http://courseware.ee.calpoly.edu/~jzhang/EE112/

http://www.cetus-links.org/

 http://www.omg.org/gettingstarted/specintro.htm#DomainFacilities

 http://www.iso.org/iso/iso_catalogue/catalogue_ics.htm

http://www.artist-embedded.org/artist/

http://www.eecs.berkeley.edu/Research/

http://www-ee.stanford.edu/research.php

http://cs.stanford.edu/research/

http://chess.eecs.berkeley.edu/

http://www.rle.mit.edu/media/media_videorle.html

http://www.mit.edu/research/category/ee.html#links

http://www.mit.edu/research/category/cs.html#links

http://www.rle.mit.edu/rleonline/research/research_groups.html

http://www.cs.nott.ac.uk/~tpp/G5AIVI/lectures.html

http://www.csi.uottawa.ca/~ppayeur/ELG2130/IMAGES/pdc.pdf

 

 

 

 

2. Phasor Circuit Analysis

 

Phasor circuit analysis is a method of finding sinusoidal steady-state responses directly from the circuit without using differential equations. How do we perform phasor circuit analysis? At several points in our study we have seen that circuit analysis is based on two kinds of constraints: (1) connection constraints (Kirchhoff's laws), (2) device constraints (element equations). To analyze phasor circuits, we must see how these constraints are expressed in phasor form.

 

Connection Constraints in Phasor Form

In the steady state all of the voltages and currents are sinusoids with the same frequency as the driving force. Under these conditions, the application of KVL around a loop could take the form.

Therefore, if the sum of the waveforms is zero, then the corresponding phasors must also sum to zero.

Clearly the same result applies to phasor currents and KCL. In other words, we can state Kirchhoff's laws in phasor form as follows:

KVL: The algebraic sum of phasor voltages around a loop is zero.

KCL: The algebraic sum of phasor currents at a node is zero.

Device Constraints in Phasor Form

Eq.(8-12)

In the sinusoidal steady state, all of these currents and voltages are sinusoids. Given that the signals are sinusoid, how do these i-v relationships constrain the corresponding phasors?

This relationship holds only if the phasor voltage and current for a resistor are related as

Eq.(8-13)

Since L is a real constant, moving it inside the real part operation does not change things. Written this way, we see that the phasor voltage and current for an inductor are related as

Eq.(8-14)

 

Fig. 8-3: Phasor iv characteristics of the inductor

The resulting phasor diagram in Fig. 8-3 shows that the inductor voltage current are 90 out of phase. The voltage phasor is advanced by 90counterclockwise, which is in the direction of rotation of the complex exponential . When the voltage phasor is advanced counterclockwise(that is, ahead of the rotating current phasor), we say that the voltage phasor leads the current phasor by 90or, equivalently, the current lags the voltage by 90.

The phasor voltage and current for a capacitor are related as

Solving for VC yields

Eq.(8-15)

 

Fig. 8-4: Phasor iv characteristics of the capacitor.

 

The resulting phasor diagram in Fig. 8-7 shows that voltage and current are 90out of phase. In this case, the voltage phasor is retarded by 90clockwise, which is in a direction opposite to rotation of the complex exponential . When the voltage is retarded clockwise (that is, behind the rotating current phasor), we say that the voltage phasor lags the current phasor by 90or, equivalently, the current leads the voltage by 90.

The Impedance Concept

The IV constraints Eqs.(8-13), (8-14, and (8-15) are all of the form

V=ZI Eq.(8-16)

where Z is called the impedance of the element. Equation (8-16) is analogous to Ohm's law in resistive circuits. Impedance is the proportionality constant relating phasor voltage and phasor current in linear, two-terminal elements. The impedances of the three passive elements are

Eq.(8-17)

Since impedance relates phasor voltage to phasor current, it is a complex quantity whose units are ohms. Although impedance can be a complex number, it is not a phasor. Phasors represent sinusoidal signals, while impedances characterize circuit elements in the sinusoidal steady state. Finally, it is important to remember that the generalized two-terminal device constraint in Eq.(8-16) assumes that the passive sign convention is used to assign the reference marks to the voltage and current.


EXAMPLE 8-5

Fig. 8-5

 

The circuit in Fig. 8-5 is operating in the sinusoidal steady state with and . Find the impedance of the elements in the rectangular box.

SOLUTION:

The purpose of this example is to show that we can apply basic circuit analysis tools to phasors. The phasors representing the given signals are and . Using Ohm's law in phasor form, we find that . Applying KVL around loop A yields . Solving form the unknown voltage yields

V

This voltage appears across the load resistor R1; hence . Applying KCL at node A yields . Given the phasor voltage across and current through the unknown element, we find the impedance to be

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Posted by fdlkjasfjadslkjf at 10:05 AM EST
Post Comment | Permalink | Share This Post

http://www.stanford.edu/class/ee368/handouts.html

 http://www.datasheetcatalog.org/datasheet/motorola/9S12T64AF16V1.pdf

 http://www.freescale.com/files/microcontrollers/doc/user_guide/9S12DJ64-ZIP_PART3.zip?WT_TYPE=Users%20Guides&WT_VENDOR=FREESCALE&WT_FILE_FORMAT=zip&WT_ASSET=Documentation

 http://hcs12text.com/freesim.html

http://www.seattlerobotics.org/encoder/nov97/68hc12.html
http://www.seattlerobotics.org/encoder/dec97/68hc12.html
http://www.seattlerobotics.org/encoder/apr98/68hc12pwm.html
http://www.seattlerobotics.org/encoder/sep98/interrupts.html

http://www.datasheetarchive.com/EWM-900-FDTC-HS-datasheet.html

 http://www.google.ca/search?hl=en&q=Landmark-Based+Robot+Self-Localization&meta=

http://www.google.ca/search?hl=en&q=Trajectory+Generation+and+Motion+Tracking+Control+for+the+Robot+Soccer+Game&meta=

 http://www.google.ca/search?hl=en&q=A+Novel+Interactive+Robot+Soccer+System&meta=

http://www.google.ca/search?hl=en&q=Strategy+for+Collaboration+in+Robot+Soccer&meta=

http://www.google.ca/search?hl=en&q=Motion+Controller+Realizing+Cyclic+Ball+Passing+Strategy+among&meta=

 http://www.google.ca/search?hl=en&q=Modelling+and+Control+of+a+Soccer+Robot&meta=

 http://www.google.ca/search?hl=en&q=A+Design+Method+for+Incorporating+Multidisciplinary+Requirements+for&meta=

http://www.google.ca/search?hl=en&q=Role+Construction+and+Recognition&meta=

http://www.google.ca/search?hl=en&q=Cooperative+Strategy+Based+on+Adaptive+-Learning+for&meta=

http://www.google.ca/search?hl=en&q=A+Real+Time+Method+to+Object+Detection&btnG=Search&meta=

 http://www.google.ca/search?hl=en&q=System+design+and+strategy+integration+for+five+on+five+robot+soccer+competition&btnG=Search&meta=

http://www.google.ca/search?hl=en&q=Path+Planning+and+Role+Selection+Mechanism+for+Soccer+Robots&meta=

http://www.site.uottawa.ca/~petriu/teaching.html

http://www.google.ca/search?hl=en&q=Path+Planning+and+Role+Selection+Mechanism+for+Soccer+Robots&meta=

 http://www.google.ca/search?hl=en&q=Real-Time%2C+Adaptive+Color-based+Robot+Vision1&meta=

http://www.im.ncnu.edu.tw/ycchen/

 http://users.encs.concordia.ca/~assi/courses/inse7120.htm

http://www.postech.ac.kr/~jwkhong/teaching-postech.html

http://bwrc.eecs.berkeley.edu/classes/ee140/lectures.htm

http://www.tik.ee.ethz.ch/tik/education/lectures/hswcd/

http://inst.eecs.berkeley.edu/~cs152/sp08/

http://www.dcs.ed.ac.uk/teaching/cs3/comparch/Notes/

 http://www.eecs.harvard.edu/~dbrooks/cs246/

http://www.stanford.edu/class/ee282/

http://www.stanford.edu/~mbax/ee392c/

http://www.stanford.edu/class/ee392c/notes.html

http://www.cs.berkeley.edu/~lazzaro/class/index.html

http://www.irf.tu-dortmund.de/cms/de/IT/Lehre/Wintersemester/Computer_Systems/index.html#skript

http://www.site.uottawa.ca/~jlang/CSI4130/CSI4130.html

http://www.opengl.org/documentation/red_book/

http://books.google.com/books?q=Hacking

http://books.google.com/books?q=Network+Security

http://books.google.com/books?q=TCP+IP

http://books.google.com/books?q=OSI

http://licos.epfl.ch/index.php?p=courses_digital2003

http://www.research.ibm.com/journal/sj/384/mark.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

How can the sending computer know that the receiving computer has
received the data?
– Can use a method called handshaking.
The sending computer uses a Data Valid line to tell the receiving computer
that the data on the data lines is valid.
The receiving computer uses a Data Received line to tell the sending
computer that it has read the current

 

BASc in Computer Engineering
Compulsory first-year courses:
CHM1310 Principles of Chemistry 4
GNG1100 Engineering Mechanics 4
ITI1200 Digital Systems I 4
ITI1220 Introduction to Computing I 4
ITI1221 Introduction to Computing II 4
MAT1320 Calculus I 3
MAT1322 Calculus II 3
MAT1341 Introduction to Linear Algebra 3
MAT1348 Discrete Mathematics for Computing 3
PHY1104 Fundamentals of Physics for Engineers 3
PHY1304 Physics Laboratory for Engineers 1
Compulsory second-year courses:
CEG2131 Computer Architecture I 4
CSI2210 Data Structures and Algorithms 4
ELG2130 Circuit Theory I 4
ELG2135 Electronics I 4
ELG2911 Pratique professionnelle en ingénierie et technologie
de l’information / Professional Practice in
Information Technology and Engineering 3
ENG1112 Technical Report Writing 3
MAT2322 Calculus III for Engineers 3
MAT2331 Ordinary Differential Equations and
Numerical Methods 4
MAT2377 Probability and Statistics for Engineers 3
PHY2323 Electricity and Magnetism 3
SEG2100 Introduction to Software Engineering 4
Three credits of complementary-studies electives
Compulsory third-year courses:
CEG3131 Computer Architecture II 4
CEG3150 Digital Systems II 4
CEG3151 Computer Systems Design 4
CEG3180 Introduction to Computer Networks 4
CSI3231 Operating Systems 4
ECO1192 Engineering Economics 3
ELG3120 Signal and System Analysis 4
ELG3150 Introduction to Control Systems 4
HIS2129 Technology, Society and Environment since 1800 3
OR
PHI2394 Scientific Thought and Social Values 3
SEG2101 Software Construction 4
Three credits of complementary-studies electives
Compulsory fourth-year courses:
CEG4131 Computer Architecture III 4
CEG4161 Real-Time Systems Design 4
CEG4910 Computer Engineering Design Project I 4
CEG4911 Computer Engineering Design Project II 4
Three credits of complementary electives
Three credits of science electives
15 credits of technical electives from the list
I n f o r m a t i o n f o r p r o s p e c t i v e s t u d e n t s : w w w. a d m i s s i o n . u O t t awa . c a
List of Optional Courses
List of technical electives:
CEG4153 Computer Control in Robotics 4
CEG4183 Higher Layer Network Protocols 4
CEG4185 Computer Network Design 4
CEG4193 Distributed Systems Design 4
CEG4240 Digital Control Systems 4
CEG4286 Wireless Mobile Networks 4
CEG4287 Optical Networks 4
CEG4311 Digital Image Processing 4
CEG4394 Design of Secure Computer Systems 4
CEG4395 Computer Network Management 4
CSI2220 Programming Paradigms 4
CSI2230 Databases I 4
CSI3220 Programming Languages Concepts 4
CSI3240 WWW Structures, Techniques and Standards 4
CSI4106 Introduction to Artificial Intelligence 3
CSI4115 Introduction to Compilers 3
ELG2232 Circuit Theory II 4
ELG3135 Electronics II 4
ELG4132 Principles and Applications of VLSI Design 4
ELG4172 Digital Signal Processing 4
SEG3120 Analysis and Design of User Interfaces 4
BASc in Computer Engineering, Engineering
Management and Entrepreneurship Option
Compulsory first-year courses:
CHM1310 Principles of Chemistry 4
GNG1100 Engineering Mechanics 4
ITI1200 Digital Systems I 4
ITI1220 Introduction to Computing I 4
ITI1221 Introduction to Computing II 4
MAT1320 Calculus I 3
MAT1322 Calculus II 3
MAT1341 Introduction to Linear Algebra 3
MAT1348 Discrete Mathematics for Computing 3
PHY1104 Fundamentals of Physics for Engineers 3
PHY1304 Physics Laboratory for Engineers 1
Compulsory second-year courses:
ADM1100 Introduction to Business Management 3
CEG2131 Computer Architecture I 4
CSI2210 Data Structures and Algorithms 4
ELG2130 Circuit Theory I 4
ELG2135 Electronics I 4
ELG2911 Pratique professionnelle en ingénierie et technologie
de l’information / Professional Practice in
Information Technology and Engineering 3
ENG1112 Technical Report Writing 3
MAT2322 Calculus III for Engineers 3
MAT2331 Ordinary Differential Equations and Numerical
Methods 4
MAT2377 Probability and Statistics for Engineers 3
PHY2323 Electricity and Magnetism 3
SEG2100 Introduction to Software Engineering 4
Compulsory third-year courses:
ADM2320 Marketing 3
ADM2340 Financial Accounting 3
CEG3131 Computer Architecture II 4
CEG3150 Digital Systems II 4
CEG3151 Computer Systems Design 4
CEG3180 Introduction to Computer Networks 4
CSI3231 Operating Systems 4
ECO1192 Engineering Economics 3
ELG3120 Signal and System Analysis 4
ELG3150 Introduction to Control Systems 4
HIS2129 Technology, Society and Environment since 1800 3
OR
PHI2394 Scientific Thought and Social Values 3
SEG2101 Software Construction 4
Compulsory fourth-year courses:
ADM3313 Introduction to Entrepreneurship 3
CEG4131 Computer Architecture III 4
CEG4161 Real-Time Systems Design 4
CEG4910 Computer Engineering Design Project I 4
CEG4911 Computer Engineering Design Project II 4
GNG4170 Engineering Law 3
Three credits of science electives
Three credits of electives for the management/entrepreneurship
option from the list
11 credits of technical electives from the list
I n f o r m a t i o n f o r p r o s p e c t i v e s t u d e n t s : w w w. a d m i s s i o n . u O t t awa . c a
List of Optional Courses
List of electives for the management and
entrepreneurship option:
ADM1101 Social Context of Business 3
ADM2336 Organizational Behaviour 3
ADM3318 International Business 3
ADM3319 Comparative Management 3
PHI2397 Business Ethics 3
List of technical electives:
CEG4153 Computer Control in Robotics 4
CEG4183 Higher Layer Network Protocols 4
CEG4185 Computer Network Design 4
CEG4193 Distributed Systems Design 4
CEG4240 Digital Control Systems 4
CEG4286 Wireless Mobile Networks 4
CEG4287 Optical Networks 4
CEG4311 Digital Image Processing 4
CEG4394 Design of Secure Computer Systems 4
CEG4395 Computer Network Management 4
CSI2220 Programming Paradigms 4
CSI2230 Databases I 4
CSI3220 Programming Languages Concepts 4
CSI3240 WWW Structures, Techniques and Standards 4
CSI4106 Introduction to Artificial Intelligence 3
CSI4115 Introduction to Compilers 3
ELG2232 Circuit Theory II 4
ELG3135 Electronics II 4
ELG4132 Principles and Applications of VLSI Design 4
ELG4172 Digital Signal Processing 4
SEG3120 Analysis and Design of User Interfaces 4


Posted by fdlkjasfjadslkjf at 8:47 AM EST
Post Comment | Permalink | Share This Post

http://www.tcil-india.com/new/new_site/white%20paper/TCIL%2018%20Real%20Time%20Operating%20Systems.ppt

 

 http://www.soe.uoguelph.ca/webfiles/rmuresan/PetriNetsAndIndustrialApplications.pdf

 

 http://www.google.ca/search?hl=en&q=Petri+Net+Models+of+Fuzzy+Neural+Networks&meta=

http://www.google.ca/search?hl=en&q=Modeling+and+Performance+Analysis+of+Medical+Services+Systems+Using+Petri+Nets&meta=

http://www.google.ca/search?hl=en&q=Temporal+Analysis+and+Object-Oriented+Real-Time+Software&meta=

 http://www.intelligentedu.com/sign-up/uml_use_cases_and_rational_rose_training.html

ftp://ftp.software.ibm.com/software/rational/docs/documentation/manuals/rosert.html

http://www.informatik.uni-oldenburg.de/ftrtft02/invited/

http://www.google.ca/search?hl=en&q=RT+UML+Tutorial&meta=

http://people.sabanciuniv.edu/levi/cs408/

http://www2.rad.com/networks/2004/PacketSwitching/main.htm

 http://williamstallings.com/CNIP/CNIP1e.html

http://www.site.uottawa.ca/~shervin/courses/ceg4185/lectures/

http://www.site.uottawa.ca/~shervin/courses/ceg4183/lectures/

http://www.it.uu.se/edu/course/homepage/distsys/

http://www.eecs.harvard.edu/~mdw/course/cs263/notes/

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.61.4475

http://ieeexplore.ieee.org/Xplore/login.jsp?url=/iel5/10050/32243/01506309.pdf?arnumber=1506309

http://bwrc.eecs.berkeley.edu/publications/2005/PRESENTATIONS/d.cabric/SmartAntennas_final.pdf

http://www.stanford.edu/class/ee359/

http://books.google.com/books?id=mF7X_8D7_BIC&printsec=frontcover&dq=Wireless+Communication+Andrea+Goldsmith&ei=XzQUSdaSIpTQMMS-6Z0L

http://www.cs.wustl.edu/~jain/refs/wir_refs.htm

http://www.imit.kth.se/info/OPQ/FMI/Special.php?id=courses/Ncours

http://inst.eecs.berkeley.edu/~ee225b/sp08/

http://www-ee.stanford.edu/class_directory.php

http://cs.stanford.edu/courses/

http://www-inst.eecs.berkeley.edu/classes-eecs.html#ee

http://www-inst.eecs.berkeley.edu/classes-eecs.html#cs

http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/index.htm

http://www3.interscience.wiley.com/cgi-bin/summary/112583780/SUMMARY

http://www.ee.columbia.edu/~xlx/courses/dip/handouts.html

http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/filter2.html&http://www.google.ca/search?hl=en&q=filter2%28h%2CA%29+filters+the+data+in+A+with+the+two-dimensional+filter+in+the+matrix+h.+&meta=

http://www.cs.nott.ac.uk/~tpp/G53VIS/G53VIS.html

http://www.rose-hulman.edu/~brought/Epubs/Imaging/waveimage.html

http://www.doc.eng.cmu.ac.th/cpeweb/index.php?option=com_content&task=view&id=39&Itemid=50&lang=en

http://www.doc.eng.cmu.ac.th/course/cpe496/lectureNotes.html

http://www.itee.uq.edu.au/~elec3600/

http://www.eng.iastate.edu/ee528/sonkamaterial/chapter_1.htm

http://www.it.uu.se/edu/course/homepage/bild2/ht07/

http://www.dgp.toronto.edu/~jflaszlo/teaching/320/06f/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Problem Statement: A Cardiac Pacemaker

The human heart is a marvelous four-chambered pump made up of two atrial chambers that contract slightly before the two larger ventricular chambers, and an electrical conduction system that, in the healthy heart, ensures the heart beats in an efficient, timely, and effective way. The atrial contraction preloads the larger and more powerful ventricular chamber by pumping extra blood into it, stretching its muscle fibers. The one-way a-v valves then close, and the ventricles contract strongly, sending unoxygenated blood in the right ventricle into the lungs to bind with oxygen and oxygenated blood from the lungs into the arterial system of the body. Myocardial cells contract autonomously because they have leaky membranes with ionic pumps that maintain a charge across the membrane. When the charge reaches a certain level, a set of ionic pores open up in the membrane causing a rapid depolarization of the muscle cell, causing it to contract. Different cells have different rates at which this contraction occurs. The fastest contracting cells are located in the sinoatrial (SA) node; because this area contracts first, and the depolarization spreads from cell to cell electrically, this area is said to be the "pacemaker" of the heart. The upper part of the heart, housing the atria, is separated electrically from the lower part, housing the ventricles. This separation (called the AV node) causes a slight delay in the contraction of the ventricles. This is hemodynamically important because it allows the ventricles to more completely fill before they contract and adds 20% or so to the volume of the blood pumped per beat. That's in the healthy heart. Sometimes the electrical control system fails and this can lead to any number of problems, the most common of which is a heart beat that is too slow to allow normal activity, a condition known as bradycardia.

A cardiac pacemaker is an implanted device that assists cardiac function when underlying pathologies make the intrinsic heart rate too low or absent5 by taking over the initiation of a cardiac contraction. Pacemakers operate in quite a number of behavioral modes, each indicated by a three-letter acronym. The first letter is either A, V, or D depending on whether the atrium or the ventricle or both (dual) is being paced (i.e., induced to contract via the delivery of a well-quantified electric shock). The second letter is also A, V, or D, depending on which heart chamber is being monitored for intrinsic heart beats. The last letter is I, T, or D, indicating inhibited, triggered, or dual pacing modes. In an inhibited mode, a sensed heartbeat will inhibit the delivery of a pace from the pacemaker. In triggered mode, a sensed heart event will immediately trigger a pace from the pacemaker. For example, VVI mode means that the ventricle is paced (the first V) if a ventricular sense (the second V) does not occur. A ventricular sense event is generated when the ventricle of the heart contracts. If a ventricular sense does occur, then the pace is inhibited (the I). Dual modes are more complex and will not be discussed here.

Most of the time, a pacing pacemaker waits for a sense event. When it decides to pace, the pacemaker first shuts off the sensing hardware to prevent electrical damage, and then delivers an electric current of a programmable voltage (called the pulse amplitude) for a programmable period of time (called the pulse width). Following a pace, the pacemaker is put into a refractory state for a set period of time, during which all cardiac activity is ignored. Following the refractory period the pacemaker resumes monitoring for the next cardiac event. The rate of pacing is determined by the programmable pacing rate. The period of time the pacemaker will remain in the waiting state is based on the pacing rate and the pulse width. The refractory period is usually fixed. Our problem is to create a pacemaker that operates in VVI, AAI, VVT, AAT, and AVI pacing modes as programmed by the physician.

Pacemaker parameters are programmed via a telemetric interface to an external programmer. Telemetry is sent by pulsing an electromagnetic coil a certain number of times to indicate a 0 bit and a different number of times to indicate a 1 bit. To avoid inadvertent programming by electrical noise, a reed switch must be closed with a magnet before programming is enabled and must remain closed as long as communication is ongoing. Removal of the magnet disables communications. In this particular pacemaker, commands are of the form

[CD][Command ID] [Length][Data][CRC]

The command is an 8-bit value that specifies the command to be executed; the length is an 8-bit value that specifies the number of bytes in the data field, plus the size, plus 4 (to account for the command ID byte, the length byte, and the 16-bit CRC). Table 7-1 lists the messages for the pacemaker.

The commands constructed from the bits must be checked with the 16-bit CRC before they can be acted on. If the command validates properly, then an ACK message is returned. Communications occur between two devices: the pacemaker and a device used by the physician called a programmer. The communications protocol between the two devices requires the programmer to receive an ACK before sending the next command. If the pacemaker doesn't respond within 5 seconds or if a NAK is received, the programmer will resend the message. This occurs automatically. After five successive transmission failures, the programmer notifies the physician (this can occur if the programming wand is too far from the pacemaker resulting in a weak telemetry signal). Note that communications cannot affect pacing other than as the result of processing a command that affects pacing; that is, they must occur in parallel.

Table 7-1. Pacemaker Messages

Command ID

Value

Description

Get parameters

0

Request programmable settings in pacemaker.

Get serial number

1

Request manufacturers information from the pacemaker.

Set pacing mode

3

Sets the pacing mode to one of AAI=0, VVI=1, AAT=2, VVT=3, AVI=4. Data is 8 bits in length.

Set parameters

4

Sets the three pacing parameters, each of which is 8 bits long: pulse amplitude in mV from 0 (off) to 15 mV in integral units of mV. Pulse width is specified from 0ms to 30ms. Rate is set in beats per minute in the range of 30 .. 120, inclusive.

Exit low power Mode

32

Command the pacemaker to power the electronics for normal operation.

Enter low power Mode

33

Commands the pacemaker to disable all electronics except as necessary to perform communications.

Parameters

128

Data consists of four values plus 32-bit numbers: pacing mode (1 byte), pulse amplitude (1 byte), pulse width (1 byte), pacing rate (1 byte), and battery voltage (fixed point integer for range of 0.00 to 5.00 volts) (returned from the pacemaker).

Serial number

129

Data consists of four ASCII characters, "ACME," followed by three 32-bit numbers: the serial number, the hardware version number, and the software version number (returned from the pacemaker).

ACK

254

Acknowledgement of last message.

NAK

255

Last command failed validation.

A typical pacemaker-programmer interaction might be

Programmer:

Get Parameters

Pacemaker:

ACK

Pacemaker:

Parameters (AAI, 12mV, 15mS, 70ppm, 3.66V)

Programmer:

Set Pacing Mode (AVI)

Pacemaker:

ACK

Programmer:

Set Pacing mode (AVI)

Programmer:

Set Parameters (10mV, 20ms, 60 ppm)

Pacemaker:

ACK

Figure 7-5 shows the primary use cases for the CardioNada pacemaker. Three use cases are shown: set pacing parameters, retrieve current pacemaker settings, and pace the heart. Figure 7-6 shows the class model for the pacemaker. There are two packages in this system, each containing a single subsystem and the parts of those subsystems used to achieve the use cases. The Comm_Subsystem contains the classes necessary to send and receive, validate, and process those commands.

07fig05.gifFigure 7-5. Pacemaker Use Cases

 

Figure 7-6. Pacemaker Class Diagram

 

7.2.1.1 How Communications Work

The first package contains the classes for communications. These are briefly described in Table 7-2.

Communications is achieved with the collaboration of the elements in the Communications_Subsystem. The ReedSwitch has simple On-Off state behavior. It propagates events to other classes in the communication subsystem to enable and disable communications—specifically the CoilDriver and CommunicationsGnome. This prevents inadvertent reprogramming of the pacemaker by ambient radiation, arc welders, and microwave ovens. The GEN() macro sends the named event (and any specified parameters) to the object with the named role. For example, the ReedSwitch knows the CommunicationsGnome as myGnome. Using

·         myGnome->GEN(RS_Close)

sends the RS_Close event to the CommunicationsGnome. The Reed Switch has simple On-Off state behavior, as shown in Figure 7-7.

 

Figure 7-7. ReedSwitch State Model

The CoilDriver class has more elaborate state behavior, as shown in Figure 7-8. At the highest level, the CoilDriver has two or-states: Disabled (the default) and Enabled. When the ReedSwitch closes, it propagates an RS_Open event to the CoilDriver and the CoilDriver enters the Enabled states.

 

Figure 7-8. CoilDriver State Model

Inside of the Enabled state, there are three nested or-states: Idle, Receiving, and Transmitting. Since these are or-states, communication proceeds in a half-duplex fashion.

Table 7-2. Communication Package Classes

Class

Description

Comm_Subsystem

This is a subsystem that manages communications and command processing.

ReedSwitch

Interfaces with the magnetic reed switch and sends events to the CoilDriver and Communications Gnome when the switch opens or closes. Communications is disabled unless the reed switch is closed.

CoilDriver

The CoilDriver pulses the magnetic coil 15 times to produce a 0 bit and 8 times to produce a 1 bit, with a programmed time interval between bits and a longer time interval between bytes and a still longer period between messages. Telemetry is half-duplex; that is, messages can be sent or received at any given time.

Communications gnome

The gnome processes receives income bytes, constructs messages from them, and validates them. If valid, the gnome sends out an ACKMsg (or a NAKMsg if not valid) as well as processes valid commands.

MessageQueue

There are two message queue objects in the Comm_Subsystem, one for holding bytes as them are received (until an EOM—End Of Message—event is received), and the other for holding messages ready to be transmitted.

Message

A set of bytes defined by the protocol.

When the CoilDriver is in the Idle state, an incoming pulse causes it to go into the receiving state. The CoilDriver hardware contains an internal one-shot timer that determines pulse widths and issues an interrupt to the CoilDriver when a pulse is detected that is within the proper time window that results in the evPulse event shown in the statechart.

The ReceivingBit state counts the pulses that occur within the bit window. As long as a pulse is received before the timeout occurs, the timer is restarted. The number of pulses is tracked in the count attribute of the CoilDriver class. When the tm(BIT_WAIT) occurs, the decode() operation determines that it is either a 0 (in the range of 13 to 17 pulses) or a 1 (in the range of 5 to 10 pulses). This decoded bit is then shifted into a value that will hold the transmitted byte. Once all 8 bits have been shifted in, the completed byte is sent over to the Communications Gnome and the CoilDriver enters the WaitingForBit state. In this state, either an evPulse can be received (indicating the start of the next bit) or a timeout (indicating the end of the message) occurs. If the end of the message is found, the end of message (EOM) event is sent to the CommunicationsGnome so that it can process the now completely received message.

The other possibility from the Idle state is that the Communications Gnome sends a byte to be transmitted. For each bit in the byte to be transmitted, the CoilDriver shifts out the next bit, determines the number of pulses needed to send the bit (held in the pulstCt attribute), and sends pulses the coil that many times. Once all the bits have been sent out, the CoilDriver sends a DoneSending event to the CoilDriver to get the next byte to transmit.

The Communications Gnome oversees the communication process for the pacemaker (see Figure 7-9). It is enabled and disabled by the RS_Close and RS_Open events propagated from the Reed Switch. When enabled, but in the absence of incoming or outgoing messages, the Communications Gnome spends its time in its Idle state. The message level is almost completely decoupled from the strict timing requirements of the CoilDriver. In the Receiving state, the Communications Gnome adds the incoming bytes into the message until the EOM event is received. Then the message is validated (to be valid, the command must have a valid command byte, be of the correct length, and must pass the CRC check). If it is validated, an ACKMsg is queued to send and the command is processed. If the command fails validation, a NAKMsg is sent instead.

07fig09.gifFigure 7-9. Communications Gnome State Model

In terms of setting pacing modes, the Communications Gnome sends commands to the instances of the AtrialModel and VentricularModel. When the Communications Gnome receives a command to put the pacemaker in AAI mode, for example, it sends a toIdle event to the VentricularModel instance and a toSelfInhibited event to the Atrial Model instance. The effects of the system pacing mode on the Atrial Model and VentricularModel objects are shown in Table 7-3.

For setting pulse width and pulse amplitude and heart rate, these are sent to both the AtrialModel and VentricularModel instances.

7.2.1.2 How Pacing Works

The Pacing package contains classes, shown in Table 7-4, used in monitoring and pacing the heart.

The Chamber Model specifies most of the pacing behavior (see Figure 7-10). Pacing the ventricle works largely in the same fashion as pacing the atrium. The On state contains four nested or-states corresponding to idle, inhibited, triggered, and dual modes. For all but the last, there is no need for specialization in the subclasses. In the last (dual mode) however, the AtrialModel and VentricularModel play different roles in the interaction and specialization is a natural way to capture those differences.

 

Figure 7-10. Chamber Model State Model

Table 7-3. Pacing Modes and States

Pacing Mode

AtrialModel State

VentricularModel State

Off

Idle

Idle

AAI

SelfInhibited

Idle

VVI

Idle

SelfInhibited

AAT

SelfTriggered

Idle

VVT

Idle

SelfTriggered

AVI

DualMode

DualMode

Table 7-4. Pacing Subsystem Classes

Class

Description

Pacing_Subsystem

This subsystem manages the monitoring and pacing of the heart through delegation to its internal pieces.

Chamber Model

This abstract base class defines the basic functionality for monitoring and pacing a cardiac chamber, including associations to a voltage sensor and an output capacitor.

Atrial Model

A concrete subclass of the Chamber Model class that uses the basic behavior defined in the Chamber Model class and that specializes the behavior of AVI (dual mode) pacing. This class monitors and/or paces the atrium of the heart via its associations to its own voltage sensor and output capacitor.

Ventricular Model

A concrete subclass of the Chamber Model class that uses the basic behavior defined in the Chamber Model class and that specializes the behavior of AVI (dual mode) pacing. This class monitors and/or paces the ventricle of the heart via its associations to its own voltage sensor and output capacitor.

Voltage Sensor

This class drives the hardware voltage sensor with operations that enable it (turn it on) and disable it (turn it off). When a contraction of the associated heart chamber is detected, it issues a Sense event to its associated Atrial_Model or Ventricular_Model instance.

Output Capacitor

This class controls the release of current stored in the output capacitor. The voltage is controlled by setting the voltage level in the enable() operation. The pulse width is the length of time the voltage is delivered.

The statechart in Figure 7-10 references three submachines. A submachine, you will remember, is a specification for the internals of a state when it is shown in a separate diagram. Figure 7-11 shows the internal structure of the SelfInhibited state and Figure 7-12 shows the internal structure for the SelfTriggered state. Note that the actions in these submachines invoke operations of the associated voltage sensor and output capacitor. The Dual state is decomposed as well, but it was left empty and so isn't shown here.

 

07fig11.gifFigure 7-11. Chamber Model SelfInhibited Statechart

 

Figure 7-12. Chamber Model SelfTriggered Statechart

For the most part, the AtrialModel and VentricularModel state behavior is identical to that specified by the Chamber Model superclass. However, in AVI mode, the atrial model does the pacing and signals the VentricularModel when it should and should not pace. Those statecharts are shown in Figure 7-13 and Figure 7-14.

 

Figure 7-13. AtrialModel Dual Mode Statechart

 

Figure 7-14. VentricularModel Dual Mode Statechart

 

 

 

 

 

 


Posted by fdlkjasfjadslkjf at 6:52 AM EST
Post Comment | Permalink | Share This Post
Thursday, 6 November 2008

http://www.cs.york.ac.uk/rts/RTSBookThirdEdition.html

http://www.doc.ic.ac.uk/~jnm/book/

 http://web.abo.fi/fak/ktf/studier/studiehandbok/

 http://www-verimag.imag.fr/TR/TR-2004-16.pdf

 http://www.mathworks.com/access/helpdesk_r13/help/toolbox/stateflow/concepts3.html

 

Prior Art
n Other efforts to improve Linux latency
– RTAI
– Rtlinux
applications
Linux Kernel
Linux Drivers
Hardware

 

 Real-Time Application Interface
(RTAI)
for Linux
High-performance,
Pre-emptive,
Deterministic,
Hard Real-Time

 The state of
Embedded Linux . . .
who, what, where, when, how?

 

RTLinux V3.0:
a POSIX 1003.13 PE51 OS
with a POSIX 1003.13 PE54 thread

 

 Realtime Operating Systems
Concepts and Implementation of Microkernels
for Embedded Systems

 

 The Concise Handbook
of Linux for Embedded
Real-Time Systems

OS, The Real-Time Kernel” is now 6 years old and the publisher has sold well
over 15,000 copies around the world. When I was asked to do a second edition, I thought it would
be a fairly straightforward task; a few corrections here and there, clarify a few concepts, add a
function or two to the kernel, etc. If you have a copy of the first edition, you will notice that
“μC/OS-II, The Real-Time Kernel” is in fact a major revision. For some strange reason, I wasn’t
satisfied with minor corrections. Also, when my publisher told me that this time, the book would
be a ‘hard cover’, I really wanted to give you your moneys worth. In all, I added more than 200
new pages, and re-wrote the majority of the pages I did keep. I added a porting guide to help you
port μC/OS-II to the processor of your choice. Also, I added a chapter that will guide

 

 

 

 

 

 

 


Posted by fdlkjasfjadslkjf at 11:04 PM EST
Post Comment | Permalink | Share This Post

http://www.euclideanspace.com/maths/algebra/realNormedAlgebra/quaternions/

 On the symbolic insimplification of the general 6R-manipulator
kinematic equations
T. Recio.”t and M. J. Gonz41ez-L6pez*t
Dpto. MatemAticas, Estadistica y Computaci6n
Universidad de Cantabria, Santander 39071, Spain
Abstract
When symbolically solving inverse kinematic
problems for robot classes, we deal with computations
on ideals representing these robot’s geometry.
Therefore, such ideals must be considered
over a base field K, where the parameters of
the class (and also the possible relations among
them) are represented. In this framework we
shall prove that the ideal corresponding to the
general 6R manipulator is rezd and prime over
K. The practical interest of our result is that it
confirms that the usual inverse kinematic equations
of this robot class do not add redundant
solutions and that this ideal cannot be “factorized”,
establishing therefore, KOVACS [7] conjecture.
We prove also that this robot class has six
degrees of freedom (i.e. the corresponding ideal
is six-dimensional), even over the extended field
K, which is the algebraic counterpart to the fact
that the 6R manipulator is completely general
Our proof uses, as intermediate step, some dimensionality
analysis of the Elbow manipulator,
which is a specialization of the 6R.
1 Introduction
Recently, a lot of attention has been devoted to
the kinematic problem for the general 6R manipulator,
see [11], [12], [15], [17], [18]. After twenty
five years of research on this subject, starting
with the work of Pieper [14] in 1.968, the complete
symbolic solution to the inverse kinematic
problem for this manipulator has been presented
in [11] and [15]. Following this pattern in a numerical
framework, [12] presented a real time algorithm
for solving the inverse kinematics of the
general 6R manipulator.
* Partially supported by CICyT PB 92/0498 /C02/01.
t partially supported by Esprit/Bra 6846 (POSSO).
On the other hand, KOVACS [7] has studied different
triangulations of the kinematic equations
system of this manipulator, searching for simplifications
on the corresponding determining equations.
In particular, he explicitly conjectured
that the kinematic equations system should generate
a prime ideal ([7], pg. 331). In fact, ([7],
pg. 334) he mentions that “extensive tests for
ideal factorization were perjormed and no jactori.
zation was jound. However the irreducibility
could not be established with certainty”. As a
consequence, he comments that, with high probability,
the solution presented in [11] and [15]
must be optimal in some sense.
In this paper we show that, in fact, the inverse
kinematic ideal of the general 6R manipulator
is a prime ideal. Moreover, we show that
this is also the best possible ideal in some other
sense that was not regarded by Kovics, namely,
that this is a real ideal, which roughly means
that it describes the solutions of the inverse kinematic
problem without redundancy. We remark
that, when working in a complex number setting,
primality alone implies this property, but
this is not true anymore when one is interested
in the real solutions (which is, usually, the case
in Robotics): (Z2 + y2) is a prime ideal in R [z, y]
but its solutions are represented in a simpler way
by the real ideal (z, y). Therefore, we consider
that proving both primality and reality, is required
to establish the idea behind KOVACS conject
ure.
Moreover, we obtain these two properties for
two different approaches to the concept of the inverse
kinematic ideal: first, as in the formulation
of Kov~cs, that follows [2] (see our Proposition
3.1); and second, with an enhanced version of inverse
kinematic ideal that involves a more symbolic
setting, in which the parameters are considered
as true indeterminates and not merely
nameholders for numbers (Theorem 4.2). Completing
the algebraic study of these ideals, we
show that the- corresponding hand ideals have
the expected dimension (six) for the general 6R
manipulator (Theorem 4.1). This is achieved
showing that the particular instance of the 6R,
namely the Elbow manipulator, has also this dimension
for the hand ideal (Lemma 4.1) and, in
order to obtain this, we use Paul solution ([13])
354
to the inverse kinematic problem of this robot. generators:
2 Symbolic approaches to the inverse kinematic
problem of the general 6R manipulator
Following Denavit-Hartenberg formalism ([4]) to
represent the geometry of the 6R-manipulator,
a coordinate system is attached to each link in
order to describe the relative positions among
the links. The 4x 4 homogeneous matrix relating
the i + 1 coordinate system to the i coordinate
system is (considering the links numbered from
the base, which is link 1):
(c; ‘Si.’!i sap% sic;
Si
A:= ~
CiA* —c*pi aiSt
A, d,
)
,i=l, ...,6
W
00 01
where s; and c; represent the sine and cosine, respectively,
of the rotation angle at joint i; A; and
~~ represent the sine and cosine, respectively, of
the twist angle between the axes of joints i and
i + 1; a; is the length of link i + 1; and di is the
offset distance at joint i (see [12] and [15]).
Let us consider now the group SE(3) of ma
trices of the form:
hll hlz h13 ‘U1
P=HV=
()(
hzl h22 h23 V2
01 h31 h32 h33 V3
0001 )
where the matrix H is a proper orthogonal matrix,
i.e. it is an element of the proper orthogonal
group SO(3). An element in SE(3) represents
the position and orientation, with respect
to some fixed universal frame, of a rigid body
in the space; in particular it gives the position
and orientation of the hand (last body) of the
6R robot. Thus, considering that the universal
frame agrees with the coordinate system of link
1 we have, for any given pose P of the hand, the
identity:
Besides these (twelve) equations, the ideal corresponding
to the general 6R manipulator must
contain the conditions expressing that each one
of the considered matrices (A:’s and P) belongs
to SE(3), which is obtained imposing that the
3 x 3 rotational part (i.e. the first three rows and
colums of the homogeneous matrices considered)
is proper orthogonal. As the rotational matrix
in A? is proper orthogonal when s? + c? = 1
and A; + ~~ = 1, we can describe the ideal
by the following (non necessarily irredundant)
@jR =
where – t denotes the transpose matrix and I is
the 3 x 3 identity matrix. In order to simplify
notation we group the variables as follows:
P= (hlI, h12. ... h33, vl, v2, tJ3),
S=(S1,. ... S6),
C=(C1,..., C6),
~=(~l,..., ~6),
i7=(/.41,. ... /J6),
A=(al,. ... a6),
~=(dl,. ... d6).
With this notation, aeR is an ideal in
R[P, S, C, L, U, A, D].
In this context, the standard symbolic approach
to solving kinematics consists in the symbolic
manipulation of the polynomials in the
ideal @~ yelding the variables S, C as a function
of the variables in P, and considering that
L, U, A, D can take any arbitrary real value. [2]
proposes the triangulation of the system of equations
using Grobner basis computations. Based
on this method there are several techniques introduced
by [9], [7] (see also the recent monograph
[8]) and [16], consisting essentially in determining
sets of parameters that make kinematic
equations simpler to solve. However, these triangulation
procedures may fail to give a complete
answer to the posed problem (see, for example,
[3] and [5]), as there can be numerical values of
the variables for which the specialization of the
triangular system is not triangular, or is not an
equivalent system to the given one. Weispfenning
construction of Comprehensive Grobner basis
([19] ) is a relevant tool to avoid such problems,
as already remarked in [5].
The more general (i.e. completely symbolic)
approach that we propose here is to consider the
variables defining the robot class of 6R robots,
namely L, U, A, D, and the hand variables P, as
true indeterminates (independent parameters)
and not merely nameholders for numbers, which
implies to work in a base field where these variables
are represented and also the possible relations
among them always hold. To show an
easy example, if we want to solve the general
2-degree equation ax2 + bz + c, with the condition
a + b + c = O on the coefficients, the
ideal to be considered must correspond to p :=
(az2 + bx + c, a + b + c) in the base field:
q.f.(R[a, b,c]/P n R.[%hc]) =
=q.j. (R[a, b,c]/(a+b+ c)).
lIn particular, the equations HH’ –I and det(H) –
1 are redundant, as they are formal consequences of
the remaining ones (see [6]).
355
where (q. f.) denotes the quotient field. For the
6R case, if we denote
/3:= (F’, L, U, A, D),
x := (s, c),
the base field is:
where a~R := afj~ n R[~].
In order to describe more explicitly the completely
symbolic ideal, we consider the following
ring isomorphisms (where –’ represents the
extension ideal to the corresponding ring):
‘[pZ]/a%= [R[~l/a’Rl[zl
where the last isomorphism determines the ideal
ox and:
oz.K[x]
is the ideal of the kinematic equations for the
general 6R manipulator in a fully symbolic approach.
3 Insimplificability and dimension of kinematic
ideals over the reals
Towards the goal of finding the best defining
equations of the ideals that appear in robotics
[7] made the following conjecture:
“Kinematic equation systems are irreducible
(i.e. they generate prime ideals). In particular,
all determining equations of all triangulations
are irreducible. ”
We will prove in the two following subparw
graphs that the kinematic ideal of the general
6R manipulator is a prime ideal and also that
it is a real ideal, which roughly means that it
describes the (real) solutions of the inverse kinematic
problem without redundancy, (this is required
to show Kovtics conjecture in the real
case, as commented in the introduction). We
also compute its dimension. The same conclusions
will be obtained for the Elbow manipulator
(see [13] for a description of this robot).
Definition 3.1 An ideal J C R[X] :=
R[q,. . . , Z8] is r-ml if it contains all the polynomials
vanishing on the real algebraic variety
V(J) = {z c R’/ p(z) = O for allp(X) E J}.
There are several characterizations and computational
issues related to this concept of real
ideal (see [1] ).
3.1 The kinematic ideal of the general 6R manipulator
Proposition 3.1 The ideal aGR (in the ring
R[P, S, C, L, U, A, D]) is real, prime, of dimension
24.
Proof:
The ring homomorphism given by:
R[P, S,C, L, U, A,D] * R[S, C, L, U,A, D]
P R A;. ..A;
and inducing the identity over the remaining
variables, is subjective and determines a ring isomorphism
R[P, S, C, L, U, A, D]/a6R =
c R[S, C, L, U, A, D]/q
where
q :=
({s~+c~– l,i=l,...,6},
{Af+p~- l,i=l,...,6}).
q is a real and prime ideal of dimension 12, as it
is the sum, with separated variables, of the real,
prime and one-dimensional ideals (s? + c? – 1),
i=l ,.. .,6and(A~+ pl),i=l, l,... ,6. This
follows from some classical results on the ideal
of the product of varieties: see [10] for the proof
of the general fact.
With respect to the dimension, we have
dim(a6R) = 12+12 = 24, where the first 12 correspond
to those independent modulo q among
S, C, L and U; and the last 12 are the twelve
independent variables in A and D. n
3.2 The kinematic ideal of the Elbow manipulator
As mentioned above, the Elbow manipulator is a
particular instance of 6R, when the parameters
of the 6R class are set to some values. Following
[13] and using the Denavit-Hartenberg representatlonl
the six homogeneous matrices A~ corresponding
to the six joints of the Elbow manipulator
are obtained gwing the following values to
the variables in (L, U, A, D) in the matrices A;:
i= 1 2 3 4 5 6
J, o 1 1 0 0 1
Pi 1 0 0 -1 1 0
ai o 1 1 1 0 0
d, o 0 0 0 0 0
Following the same notation as in the 6R case,
the ideal for the Elbow manipulator is:
a~l~o. = (PH–H$~AjA3A4AtAG,
det(~) – ~
{s~+c~– l,i=l,...,6})
Proposition 3.2
The ‘ideal aE&W C R [P, S, C] is real, prime, of
dimension 6.
356
Proofi
It suffices to remark that there is a ring isomorphism
R [F’, S, C~aElbow E
sR[S, C]/({s:+c, –1, i= 1,...,6})
and the conclusion follows as in the 6R case. n
4 Insimplificability and dimension of the kinematic
ideal of the 6R general manipulator
over K
We prove now the insimplificability (reality and
primality) over K of the kinematic ideal of the
6R manipulator, o-L. K[z], in the general symbolic
approach that we propose for this problem in
Section 2, computing also its dimension. Some
properties of the hand ideals (intersection of @~
and a~lbo~ with R [P]) of the 6R case and of the
Elbow case will be required.
Let us consider the ideal whose zeros define
the set SO(3) of all proper orthogonal matrices:
SO(3) := (llfft – 1, det(~) – 1) c
CR[hll, h12, . . ..h33]
where H is the 3 x 3-matrix with indeterminated
coefficients (hll, hlz, . . . . h33 ). In [6] we have
proved that, for arbitrary n, the ideal so(n) is
real and prime.
The following lemma will be used in Theorem
4.1, about the dimension of the hand ideal of the
6R manipulator. We remark that both results
(Lemma and Theorem) could have been proved
just making Grobner basis computations, as we
merely have to:
l compute the intersection of an ideal with
R [P], and
l test the equality of two ideals.
However, after spending many hours with the
computer, trying to get an answer using different
software packages (COCOA, Maple, Axiom), the
high number of involved variables did not allow
to finish these computations. Therefore, we have
tried to follow an alternative, more theoretical,
proof.
Lemma 4.1 a~~bo~ rl R[P] = SO(3) .R[P].
Proofi (Sketch)
To prove the inclusion SO(3).R [P] C aElbow fl
R [P] it suffices to remark that any matrix P
which is the product of the six proper orthogonal
matrices Ai is also proper orthogonal. This is
accomplished at the ideal theoretic level using
the results of [6].
To prove the other inclusion, it suffices now to
show that
v(so(3).R. [~]) C v(aElbow n ~[~]).
As v(aElb.w rl R [P]) is the Zariski closure of
the projection of v(a~ibo~) on the P-variables,
Cl (HP (V(aEIboW))), we are reduced to prove
that there exists a Zariski-dense set A in
V(SO(3).R[P]) such that A C ~p(v(aE~b~w)).
We find this set A using [13], where closed formulae
to determine real solutions to the inverse
kinematics for the Elbow manipulator are explicitly
given. A detailed look to these formulae
shows that they are valid over an euclidean non
empty open set (therefore, Zariski-dense) of the
space of the P-variables. n
Obviously the A; matrices in the Elbow manipulator
are numerical specialization of the A:
matrices in the 6R one. This is translated in
the commutative algebra framework, by means
of the identity:
aElbow =
(ae~,
~1,~2–1,~3–1,~4,~5,~6–1,
= ~1 ‘1,P2,P3,P4+1,P5 – 1,P6,
al, a2—lja3— l,a4—l, a5, a6j
dl, d2, ds, d4, d5, d6)fl R[p, s,c]
Theorem 4.1 afjn (l R[P] = SO(3) .R[P]. In
particular, the hand ideal aGn n R [P] of the general
6R manipulator is 6-dimensional.
Proof:
We have the following chain of inclusions:
SO(3) .R[P] C
a6R n R [P] C
(ae~,~l,fll –l, ~Z–l,..., dA, ds, dG)fl R[P] =
aEtbow n R[p] =
SO(3) .R[P]
n
Lemma 4.2
Proofi
We can easily prove the inclusion
(so(3) .R[@], {A~ +p~ – 1, z = 1,... ,6}) C a~R
and then, we have that
‘i~a%s < dim(so(3).R[@], {~i +Pi – 1, i = 1,. . . ,6}) =
= 24.
Let aEIbOWl C R [,6] be the ideal obtained when
giving fixed constant values ci = Cio and Si =
s$o, i= l,..., 6, (C?. +s, 2 = 1) to the 6R general
robot. As (si, ci) and t A,, Pi) have equivalent
roles in the ideal, we have that in R [~]:
dim aElbOWl = 24
Now, remark that
& c
C (aSR, {c, – C,O, S, – S,o}i=l,...,6) n R[D] =
= aElbowr
and then 24 = dim aE1bOwt < dim a~R n
357
Theorem 4.2 The ideal of the general 6R
manipulator, oT. K[z], is real, prtme and Odimensional.
Proofi
Set R = R [@]/a;~, then ot is an ideal in R[x],
R[x]/oz is a real integral domain of dimension 24
and o~ n R = {O}; hence setting S = R – {O} we
get:
K[X] = (R[X])S,
OZKIX] = Ots ,
KIX]/OZ~[XI = (R[X]/OZ)F >
where ~ = S + oz. Clearly, (R[-X]/oz)F is a real
integral domain. Thus, OZKIX] is a real prime
ideal of
dim otKIX] =
= tT(K[X]/OZKIXl, K) =
= tr(q.f. (R[X]/oz), K) =
= tr(q..f. (RIX]/oz), R) – tr(K, R.) =
24–24=0
where tr denotes the transcendence degree. n
References
[1]
[2]
[3]
[4]
[5]
[6]
[7]
J. Bochnak, M. Coste, M-F. Roy. G60m6trie
Algibrique Rkelle. A Series of Modern Surveys
in Mathematics. Vol. 12. Springer Verlag.
1.986.
B. Buchberger. Applications of Grobner basis
in non-linear computational geometry.
Trends in Computer Algebra. Lecture Notes
in Comp. Sci. 296. Springer Verlag. 1.989.
D. Cox, J. Little, D. O’Shea. Ideals, varieties
and algorithms. Undergraduate Texts
in Mathematics. Springer Verlag. 1.992.
J. Denavit, R. S. Hartenberg. A Kinematic
Notation for Lower-Pair Mechanisms Based
on Matrices. ASME Journal of Applied Mechanics,
pp. 215-221, 1.955.
M.J. Gonz.?ilez-L6pez, T. Recio. The
ROMIN inverse geometrtc model and the
dynamic evaluation method. Computer Algebra
in Industry. A. M. Cohen Ed. Wiley
and Sons Ltd. pp. 117-141, 1.993.
M.J. Gonzi.lez-L6pez, T. Recio. Formal Determination
of Polynomial Consequences of
Real Orthogonal Matrices. Recent Advances
in Real Algebraic Geometry and Quadratic
Forms: Proceedings of the RAGSQUAD
Year. W. Jacob et al. Eds. Contemporary
Mathematics Series, VO1.155, pp.141-167,
1.993.
P. KOVACS. Minzmum degree soluttons for
the reverse kinematics problem by application
of the Buchberger algorithm. Advances
in Robot Kinematics. S. St ifter and
J. Lenarcic Eds., pp. 326-334. Springer Verlag.
1.991.
[8]
[9]
[10]
[11]
[12]
[13]
[14]
[15]
[16]
[17]
[18]
[19]
P. Kov&cs.
Rechnergestutzte Symbohsche Roboterkinematik.
Vieweg, 1993, Braunschweig, Wiesbaden,
Fortschritte der Robotik Vol. 18.
P. Kovics, G. Hommel. Simplification of
symboltc inverse kinematic transformations
through functional decomposition. 3 Int.
Conference on Advances in Robot Kinematics,
(Ferrara), pp. 88-95. 1.992.
S. Lang. Introduction to Algebraic Geometry.
Addison- Wesley. 1.958.
H.Y. Lee, C.G. Liang. A new vector theory
for the analysis of spatial mechanisms.
Mechanisms and MAchine Theory, 23 (3),
pp. 209-217. 1.988.
D. Manocha, J, Canny. Real time inverse
kinematics for general 6R manipulators.
IEEE Conference on Robotics and Automation
(Atlanta), pp. 383-389. 1.992.
R.P. Paul. Robot manipulators: Mathematics,
Programming and Control. The MIT
Press Series in Artificial Intelligence. 1.981.
D. Pieper. The ktnemattcs of mampulators
undder computer control. PhD thesis, Stanford
University. 1.968.
M. Raghavan, B. Roth. Kinematic analyszs
of the 6R manipulator of general geometry.
International Symposium on Robotics Research,
pp. 314-320. Tokio, 1.989.
D. Smith, H. Lipkin. Analysis of fourth
order manipulator kinematics using conic
sections. IEEE Conference on Robotics
and Automation (Cincinnati), pp. 274-278.
1.990.
L.W. Tsai, A.P. Morgan. Solving the kinematics
of the most general szx and jive degree
of freedom manipulators by continuation
methods. Transactions of the ASME,
Journal of Mechanisms, Transmissions and
Automation in Design, 107, pp. 189-200.
1.985.
C. Wampler, A.P. Morgan. Solving the 6R
inverse position problem using a genericcase
solut~on methodology. Mechanisms and
Machine Theory, 26 (l), pp. 91-106.1.991.
V. Weispfenning. Comprehensive GrobneT
basis. J. Symb. Comp. 14/1, pp. 1-29.1.992.
358

.O {color:white;} a:link {color:#336699 !important;} a:active {color:#0099CC !important;}
nHard real-time: systems where it is absolutely imperative that responses occur within the required deadline
nSoft real-time: systems where deadlines are important but which will still function correctly if deadlines are occasionally missed.
nReal real-time:  systems which are hard real-time and which the response times are very short.
nFirm real-time: systems which are soft real-time but in which there is no benefit from late delivery of service
 
Introduced in 1962 by Carl Adam Petri in his PhD thesis.
Focus on modeling causal dependencies;
no global synchronization assumed (message passing only).
Key elements:
• Conditions
Either me

Example Petri Nets

(Extract from PetriSim Manual)


The following example models a cooperation between two processes called Producer and Consumer. The Producer prepares data and writes them to buffers. If there is no empty buffer, the Producer must wait. The Consumer reads the data supplied by the Producer. The initial marking of the place "Empty_buffers" is the total number of buffers available (initially all the buffers are empty). The semaphore ensures that only one process can work with the data at a time. After reading the data the Consumer returns the empty buffer.

t or no met.
• Events
May take place if certain conditions are met.
• Flow relation
Relates conditions and events.
Conditions, events and the flow relation form
a bipartite graph (graph with two kinds of nodes).
 
 
 
 
 
 
 
 
 
 
 

Posted by fdlkjasfjadslkjf at 10:52 PM EST
Post Comment | Permalink | Share This Post

Newer | Latest | Older