11.07.2015 Views

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

Encyclopedia of Computer Science and Technology

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

data acquisition 129For example, an abstract stack data type includes astructure for storing data (such as a list or array) <strong>and</strong> aset <strong>of</strong> operations, such as “pushing” an integer onto thestack <strong>and</strong> “popping” (removing) an integer from the stack.(For the process <strong>of</strong> combining data <strong>and</strong> operations into asingle entity, see encapsulation.) Abstract data types canbe implemented directly in object-oriented programminglanguages (see class, c++, Java, <strong>and</strong> Smalltalk).One advantage <strong>of</strong> using abstract data types is that itseparates a structure <strong>and</strong> functionality from its implementation.In designing the abstract stack type, for example,one can focus on what a stack does <strong>and</strong> its essential functions.One avoids becoming immediately bogged downwith details, such as what sorts <strong>of</strong> data items can be placedon the stack, or exactly what mechanism will be used tokeep track <strong>of</strong> the number <strong>of</strong> items currently stored. Thisapproach also avoids “featuritis,” the tendency to see howmany possible functions or features one can add to thestack object. For example, while it might be useful to give astack the ability to print out a list <strong>of</strong> its items, it is probablybetter to wait until one needs such a capability than to burdenthe basic stack idea with extra baggage that may makeit more cumbersome or less efficient.An abstract data type or its embodiment, a class, is notused directly by the program. Rather, it is used to create anentity (object) that is a particular instance <strong>of</strong> the abstractdata type (for example, an actual stack that will be usedto manipulate data). The data stored inside the object isnot accessed directly, but through functions that the objectreceives from the abstract data type (such as the push <strong>and</strong>pop operations for a stack). (For more information abouthow such objects are used, see class.)Because the abstract data type is not directly used bythe program, the implementation <strong>of</strong> how the data is storedor manipulated can be changed without affecting programsthat use objects <strong>of</strong> that type. This information hiding isone <strong>of</strong> the chief benefits <strong>of</strong> object-oriented programming.Another advantage is inheritance, the ability to derive morespecialized versions <strong>of</strong> the abstract data type or class. Thus,one can create a derived stack class that includes the printingfunction mentioned earlier.the ASCII character code for the key pressed. Moving themouse sends a stream <strong>of</strong> signals that are proportional to therotation <strong>of</strong> the ball which in turn is calibrated into a series<strong>of</strong> coordinates <strong>and</strong> ultimately to a position on the screenwhere the cursor is to be moved. Digital cameras <strong>and</strong> scannersconvert the varying light levels <strong>of</strong> what they “see” intoa digital image.Besides the devices that are familiar to most computerusers, there are many specialized data acquisition devices(DAQs). Indeed, most instruments used in science <strong>and</strong>engineering to measure physical characteristics are nowdesigned to convert their readings into digital form. (Sometimesthe instrument includes a processor that provides arepresentation <strong>of</strong> the data, such as a waveform or graph. Inother cases, the data is sent to a computer for processing<strong>and</strong> display.)Components <strong>of</strong> a Data Acquisition SystemThe data acquisition system begins with a transducer,which is a device that converts a physical phenomenon(such as heat) into a proportional electrical signal. Transducersinclude devices such as thermistors, thermocouples,<strong>and</strong> pressure or strain gauges. The output <strong>of</strong> the transduceris then fed into a signal conditioning circuit. The purpose<strong>of</strong> signal conditioning is to make sure the signal fits intothe range needed by the data processing device. Thus theFurther ReadingCarrano, Frank M. Data Abstraction <strong>and</strong> Problem Solving with C++:Walls <strong>and</strong> Mirrors. 4th ed. Reading, Mass.: Addison-Wesley,2004.“Introduction to Data Abstraction.” MIT Press. Available online.URL: http://mitpress.mit.edu/sicp/full-text/sicp/book/node27.html. Accessed July 3, 2007.K<strong>of</strong>fman, Elliot B., <strong>and</strong> Paul A. T. Wolfgang. Objects, Abstraction,Data Structures <strong>and</strong> Design Using Java Version 5.0. New York:Wiley, 2004.data acquisitionThere are a variety <strong>of</strong> ways in which data (facts or measurementsabout the world) can be turned into a digitalrepresentation suitable for manipulation by a computer. Forexample, pressing a key on the keyboard sends a signal thatis stored in a memory buffer using a value that representsData acquisition is the process <strong>of</strong> gathering real-time data fromscientific instruments <strong>and</strong> making it available in digital form. Sensorsignals are “conditioned” by filtering extraneous values, <strong>and</strong>are then sampled <strong>and</strong> digitized. S<strong>of</strong>tware can now provide elaborategraphic displays as well as alert scientists to unusual readings.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!