Cognition or Artifact
Abstraction can be understood as a cognitive process or as its outcome. With the former acceptance, the mind deliberately ignores some features when processing actual perceptions; with the latter abstractions are symbolic artifacts meant to partially describe subsets of anonymous actual objects or phenomena.
What You See Is Not What You Get (A. Gursky)
Clearly that distinction may be critical when set along modeling processes.
Abstraction as Modeling Step
Whereas abstraction is likewise a catch-all concept, things are much more specific when the concept is put to use with generalization and specialization activities.
From a modeling perspective, specialization extends objects or activities while generalization factor out features or operations. As such, they meet different needs and are required in different modeling contexts:
- Specialization is needed when new features and behaviors are taken into account and therefore added to existing descriptions. As a consequence, specialization is not supposed to modify the semantics of existing artifacts.
- Generalization is justified when artifacts modelled separately are to be consolidated, which means that subsets of features and behaviors previously defined independently will be redefined with shared semantics. Hence, and contrary to specialization, generalization is meant to modify the semantics of existing artifacts.
Generalization modifies the semantics of existing descriptions, specialization doesn’t.
In order to guarantee the traceability and transparency of models, whatever decision should be unambiguously qualified as specialization or generalization and, whenever possible, associated with specialization patterns.
Abstraction & Traceability
While extension and consolidation can be used all along the engineering process, their justification is obviously not the same for requirements and implementations. And that is to be clearly established when engineering processes are driven by models transformation.
Since specialization doesn’t affect the semantics of existing artifacts, changes in requirements can be directly mapped into their design counterparts. But that’s not the case with generalization because it affect upper levels of descriptions; as a consequence traceability has to be reconsidered for new as well as existing artifacts; for instance:
- Homing pigeons constitute an actual subset of pigeons. If new requirements introduce a functional subset for those used as carriers, its implementation can be designed without affecting existing classes, i.e traceability.
- Things are not so simple if carrier pigeons and human couriers are regrouped into a functional collection of carriers. In that case traceability between leaves will have to be redefined due to the insertion of a node with alternative designs (abstract class, interface, etc).
Specialization can be traced from requirements to design, not so for generalization.
As a matter of fact, illustrated by this example, generalization should never be used at requirements level since it may affect the design of existing components without stating it explicitly.
Abstraction & Inheritance
Abstraction would be useless were it not for inheritance, but inheritance semantics often differ depending on programming languages. That difficulty may be overcome by applying inheritance selectively depending on their target, objects or aspects.
- Specialization is straightforward as subsets can be safely defined by combining aspects with sets of identified objects (a).
- Generalization is more problematic because it entails sorting out intrinsic features from aspects. For instance, given homing pigeons and couriers, one may assume intrinsic (and external) identities for pigeons and persons, or opt for a consolidated role supporting identification independently of any physical identities (b).
More generally, the distinction between objects and aspects open the way to a consolidated object oriented approach to business and system objects.
Abstraction & Model Driven Engineering
If specialization and generalization are well-defined transformations of models, one may qualify how they should be used along the engineering process:
- Specialization can be introduced for requirements then directly mapped into design without explicit considerations to analysis models in-between.
- Generalization should not be introduced before analysis since it is meant to consolidate prior requirements. Generalization may also be used to consolidate designs.
Those principles have significant repercussions for development processes, especially for model driven ones.
Reverse engineering of legacy components is obviously first to be considered since it must be supported by direct traceability: upstream artifacts can only be retrieved along a one-to-one path from downstream implementations.
A more challenging issue pertains to the sequencing (or not) of development processes, more precisely to the debate between waterfall and agile schools of thought, with the former upholding the necessity of project milestones, and the later arguing against. If rigid dogmas are put aside, it is easy to see that decisions can only be made on a case-by-case basis: milestones are necessary when generalization is involved, iterations are safe whenever specialization is the tool of choice.
On a broader perspective, those issues can be consistently and comprehensively dealt with using a consolidated object-oriented approach, applying selective inheritance for intrinsic features on one hand, contingent aspects on the other hand:
- If the continuity and consistency of contexts and systems are to be maintained, objects and processes are to be identified uniformly. Changes at that level may therefore entail consolidation across domains and organizational units.
- That’s not the case for roles and features whose change can be safely managed at project level.
Generalization is used to consolidate domains, specialization to extend functionalities
With all models sharing a unified object-oriented semantics, selective use of generalization and specialization can be adjusted to milestones and development iterations, from requirements to implementations.
Everywhere we turn today we see specialization. The most respected and well paid doctors anddentists are often those who perform just a few procedures. Many attorneys cover just one area oflaw. Even kids are specializing in howthey play! With the spread of âtravel teamsâ whose seasons are often more than six months per year, young athletes, starting at the age of 8 or so, are now forced to choose one or two sports at the expense of all others.
Specialization produces excellenceâbut only within anarrow range of endeavor. We havebecome a society where even the narrowest of activities is treated as a sportwith its own heroes. Repetition andmastery of a very specific activity is now the model of stardom. But even Adam Smith, the famous economistwho advocated the division of labor in society, admitted that the system had amajor drawback:
The man whose whole life is spent in performing a fewsimple operations has no occasion to exert his understanding, or to exercisehis invention in finding out expedients for removing difficulties which neveroccur. He naturally loses, therefore,the habit of such exertion, and generally becomes as stupid and ignorant as itis possible for a human creature to become.(Adam Smith, The Wealth ofNations, 1776, Book 5, Part III, Chapter II)
Smith never solved this riddle: How to get all thematerial advantages of specialization while avoiding its intellectualpitfalls? But itâs clear that he saweducational reform as the best optionâhis critique of the division of labor islocated in a discussion of educational reform.
Today even college education, which used to aim to produceversatile professionals, is specialized.This has been the case for a long time; it has been a major social trendsince the end of World War II. Theexpansion of the American university system, and more precisely, the growth ofgraduate certification, is a major factor here.
Consider a B.A. student who shows promise in historicalstudies. The student can choose not tospecialize at the B.A. level but will probably opt to write a B.A. thesis on apretty focused subject, simply because a thesis is expected of those who applyto graduate school.
When the student moves on to the M.A. level, the studentwill now be required to declare a specialty, such as modern Britain. Finally, for the Ph.D. the student mustproduce a very long dissertation on a specific topic within the specialty:charity groups in early Victorian England.At this stage, generalizing and synthesizing count for little. Showing complete mastery of the particulartopic is everything.
Ironically, as the student advances through the degreesystem, he or she learns more and more about less and less.
The same is often true in the technical fields. Many students now specialize in computerscience and acquire no basic knowledge of engineering or other fields. That might be okay if the field of computerscience did not in turn break down into specialties, such as cyber security,information retrieval, and so forth.
What are the costs of this specialization? One cost is that the areas of learning thatwe call âdisciplinesâ are now exciting only to those inside of them; often,they even fail to inspire insiders for their whole career. The massiveexpansion of universities in recent decades has made it possible to producehundreds of experts on Victorian England.They can now hold their own conferences and sustain their own journals. But who benefits and who cares? Even the specialists are suffering fromdoubts about who their audience is and what their role in society as a wholeis. A tone of self-abnegation andcynicism is palpable among many academics today.
Another cost is that students rarely encounter universityteachers who think across disciplines or pose vital problems that cut throughmultiple fields. As a result, thestudents are often bored and stifled.They feel they are being tested on their disciplinary knowledge and noton their capacity to assemble the building blocks of knowledge in a creativeway.
The biggest cost is the risk that we will not haveindividuals capable of rising to the pressing needs of our time. In âInterdisciplinary Problem-BasedLearning: An Alternative to Traditional Majors and Minors,â Robert J. Sternbergof Tufts University identifies four such needs:
(1) finding a way to manageâor ideally eradicateâepidemics (e.g., AIDS, SARS, perhaps avian flu); (2) achieving ways to manageor eliminate terrorism and terrorist attacks; (3) finding ways to combat globalwarming and related changes in the atmosphere before it is too late to keep theearth habitable to humans; and (4) developing positive, effective, ethicalleaders who have at heart the best interests of all their stakeholders, ratherthan primarily their own interests or those of groups to which they feel theyowe allegiance as a result of family, tribal, political party, economic, orreligious ties.
Sternberg adds: âThese four major problems, in common withvirtually all problems facing the world, can be solved only throughmultidisciplinary thinking. They very well could form the bases forproblem-based majors and minors in university settings.â (Published in LiberalEducation, Winter, 2008, vol. 94, no. 1)
Sternberg describes a new initiative at Tufts to encouragestudents to combine diverse disciplines into specially crafted majors. However, right here at UMass Amherst, wehave had the kind of program he describes since the 1970s. The Bachelorâs Degree With An IndividualConcentration (BDIC) is a program in which students invent their owncross-interdisciplinary majors.
The student must draw on at least three disciplines andmust envision ways of applying the special major in his or her futurecareer. Examples of such majors are:âEconomics and Legal Studies,â âMarketing, Communication, and Graphic Design,ââOrganizational Development,â âInternational Peace Studies,â âComputerApplications in Finance and Economics,â âFilm and Womenâs Studies,â âCommunityHealth Education,â and âArts Administration.â
The students are energized by the fact that they constructa unique and interdisciplinary curriculum.One student wrote in her senior summary: âI can say that I truly enjoyedwhat I studied in college. After all,Iâm the one who created it.â Instead of being tested on their mastery ofa pre-existing discipline, the students get credit for being inventive. Many BDIC alumni have gone on to becomeversatile and thoughtful leaders in fields related to their specially designedmajors.
Fortunately, there is a growing trend among colleges anduniversities to offer programs like BDIC.The University of Connecticut was one of the first to follow the lead ofUMass by establishing an Individualized Major Program in 1974. More such programs have been founded inrecent years in response to the widespread disenchantment with conventionalacademic structures.
These programs are not perfect. But they provide a partial alternative to the problem ofspecialization in modern society. Todayeveryone has a responsibility to ask themselves whether they are reaching ashigh and wide as they could in their education and careers. Educators in particular need to challengethemselves. We need more academicdegrees that produce a versatile problem-solving competence, and fewer degreesthat merely attest to specialized expertise.
Or maybe we need fewer academic degrees, period. A greater willingness among universityadministrators to hire persons who have been successful in real lifeactivities, whether or not they have doctoral degrees would certainlyinvigorate the academy. Our future maywell depend on having more people who are less educated involved in theinstruction of our youth.
–Daniel Gordon is professor of history and Interim Directorof BDIC at UMass Amherst.