Your browser does not support JavaScript!
http://iet.metastore.ingenta.com
1887

Abstraction classes in software design

Abstraction classes in software design

For access to this article, please select a purchase option:

Buy article PDF
£12.50
(plus tax if applicable)
Buy Knowledge Pack
10 articles for £75.00
(plus taxes if applicable)

IET members benefit from discounts to all IET publications and free access to E&T Magazine. If you are an IET member, log in to your account and the discounts will automatically be applied.

Learn more about IET membership 

Recommend Title Publication to library

You must fill out fields marked with: *

Librarian details
Name:*
Email:*
Your details
Name:*
Email:*
Department:*
Why are you recommending this title?
Select reason:
 
 
 
 
 
IEE Proceedings - Software — Recommend this title to your library

Thank you

Your recommendation has been sent to your librarian.

We distinguish three abstraction strata in software design statements: (i) Strategic design statements (‘architectural design’) determine global constraints, such as programming paradigms, architectural styles, component-based software enginering standards, design principles, and law-governed regularities; (ii) Tactical design statements (‘detailed design’) determine local constraints, such as design patterns, programming idioms, and refactorings; (iii) Implementation statements determine specific properties of the implementation, such as a class diagrams and program documentation. Seeking to ground this intuition in a well-defined vocabulary, we define two criteria of distinction in mathematical logic. We present the Intension/Locality hypothesis, postulating that the spectrum of software design statements is divided into three well-defined ‘abstraction classes’ as follows: (i) the class of non-local statements (N L) contains Strategic statements; (ii) the class of local and intensional statements (L I) contains Tactical statements; and (iii) the class of local and extensional statements (L E) contains Implementation statements. We demonstrate a broad range of software design statements that corroborate our hypothesis. We conclude with a proof of the architectural mismatch theorem, according to which architectural mismatch arises from attempting to combine components that assume conflicting non-local statements.

References

    1. 1)
      • D.E. Perry , A.L. Wolf . (1992) Foundation for the study of software architecture’. ACM SIGSOFT Softw. Eng. Notes.
    2. 2)
      • D. Garlan , R. Allen , J. Ockerbloom . Architectural mismatch or, why it's hard to build systems out of existing parts. IEEE Softw. , 6 , 17 - 26
    3. 3)
      • Lieberherr, K.J., Holland, I., Riel, A.: `Object-oriented programming: an objective sense of style', Proc. Conf. Object-Oriented Programming Systems, Languages and Applications – OOPSLA, 25–30 Sep. 1988, San Diego, CA, p. 323–334.
    4. 4)
      • Eden, A.H.: `Formal specification of object-oriented design', Int. Conf. Multidisciplinary Design in Engineering CSME-MDE, 21–22 Nov. 2001, Montreal, Canada.
    5. 5)
      • M. Abadi , L. Cardelli . (1996) A theory of objects.
    6. 6)
      • J. Rumbaugh , I. Jacobson , G. Booch . (1998) The unified modeling language reference manual.
    7. 7)
      • Helm, R., Holland, I.M., Gangopadhyay, D.: `Contracts: specifying behavioural compositions in object-oriented systems', Proc. Conf. Object-Oriented Programming Systems, Languages and Applications—OPPSLA, 21–25 Oct. 1990, Ottawa, Canada.
    8. 8)
      • J. Rumbaugh , M. Blaha , W. Premerlani , F. Eddy , W. Lorenson . (1991) Object oriented modeling and design.
    9. 9)
      • J. Derrick , E. Boiten . (2001) Refinement in Z and Object-Z: foundations and advanced applications.
    10. 10)
      • M.L. Scott . (2000) Programming languages pragmatics.
    11. 11)
      • Eden, A.H.: `Strategic versus tactical design', Proc. 38th Hawaii Int. Conf. System Sciences — HICSS, 3–6 Jan. 2005, Honolulu, HI, USA.
    12. 12)
      • T. Quatrani . (1999) Visual modelling with Rational Rose 2000 and UML, revised.
    13. 13)
      • (2004) Object Management Group: Unified Modeling Language (UML), version 2.0.
    14. 14)
      • I. Craig . (2000) The interpretation of object-oriented programming languages.
    15. 15)
      • B. Stroustrup . (1986) The C++ programming language.
    16. 16)
      • C. Szyperski . (2003) Component software: beyond object-oriented programming.
    17. 17)
      • Y. Gurevich . Sequential abstract state machines capture sequential algorithms. ACM Trans. Comput. Log. , 1 , 77 - 111
    18. 18)
      • L. Bass , P. Clements , R. Kazman . (2003) Software architecture in practice.
    19. 19)
      • D. Garlan , M. Shaw , V. Ambriola , G. Tortora . (1993) An introduction to software architecture, Advances in software engineering and knowledge engineering.
    20. 20)
      • R. Turner . The foundations of specification. J. Log. Comput. , 5 , 623 - 663
    21. 21)
      • E. Gamma , R. Helm , R. Johnson , J. Vlissides . (1995) Design patterns: elements of reusable object oriented software.
    22. 22)
      • M. Fowler . (1999) Refactoring: improving the design of existing code.
    23. 23)
    24. 24)
      • J. van Gurp , J. Bosch . Design, implementation and evolution of object oriented frameworks: concepts and guidelines. Softw. Pract. Exp. , 3 , 277 - 300
    25. 25)
      • Eden, A.H., Turner, R.: `Towards an ontology of software design: The Intension/Locality hypothesis', 3rdEuropean Conf. Computing and Philosophy – ECAP, 2–4 Jan. 2005, Västerås, Sweden.
    26. 26)
      • Eden, A.H., Hirshfeld, Y.: `Principles in formal specification of object oriented architectures', Proc. Conf. Centre for Advanced Studies on Collaborative Research–CASCON, 5–8 Nov. 2001, Toronto, Canada.
    27. 27)
      • E.N. Zalta . (2003) Frege's logic, theorem, and foundations for arithmetic, The Stanford encyclopedia of philosophy.
    28. 28)
      • R. Monson-Haefel . (2000) Enterprise JavaBeans.
    29. 29)
      • Hou, D., Hoover, H.J.: `Towards specifying constraints for object-oriented frameworks', Proc. 2001 Conf. Centre for Advanced Studies on Collaborative Research – CASCON, 5–8 Nov. 2001, Toronto, Canada.
    30. 30)
      • J. Barwise . (1977) Handbook of mathematical logic.
    31. 31)
      • R. Johnson , B. Foote . Designing reusable classes. J. Object-Oriented Program. , 5 , 22 - 35
    32. 32)
      • (1999) Java Naming and Directory Interface.
    33. 33)
      • C.A.R. Hoare . (1985) Communicating sequential processes.
    34. 34)
      • R.W. Sebesta . (1999) Concepts of programming languages.
    35. 35)
      • Eden, A.H., Kazman, R.: `Architecture, design, implementation', Proc. 25th Int. Conf. Software Engineering – ICSE, 3–10 May 2003, Portland, OR, USA.
    36. 36)
      • Software Engineering Institute, Carnegie Mellon University, 2002. http://www.sei.cmu.edu.
    37. 37)
      • S.A. Cook , R.A. Reckhow . Time-bounded random access machines. J. Comput. Syst. Sci. , 354 - 475
    38. 38)
    39. 39)
      • F. Buschmann , R. Meunier , H. Rohnert , P. Sommerlad , M. Stal . (1996) Pattern-oriented software architecture – a system of patterns.
    40. 40)
      • W. Pree . (1995) Design patterns for object-oriented software development.
    41. 41)
      • N. Minsky . Law-governed regularities in object systems. Part 1: principles. Theor. Pract. Object Syst. , 4 , 283 - 301
    42. 42)
      • Kazman, R.: `A new approach to designing and analyzing object-oriented software architecture', Conf. Object-Oriented Programming Systems, Languages and Applications – OOPSLA, 1–5 Nov. 1999, Denver, CO, USA.
http://iet.metastore.ingenta.com/content/journals/10.1049/ip-sen_20050075
Loading

Related content

content/journals/10.1049/ip-sen_20050075
pub_keyword,iet_inspecKeyword,pub_concept
6
6
Loading
This is a required field
Please enter a valid email address