By Topic

Making Abstraction Concrete

Sign In

Cookies must be enabled to login.After enabling cookies , please use refresh or reload or ctrl+f5 on the browser for the login options.

Formats Non-Member Member
$31 $13
Learn how you can qualify for the best price for this item!
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button

puzzle piece

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles, conference papers, standards, eBooks, and eLearning courses.

Learn more about:

IEEE membership

IEEE Xplore subscriptions

1 Author(s)
Selic, B. ; Malina Software Corp., Nepean, ON, Canada

Summary form only given. Abstraction is the very essence of architectural specification and modeling. Consequently, as we develop a proper theoretical underpinning for model-based engineering methods, it is crucial for us to understand more precisely what is involved in moving from a concrete specification of some system to a more abstract one (or vice versa). Well-known abstraction patterns, such as layering, encapsulation, hierarchical (de)composition, and the like are quite common and have been used since the earliest days of software design. However, they are typically specified informally using ambiguous inconclusive language, which can lead to confusion and misunderstandings that are difficult to detect. For example, hierarchical decomposition and layering, which are semantically distinct patterns, are often confused with each other due to their syntactical similarity. In this talk, we identify a starter set of common and reversible abstraction patterns - that is, patterns that relate a concrete representation with a corresponding abstract one - giving precise formal descriptions of the mappings involved in each. This serves not only to clarify what actually happens in the process of abstraction but, perhaps even more importantly, it can serve as a basis for automating some of the mechanical aspects involved in moving between models at different levels of abstraction. This, in turn, enables computer-based traceability between such models. Moreover, such a precise specification of these transformations can mitigate one of the major hazards of abstraction whereby highly relevant information is erroneously dropped from consideration.

Published in:

Software Architecture (WICSA), 2011 9th Working IEEE/IFIP Conference on

Date of Conference:

20-24 June 2011