topical media & game development

talk show tell print

object-oriented programming

This chapter explored the notion of software architecture, and in particular how both problem-related issues and technological constraints determine the adoption of a particular architectural style.

Elements of architecture


slide: Section 7.1: Elements of architecture

In section 1, we looked at a number of definitions of the notion of software architecture, including the definition given in  [Practice]. We also looked at the technological infrastructure underlying client/server architectures and discussed some selected distributed object patterns.

Case study -- multimedia feature detection


  • feature grammar -- structure
  • embedded logic -- rules for recognition
  • architecture -- multimedia information system

slide: Section 7.2: Case study -- multimedia feature detection

In section 2, we looked at an experimental musical feature detector, as an example architecture, that uses both a grammar to describe the structural properties of the media items involved, and (embedded) logic to express the rules governing the determination of properties and the retrieval of specified media items.

Crossing boundaries


  • embedded logic -- crossing the paradigm boundary
  • native objects -- crossing the language boundary
  • combining Java and C++

slide: Section 7.3: Crossing boundaries

In section 3, we discussed some of the implications of the architecture sketched in section 2. We looked at embedded logic, as an example of crossing paradigm boundaries, and native objects, as an example of crossing language boundaries. In addition, some of the technical details involved in coupling (native) C++ objects to Java objects were presented.

Architectural patterns and styles


  • technology matrix -- from technology to style
  • case study -- visualization perspectives

slide: Section 7.4: Architectural patterns and styles

In section 4, we discussed how to decide which architectural style to adopt, based on technological constraints on the one hand and application requirements on the other hand. As an illustration, we discuss the alternatives that may arise when realizing an extension to a distributed visualization architecture.

Cross-platform development


  • from Unix to Windows -- AT&T U/Win, Cygnus GNU-win32
  • from Windows to Unix -- Wind/U, Mainwin

slide: Section 7.5: Cross-platform development

Finally, in section 5 we discussed some of the solutions that are available for platform-independent and cross-platform development.

(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.