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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Maes, Pattie 289ing coding. However, a given procedure appears in the codeonly once, although it may be called upon from many differentparts <strong>of</strong> the program. A macro, on the other h<strong>and</strong>, is not“called.” Each time it is mentioned, the macro is replaced bythe corresponding instructions. Thus macros increase thesize <strong>of</strong> the source code.Many programmers today prefer using functions withthe appropriate code rather than macros. Using functionssaves space, since each function’s code need only appearonce. Although there is some processing overhead at runtimein calling the function, the function approach alsoensures that the data sent to the function will be checked tomake sure it is <strong>of</strong> the proper type. The macro, on the otherh<strong>and</strong>, usually leaves it up to the programmer to make surethe data type being used is appropriate.Application MacrosThe term macro is also used with applications s<strong>of</strong>tware.Here it can mean a series <strong>of</strong> comm<strong>and</strong>s (such as cursor positioningor text formatting) that are recorded <strong>and</strong> assignedto a certain key combination. For example, a word processoruser might define a macro called Letter <strong>and</strong> record thekeystrokes <strong>and</strong>/or mouse movements needed to open a newdocument, insert a letterhead from a file, update the date,insert a salutation, <strong>and</strong> position the cursor to continue writingthe letter. The recorded keystrokes might be assigned tothe key combination Control + L.More elaborate macros can be written to automate complextasks in spreadsheets <strong>and</strong> word processors. Micros<strong>of</strong>tprovides an entire language, Visual Basic for Applications(VBA), for writing macros for its Office products.Further ReadingGonzalez, Juan Pablo, et al. Office VBA Macros You Can Use Today:Over 100 Amazing Ways to Automate Word, Excel, PowerPoint,Outlook <strong>and</strong> Access. Uniontown, Ohio: Holy Macro! Books,2005.Jelen, Bill. VBA <strong>and</strong> Macros for Micros<strong>of</strong>t Office Excel 2007. Indianapolis:Que, 2007.Kochan, Stephen. Programming in C. 3rd ed. Indianapolis: Sams,2004.“Preprocessor Directives.” Available online. URL: http://www.cplusplus.com/doc/tutorial/preprocessor.html. AccessedAugust 14, 2007.Maes, Pattie(1961– )Belgian/American<strong>Computer</strong> ScientistPattie Maes is a pioneer in the creation <strong>of</strong> s<strong>of</strong>tware agents,intelligent programs that work with people to help themfind what they need online, whether it is relevant newsstories, a vacation itinerary, or a good place for a romanticdinner for two in San Francisco.Born June 1, 1961, in Brussels, Belgium, Maes was interestedin science (particularly biology) from an early age.She received bachelor’s (1983) <strong>and</strong> doctoral (1987) degreesin computer science <strong>and</strong> artificial intelligence from the University<strong>of</strong> Brussels.In 1989 Maes moved from Belgium to the MassachusettsInstitute <strong>of</strong> <strong>Technology</strong>, where she joined the ArtificialIntelligence Lab. There she worked with an innovativeresearcher who had created swarms <strong>of</strong> simple but intriguinginsectlike robots (see Brooks, Rodney). Two years laterMaes became an associate pr<strong>of</strong>essor at the MIT Media Lab,famed for innovations in how people interact with computertechnology (see MIT Media Lab). There she foundedthe S<strong>of</strong>tware Agents Group to promote the development <strong>of</strong> anew kind <strong>of</strong> computer program.These programs (see s<strong>of</strong>tware agent) have considerableautonomy <strong>and</strong> intelligence. Like a human travel or realestate agent, an agent program must have detailed knowledge<strong>of</strong> the appropriate area <strong>of</strong> expertise; the ability to askthe client questions about preferences, priorities, <strong>and</strong> constraints;<strong>and</strong> the ability to find the best deals <strong>and</strong> negotiatewith service providers.Maes’s goal has been to create s<strong>of</strong>tware agents who think<strong>and</strong> act much like their human counterparts. To carry outa task using an agent, the user does not have to specifyexactly how it is to be done. Rather, the user describes thetask, <strong>and</strong> the s<strong>of</strong>tware engages in a dialog with the user toobtain the necessary guidance.A s<strong>of</strong>tware travel agent would know—or ask about—such things as how much the user wants to spend <strong>and</strong>whether he or she prefers sites involving nature, history, oradventure. It would also ask about <strong>and</strong> take into considerationconstraints <strong>of</strong> budget, travel time, comfort, <strong>and</strong> so on.The s<strong>of</strong>tware agent would then use its database <strong>and</strong> proceduresto put together an itinerary based on the user’s needs<strong>and</strong> desires. It would not only know where to find the bestfares <strong>and</strong> rates, it would also know how to negotiate withhotels <strong>and</strong> other services. Indeed, it might negotiate withtheir s<strong>of</strong>tware agents.In 1995 Maes c<strong>of</strong>ounded Firefly Networks, a companythat attempted to create commercial applications for s<strong>of</strong>twareagent technology. Although the company was boughtby Micros<strong>of</strong>t in 1998, one <strong>of</strong> its ideas—“collaborative filtering”—canbe experienced by visitors to sites such as Amazon.com.Users in effect are given an agent whose job it is toprovide recommendations for books <strong>and</strong> other media. Therecommendations are based upon observing not only whatitems the user has already purchased, but also what elsehas been bought by people who bought those same items.More advanced agents can also tap into feedback resourcessuch as user book reviews on Amazon or auction feedbackon eBay (see social networking).A listing <strong>of</strong> Maes’s current research projects at MIT conveysmany aspects <strong>of</strong> <strong>and</strong> possible applications for s<strong>of</strong>twareagents. These include the combining <strong>of</strong> agents with interactivevirtual reality, using agent technology to create charactersfor interactive storytelling, the use <strong>of</strong> agents to matchpeople with the news <strong>and</strong> other information they are mostlikely to be interested in, an agent that could be sent into anonline market to buy or sell goods, <strong>and</strong> even a “Yenta” agentthat would introduce people who are most likely to make agood match.

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

Saved successfully!

Ooh no, something went wrong!