Publication | Closed Access
Roles: conceptual abstraction theory and practical language issues
159
Citations
0
References
1996
Year
EngineeringObject-oriented ModelingSoftware SystemsSoftware EngineeringObject OrientationSemanticsSoftware AnalysisRole PropertiesConceptual AbstractionObject SystemLanguage StudiesObject-oriented DesignFormal SemanticsProgramming LanguagesKnowledge RepresentationDesignComputer SciencePhilosophy Of LanguageSoftware DevelopmentFormal MethodsAbstraction (Computer Science)Object-oriented ProgrammingConceptual Abstraction TheoryLinguisticsAbstraction Technique
The notion of a role of an object subsumes a set of properties of the object. The identification of such sets of properties is important for an object in order to be able to behave in a certain way expected by other objects. The role represents the perspective of some objects, and the perspective enforces properties onto the object in question, —properties that are only present due to the perspective. Role properties must be accepted by an object itself, and recognized by the clients of the object as well. The notion of role may be seen both theoretically from a conceptual abstraction point of view, and also as a practical programming language mechanism. Conceptual abstraction is an approach to programming which takes its outset in the importance of supporting human abstraction processes directly in the notations used for software development. Conceptual programming therefore demands that the same abstraction processes are supported at the analysis, design, and implementation levels. Given a general, abstract understanding of roles, experimental work is necessary to introduce the role concept into concrete object-oriented programming languages. The key issues from experiments with the BETA and Smalltalk languages are addressed in detail. © 1996 John Wiley & Sons, Inc.