Advertisement

Introduction

The component paradigm starts with the assertion of an assembly-oriented view of software engineering, building software applications by wiring together the ports and connectors of a set of pre-fabricated parts (components) within a component context. This paradigm is an evolution of the notion of the object paradigm: an object having identity, state, and behavior; a component exposing services, contracts, and manners and is, most importantly, configurable without requiring intrusive changes for using it [1]. Modularization and separation of concerns (for example, interface from implementation) are key elements of this paradigm. Parnas stated in 1972 that modules, or as they have evolved today, components, have boundaries defined by how we choose to hide, not just data or methods, but design decisions [2]. These design decisions often pertain to a component's manners: the rules governing how it behaves in a context. This externalization process adds a further dimension of separation of concerns by allowing data, behavioral specification, and even a business language to be externalized as metadata to be used to modify the contextual behavior of the component at runtime. In this special section, we explore the problems and solutions encountered in industry and academia around the world when using the component paradigm in building software systems?specifically, to support business domains.

Facilitating Career Changes Into IT

While the IT worker shortage is well documented, traditional institutions of higher education, even operating at full capacity, will not fill this shortage in a timely manner [2, 3]. The enormous growth of industry certification programs has likewise not succeeded in closing this gap [1]. The U.S. Congress has been pressured to allow the importation of more international IT workers; but even with an increase in the H1-B visa allotment to 200,000 for 2002 and beyond, the shortage will not go away anytime soon [4]. No silver-bullet solution to the IT worker shortage exists; multiple and creative ways to attack this problem are needed. One source of IT labor that may not be fully utilized is the movement of non-IT workers to the IT profession. Traditionally, this involves returning to college for a second bachelor's or graduate degree in an IT-related field. Completing such a program while remaining employed typically takes from two to six years and a correspondingly high level of dedication and sacrifice. There are likely more workers who would make this move to IT if there were more reasonable and practical ways to accomplish it.

The Decline and Fall of the American Programmer

In his 1991 book, The Decline and Fall of the American Programmer, Ed Yourdon wrote: "The American Programmer is about to share the fate of the dodo bird. By the end of this decade, I foresee massive unemployment among the ranks of American programmers, systems analysts, and software engineers. Not because fifth-generation computers will eliminate the need for programming, or because users will begin writing their own programs. No, the reason will be far simpler: international competition will put American programmers out of work, just as Japanese competition put American automobile workers out of work in the 1970s."1

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More