Gary F. Templeton

Object-Oriented Programming of Integrated Circuits New programming architecture is revolutionizing how programmers control hardware circuitry.

he promise of field pro- Camosun University in Canada, fier, oscillator, timer, counter, grammable integrated cir- and Purdue and Princeton Uni- computer memory, or micro- Tcuits (FPIC) is that they versities in the U.S. OOPIC has processor, have made it possible may someday allow end users to spawned at least one company, to program and revise the logic tailor hardware devices to their Magnevation (www.magneva- portion of integrated circuits after needs. But developing FPICs has tion.com/), as well as collabora- manufacture. Depending on the traditionally been arduous, and procedural programming inter- faces have hmited the expansion ofthe installed base of ICs [2]. Enter Scott Savage, founder and president of Savage Innovations (www.oopic.com), who has developed the first object-ori- ented methodology for encod- ing FPICs. The new programming architecture, OOPIC Programming Interface Programmable Hardware named OOPIC (Object-Ori- OOPIC Controller Device ented Programmable Integrated Circuits), is revolutionizing how programmers and the applica- tions between Savage Innovations The structure of the OOPIC development tions they develop control hard- environment. and several others. ware circuitry. The general-purpose OOPIC device The integrated circuit, one of application, FPICs return a series facilitates hardware programming the most technologically influen- of analog or digital values used to using common OO program- tial innovations ofthe twentieth control hardware. FPICs are val- ming languages (Visual Basic, century 13], is used primarily to ued by users, who include hard- Java, or C). The technique, develop analog and digital logic ware programmers in which integrates modern gates and microprocessors. These telecommunications, industrial approaches from industrial, com- circuits have gready expanded the automation, robotics, computing, puter, electrical, and mechanical field of computer science and the research, and instrumentation, engineering, is already being functionality of a wide spectrum because they are customizable to a taught in a handful of universi- of consumer products. FPICs, specific application and facilitate ties internationally, such as which typically control hardware adaptability through reprogram- by functioning eithet as an ampli- ming. FPICs can also be repro-

COMMUNICATIONSOFTHEACM March 1003/Vol 46, No 3 IOS Technical Opinion

grammed remotely; which greatly nector, a 40-pin I/O connector, hardware objects that are quite reduces network maintenance memory sockets, network connec- different structurally. This func- costs. Due to their portability, tors, and a prototyping area. tional similarity between struc- FPlCs have expanded the Optional peripheral hardware, turally dissimilar hardware population of developers to non- such as a nonstandard fivc-volt objects makes hardware replace- manutacturers. power cord and source, can be ment much simpler with The OOPICZ programming used to adapt the OOPIC archi- OOPIC. The GUI aspect of environment t)'picaliy involves a tecture to the project. In runtime OOPIC has the potential for microcomputer, the OOPIC mode, an OOPIC can be used as expanding the population of device, the controlled hardware a standalone device with the target FPIC programmers to nonengi- device, connecting cables neers, an effect that has implications for changing (from the microprocessor Maximum Maximum to OOPIC and From Instructions Virtual Circuit the structure of the FPIC OOPIC to the target Architecture Per Second Operations Per market and industry. apparatus), and a power Second Ease of Development. cord and source for Iwo primary features of OOPIC, as illustrated in Basic Stamp ! 0.000 0 OOPIC 2,000 100,000 the OOPIC development the figure on the previ- environment simplify ous page. The OOPIC development of hardware A performance comparison between programming method was created OOPIC I and Basic Stamp 1 architectures. controls. First, the OO environ- so hardware programmers could ment allows systems analysts to capitalize on the inherent apparatus, or it can be connected conceive of complex program- strengths ot OO programming. to external hardware components, ming environment artifacts, such OOPIC uniquely binds hardware computers, and other OOPICs as procedures, data, and hardware circuitry with its software repre- using the T2C network protocol more logically than its procedural sentations. Each programmable created by Philips Semiconductor. predecessors. Examples of logical hardware component has a soft- Relative advantages of the procedures supported in the ware object counterpart in the OOPIC technique over its prede- OOPIC object library are con- OOPIC programming environ- cessors are described here. version functions, clocks, and ment. This includes PPIC-con- Ease of Use, The graphical random number generators. The trolled hardware devices as well as primary contribution of the the hardware elements contained user interface of the OOPIC pro- grammine environment is much OOPIC method is to facilitate on the OOPIC Controller. The traditionally complicated hard- most common FPIC-controlled easier to use than previous meth- ods. For example, encapsulation ware programming with a simple hardware devices are supported by interface. Examples of hardware the OOPIC programming envi- facilitates information hiding, so users are not presented with irrel- circuits supported by the OOPIC ronment. A full version of the object library are DC motors, OOPIC Programming Environ- evant system properties during application use. By encapsulating LCD displays, flame detectors, ment software is downloadable for EEPROMs, serial ports, and key- free from www.oopic.com. programming artifacts, OOPIC uniquely does not require knowl- pads. Manipulating the physical edge of electronics principles or object is a matter of manipulat- Several hardware circuits arc ing a GUI-represented logical integrated into the standard hardware mechanics. Encapsula- tion also allows developers to object, which is done at runtime OOPIC Controller: a five-piii by the user, a program, or programming connector that con- interface with software objects that look and feel very similar, another software object. Control- nects the OOPIC Controller to ling a target hardware device the PC printer port, a power con- but that represent real-world

106 March 2003/Vol. 46. No 3 COMMUNICATIONS OF THE ACM involves changing the properties The OOPIC method incorpo- world events, such as when a non- of its representative object or rates three features that allow stationary robot bumps into a writing code to do the same developers to create functionally wall. Wben such environmental thing at runtime. superior hardware control appli- occurrences trigger changes in Also, the OOPIC platform cations. First, by binding objects, object properties, predefined pro- contains an optional robot control programmers can use the OOPIC cedures can be called. Procedural device that gready simplifies the environment to create virtual cir- events in OOPIC applications can handling of hardware circuitry cuits, which help represent object be triggered by any change in a when developing robotics applica- relationships that involve contin- property. OOPIC naturally facili- tions. OricomTech (www.ori- uous monitoring or updating. tates event-driven programs by comtech.com) recently released Virtual circuits facilitate multi- representing real-world events as the BOT40, a production-levei tasking by running in the back- independent objects. As the appli- motor controller board that con- ground while the human user cation interacts with its environ- tains the most commonly used interacts with other functions. ment, the properties of OOPIC s external hardware components Multitasking represents a major event object change states, which used in hardware programming product advantage of OOPIC may in turn change the program applications. The BOT40 over traditional architectures, such flow. Creating event-driven appli- includes an OOPIC controller as the Basic Stamp. While the cations involves two additional that can be programmed to con- Basic Stamp architecture is faster steps during OOPIC develop- trol the prescribed devices and in performing single tasks, ment. First, analysts should iden- more. It allows rapid development OOPIC represents a paradigm tify the potential events and by novice programmers, who need shift in how hardware program- associated logic paths that exist in not understand even basic elec- mers can work. Savage measures alternative solutions during tronics to program hardware. processing speed in the OOPIC design. Second, the event object and associated methods should be Productivity. The inheritance by virtual circuit operations (VCO), which are instances of added to the application during of object properties within classes programming. and subclasses promises to communication between or improve programmer productiv- within objects. The table appear- The OO aspect of OOPIC ity. Remedial steps in OOPIC ing here illustrates a comparison greatly facilitates a networking application development involve using both measures for the orientation. Using the I2C net- selecting program components OOPIC I and Basic Stamp I working protocol developed by from an existing, standardized hardware versions. Philips Semiconductors, develop- class library. Tbe environment Polymorphism allows multiple ers can address up to 127 OOP- facilitates greater application flex- homogenous messages to be sent ICs in one architecture. Or, ibility by allowing OOPIC pro- to several objects simultaneously. developers can link up to 126 co- grammers to develop user- OOPIC uses polymorphism to processors to a single OOPIC defined objects and proprietary link several programmable hard- controller. The OOPIC Program- object libraries. The combined ware objects together, forming a ming Interface allows developers libraries support object reuse and library of programmable virtual to manipulate or read from any portability in subsequent devel- circuits. An object can participate property on any OOPIC con- opment projects. in several virtual circuits at a time, troller on the network. The Product Functionality. The due to the many-to-many rela- network can operate autonomously, propensity to provide greater tionship between them. allowing the controllers to manipu- application functionality and The OO platform facilitates late or read the property values of quality is another advantage of event-driven responding. FPIC one another, allowing the network OOPIC over its predecessors. applications often respond to real- nodes to control one another in a

COMMUNICATIONS OF THE ACM March 200VVol 46. No. 3 107 SIGs Announce Candidates for Election loosely-coupled environment. The In accordance with ACM Bylaw 6, thefollowing SIGs will hold elections this use of the I2C protocol gives spring: SIGARCH, SIGCHI, SIGCOMM, SIGDOC, SIGecom, SIGGRAPH, OOPIC applications potential con- SIGIR. SIGMETRICS, SIGOPS. SIGPIAN, and SIGSAM. nectivity to the Internet and wire- AGM Policy and Procedures require that those SIGs holding elections notify less architectures. their memhership oi candidates for elected offices. Below is a list ot SIG(s) that have submitted their slate of candidates in addition to those SIGs listed in the Feb- ruary issue of Communications. Recent Developments OOPIC developers need to keep SIGECOM abreast of recent developments Chair Mlchael Wellman regarding the methodology. For Running Unopposed instance, Magnevation is now Vice Chair John Riedl developing a Hght-duty develop- Daniel Menas^e ment platform for instructional Secretary/Treasurer Amy Greenwald Peter Wurman purposes. Cognitoy (www.cogni- SIGMETRICS toy.com) is developing a platform Chair Leana Golubclk to explore robotics concepts in Scott Leutenegger virtual reality, facilitating learn- Vice Chair John Lui ing about traditionally complex Philip Heidelberger mechanical, electrical, and soft- Secretary/Treasurer Martin Arlitt ware aspects of hardware pro- Robert Berry gramming. Control Your World Board of Directors Jennifer Rexford Innovations Limited (cywil.ca) is Som Borst Jean-Yves I.eBoudec developing a Web-accessible Margaret Martonosi OOPIC controller that allows Edmundo de Souza e Silva users to control hardware from a SIGOPS Web-based form. These and Chair Keith Marzullo other products promise to make Brian Bcrshad the development and use of Vice Chair Antony Rowstron hardware applications much Gilles MuJler more palatable for novices. B Secretary/Treasurer Fay Chang Andrea Arpaci-Dusseau SIGPLAN REFERENCES Chair Benjamin G. Zorn 1. Bourne, K.C.. Puiting rigor back in RAD. Michael G. Burke Database Programming and Design 7, 8 (Aug. Vice Chair Kathleen S. Fisher 1994), 25-30. Running Unopposed 2. Hsieh, H., Dong, K.. Ja, ].. Kanazawa, R., Secretary/Treasurer Jens Knoop Ngo, L.. Tinkcy. L., Carrer, W., and Free- man, R. A 9000-gace user-program mablf gate John Gregory Morrisett array. In Proceedings of the IEEE Custom Inte- Member-at-Large Phiiip Wadler grated C/niiits Conference {.May 1988). Wilson Hseih 3. PriceWaterhoiiseCoopers Technology Center. Jack W. Davidson Technology Forecast: 200I-2mj. PritcWater- Simon L. Peyton-Jones houseCoopers LLC, Menlo Park, CA. Zhong Shao David L. Dedeft GARY F. TEMPLETON (templecg@email. Charles N. Fischer uah.edu) is an assistant professor of Management Information Systems at the University of Alabama in Huntsville. In accordance with the SIG Bylaws, additional candidates may he placed on the hal- lot hy petition. All candidates must he Professional memhcrs of ACM, as well as PermissHm ru make digital ot hard copies of all or part iif members of the SIG. Anyone interested in petitioning must inform ACM Head- th 15 work for personal ortlassroom use iB^ranttd wirhoin quarters {Pat Ryan, AGM, 1515 Broadway 17th Fl., N.Y., N.Y. 10036) and the tec provided ihar fopies are not made or distribmtd tor profit or commertial advamagE and (hat copies bear [his SIG Secretary of his/her intent to petition )y March 15th. notict and tlit full citation on the first page, 'ro copy oth- erwise, to republish. to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.

O 2003 ACM 0002-0782/03/OiOO J5.0()

108 March 2003/Vol 46. No 3 COMMUNICATIONS OFTHE ACM