Introduction Lecture 0 ICOM 4075
Information Ageis the term used to refer to the present era, beginning in the 80 s. The name alludes to the global economy's shift in focus away from the manufacturing of goods and towards services based on the processing of information WHAT IS BEHIND THIS PROCESSING OF INFORMATION?
The short answer is computing! In a general way, we can define computing as any goal oriented activity requiring, benefiting from, or creating computers. Thus, computing includes designing and building hardware and software systems for a wide range of purposes (Excerpted from IEEE/ACM Computing Curricula 2005)
Activities benefiting from computing Industrial management and business administration: industrial processes, banking, government Health care: drug design, bioinformatics, biomedical devices Engineering design: civil, chemical, industrial, mechanical, electrical Computational sciences: physics, chemistry AND MANY MORE indeed, Just about everything!!!
computing systems designers The designers of software/hardware systems are mainly Computer engineers (CE) Computer scientists (CS) Software engineers (SE) Electrical engineers (EE)
Disciplinary focuses Hardware Systems EE CE CS SE Software Systems
Main conceptual items in computing categories examples OrganizationalIssues Application Technologies Software Methods and Technologies Systems Infrastructure Computer Hardware and Architecture Information systems for business, administration, etc Web services,databases, search engines, etc. Languages, programming, API, HCI, etc. Operating systems, network protocols, etc. RAM Memory, CPU, Cache, etc.
Covering the computing space with 9 bricks: Computer Science Organizational Issues Application Technologies Software Methods and Technologies Systems Infrastructure Computer Hardware and Arch. Theoretical Principles Application Deployment
Covering the computing space with 9 bricks: Software Engineering Organizational Issues Application Technologies Software Methods and Technologies Systems Infrastructure Computer Hardware and Arch. Theoretical Principles Application Deployment
Covering the computing space with 9 bricks: Computer Engineering Organizational Issues Application Technologies Software Methods and Technologies Systems Infrastructure Computer Hardware and Arch. Theoretical Principles Application Deployment
Computer engineering Computer engineering is concerned with the design and construction of computer and computer based systems. It involves the study of hardware, software, communications and interactions between them. (Excerpted from Computing Curricula 2005) Computer based systems are devices such as: cell phones, digital audio players, digital video recorders, alarm systems, x ray machines, laser surgical tools, scanners, robots, among many others devices that have software and hardware embedded in them (i.e. embedded systems)
As scientists and engineers we are primarily concerned with the quantitative analysis of systems, and the development of techniques for design, control, and the explicit measurement of system performance based on well-defined criteria. (C.G. Cassandras, S. Lafortune; Introduction to Discrete Event Systems, Springer Verlag 1999) SYSTEMS AND MODELS: WHAT IS ALL THIS ABOUT?
Defining systems System: A combination of components that act together to perform a function not possible with any of the individual parts. (Excerpted from IEEE Standard Dictionary of Electrical and Electronic Terms) Remarks: There are natural (ex. ecological systems) and artificial or man made systems (ex. any engineering system) A system is always associated with a function presumably intended to perform
Models A Modelof a system is an abstract representation of a system that allows for investigating its properties and predicting its outcomes A good model is: Simple enough to facilitate the analysis of the system but, Capable of representing accurately all the features of the system that need to be analyzed
Example of a model for a natural system: planetary systems
A detail of the model: gravitational attraction The planetary system is modeled around the action of gravitational forces
Example of analysis, prediction What is the magnitude of the force exerted by the shaded band?
The model admits a simple mathematical analysis The magnitude of the force due to the shaded band is Since there is partial cancellation due to the vector nature of the force, the leftover force component is By shrinking the width of each band, and increasing the number of bands, the sum becomes an integral expression: Since Gand mare constants, they may be taken out of the integral: Making a change of variables using the law of cosines and density and surface area considerations one gets: Could have been much worse!!!
Observing a system: parameters and states Parameters of a systemare place holders for values (variables) that may be observed in the system Example: Some parameters of the planetary system are the positions of the planets relative to the sun, speed of rotation of each planet, velocity of translation, etc State of a system: Is a set of values for the parameters of the system at a particular instant of time Example: the exact positions of the planets with respect to the sun at a particular instant is a state of the planetary system
Some states of the inner planets in the sun s planetary system State of the system at January 1 st State of the system at March 31 st
Continuous state and discrete state systems A system s model is continuous if its state parameters change continuously with time Ex. The planetary system is continuous A systems is discrete if the changes in its state parameters occurs in jumps in time. This is, there are continuous intervals of time within no changes in the values of the parameters are observed Ex. A on off electrical switch
As computer engineers we are primarily concerned with the quantitative analysis of systems, and the development of techniques for design, control, and the explicit measurement of computing system performance based on well-defined criteria. (paraphrasing C.G. Cassandras, S. Lafortune; Introduction to Discrete Event Systems, Springer Verlag 1999) WHAT ARE THE COMPONENTS AND WHAT THE STATES OF A COMPUTING SYSTEM?
Components of hardware systems A general purpose computer has four main components: the arithmetic and logic unit (ALU), the control unit, the memory, and the input and output devices (collectively termed I/O) The control unit, ALU, registers, and basic I/O (and often other hardware closely linked with these) are collectively known as a central processing unit (CPU). Early CPUs were composed of many separate components but since the mid-1970s CPUs have typically been constructed on a single integrated circuit called a microprocessor.
Software systems The term software system is a synonym of computer program or software. As such, its main components are: A finite set of instructions (program) A finite set of data Major categories of software systems include application software programming software and system software
Computing systems are discrete state systems Computing systems change states in intervals of time called clock cycles. A clock cycle lasts only a few nanoseconds in modern microprocessors The clock rate is the fundamental rate in cycles per second(measured in hertz) at which a computer executes its most basic instructions (atomic instructions) Cycles per instruction (CPI) is the number of clock cycles it takes to execute a non -atomic instruction such as transferring data from one register to another, or comparing two symbols
Modeling software systems A software system is often: modeled with: logical statements for representing the instructionsand mathematical objects representing the data Sets representing statesand relations representing state transitions; analyzed for correctness using the rules of logic; and its complexity (how long does it takes to complete the process and/or how much memory space is necessary) is estimated using discrete mathematics and statics
New computing models and paradigms are constantly sought Von Neumann s architecture consists of general purpose hardware with application-specific software running on top of it Richard Newton, Dean of Berkeley s College of Engineering and former professor of EECS at Berkley is quoted saying It used to be: given an Intel Pentium give us the best computer [...]. The new way is to ask: given the specifications for what I need, how do I best implement it. He adds, Von Neumann messed us all up by giving us a particular model that entrapped us. Now we have to undo all that, which is painful and slow ( Berkeley s EECS: More than a century of interconnections, 2007)
And theory is essential The inherent complexity of modern computer based systems demands a solid theoretical background for systems modeling and design Paul Penfield, a former MIT Professor, is quoted saying "A hundred years ago, the department had a 'shop culture' that reflected the electrical industry at the time. Today, there is a more abstract, theoretical character to what we expect our students to know," (John Guttag, The Electrons and the Bits: EECS at MIT 1902-2002, MIT Press, 2002).
Organizational Issues Application Technologies Software Methods and Technologies Systems Infrastructure So, what is this course all about? Computer Hardware and Arch. Answer:This course is about some theoretical principles behind the modeling, design and analysis of software systems Theoretical Principles Application Deployment