"2.1 Abstraction Levels: An abstraction for a software artifact is a succinct description that suppresses the details that are unimportant to software developer and emphasizes the information that is important. For example, the abstraction provided by high level programming language allows a programmer to construct the algorithms without having to worry about the details of hardware register allocation. Software typically consists of several layers of abstraction built on top of raw hardware; the lowest–level software abstraction is object code, or machine code. Implementation is a common terminology for the lowest level of detail in an abstraction. When abstraction is applied to computer programming, program behavior is emphasized and implementation details are suppressed. The knowledge of a software product at various levels of abstraction undoubtedly underlies operations regarding the maintenance and reuses the existing software components. It is, therefore natural that there is a steadying growing interest in reverse engineering, as a capable of extracting information and documents from a software product to present in higher levels of abstraction than that of code. The abstraction as the process of ignoring certain details in order to simplify the problem and so facilitates the specification, design and implementation of a system to proceed in step–wise fashion. In the context of software maintenance , four levels of reverse engineering abstraction are defined: implementation abstraction, structural abstraction, functional abstraction and domain abstraction.
Implementation abstraction is a lowest level of abstraction and at this level the abstraction of the knowledge of the language in which the system is written, the syntax and semantics of language and the hierarchy of system components (program or module tree) rather then data structures and algorithms is abstracted. Structural abstraction level is a further abstraction of system components (program or modules) to extract the program structures, how the components are related and control to each other. Functional abstraction level is a higher abstraction level, it usually achieve by further abstraction of components or sub–components (programs or modules or class) to reveal the relations and logic, which perform certain tasks. Domain Abstraction further abstracts the functions by replacing its algorithmic nature with concepts and specific to the application domain."
(Nadim Asif, 2003)
Nadim Asif (2003). "Reverse Engineering Methodology to Recover the Design Artifacts: A Case Study". International Conference on Software Engineering Research and Practice, SERP '03 Las Vegas, Nevada, USA. Volume 2.
"Sketches are obviously pictorial, for they refer to shape and orientation, and often to approximate size even if they maintain a varying degree of abstractness. Yet it is impossible to confirm that there is a direct one–to–one correspondence between shapes and figures on paper and the images they stand for. It is therefore proposed to refer to the (pictorial) reasoning evident in interactive imagery at the time of sketching as consisting of two modalities. The designer is 'seeing as' when he or she is using figural, or 'gestalt' argumentation while 'sketch–thinking'. When 'seeing that', the designer advances no figural arguments pertaining to the entity that is being designed. The process of sketching is a systematic dialectics between the 'seeing as' and 'seeing that' reasoning modalities. To examine this proposition, design moves and arguments were inspected as they are established through protocol analysis. The notion of 'seeing as' and 'seeing that' will be further elucidated as we proceed, so as to best exploit documentation from the protocols."
(Gabriela Goldschmidt 1991, p.131)
Goldschmidt, G. (1991). "The dialectics of sketching." Creativity Research Journal, Routledge 4(2): 123–143.
Fig.1 Donald Owen Colley [http://buttnekkiddoodles.com/2012/12/26/knockin–about–chicago/]
"This article works out the main characteristics of 'practice theory', a type of social theory which has been sketched by such authors as Bourdieu, Giddens, Taylor, late Foucault and others. Practice theory is presented as a conceptual alternative to other forms of social and cultural theory, above all to culturalist mentalism, textualism and intersubjectivism. The article shows how practice theory and the three other cultural–theoretical vocabularies differ in their localization of the social and in their conceptualization of the body, mind, things, knowledge, discourse, structure/process and the agent."
(Andreas Reckwitz, 2002)
Andreas Reckwitz (2002). "Toward a Theory of Social Practices: A Development in Culturalist Theorizing", European Journal of Social Theory; Vol.5, No.2; pp. 243–263 DOI: 10.1177/13684310222225432 [http://est.sagepub.com/cgi/content/abstract/5/2/243]
"Prototyping in Public Services describes an approach that can be used to help develop new and innovative services by testing ideas out early in the development cycle.
NESTA has produced a guide for policymakers, strategy leads, heads of service, commissioners and anyone else in a public service looking for new methodologies that can help them to better meet the needs of their communities. It sits alongside the Prototyping Framework: A guide to prototyping new ideas which provides examples of activities that can happen at different stages of a prototyping project.
The guide and toolkit are early outputs from our prototyping work and are based on work NESTA and its partners have been doing with several local authorities and third sector organisations. We will continue to learn about prototyping as an approach that can be used to develop public services, through our practical programmes."
"Until recently, the field of design was an adjunct to art and craft. With the transformation of design into an industrial discipline come responsibilities that the field of design studies has only recently begun to address.
This transformation means that design is becoming a generalizable discipline that may as readily be applied to processes, media interfaces or information artefacts as to tools, clothing, furniture or advertisements. To understand design as a discipline that can function within any of these frames means developing a general theory of design. This general theory should support application theories and operational programmes. Moving from a general theory of design to the task of solving problems involves a significantly different mode of conceptualization and explicit knowledge management than adapting the tacit knowledge of individual design experience.
So far, most design theories involve clinical situations or micro–level grounded theories developed through induction. This is necessary, but it is not sufficient for the kinds of progress we need.
In the social sciences, grounded theory has developed into a robust and sophisticated system for generating theory across levels. A 'grounded' theory is an inductive theory emerging or rising from the ground of direct, empirical experience. These theories ultimately lead to larger ranges of understanding, and the literature of grounded theory is rich in discussions of theory construction and theoretical sensitivity (Glaser 1978, 1992; Glaser and Strauss 1967; Strauss 1991; Strauss and Corbin 1990, 1994).
One of the deep problems in design research is the failure to engage in grounded theory, developing theory out of practice. Instead, many designers confuse practice with research. Rather than developing theory from practice through articulation and inductive inquiry, some designers mistakenly argue that practice is research. From this, they claim that practicebased research is itself a form of theory construction."
(Ken Friedman, 2008, pp.153–154)
Ken Friedman (2008). "Research into, by and for design." Journal of Visual Arts Practice Volume 7 Number 2. Intellect Ltd. Article. English Language. doi: 10.1386/jvap.7.2.153/1