Physical Programming: Beyond Mere Logic

  • Bran Selic
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2491)


Conventional wisdom encourages software designers to take a Platonic approach to design; they are instructed to focus on ensuring the correctness of the logic of their software while playing down or even ignoring the generally unpleasant characteristics of the underlying computing platform. However, as software systems become increasingly more integrated into our everyday activities, this approach can be highly counterproductive. For example, when a software system is distributed over multiple physically distinct platforms, seemingly mundane things such as transmission delays or component failures can have a critical impact on program logic. The widely-held view that physical concerns only matter in highly specialized domains, such as real-time or fault-tolerant systems, leaves us singularly unprepared for the coming generation of Internet-based software. In this talk, we first examine the different ways in which software logic can be affected by its physical context. We then outline a conceptual framework for extending traditional software engineering concepts to deal with these issues.


Virtual Machine Engineering Discipline Object Management Group Physical Program Physical Type 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Fischer, M., Lynch, N., and Paterson, M.: Impossibility of Distributed Consensus with One Faulty Process, Journal of the ACM, (32,2) (1985) 374–382zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Halpern, J. and Moses, Y.: Knowledge and Common Knowledge in a Distributed Environment, Proceedings. of the 3rd ACM Symposium on Principles of Distributed Systems, (1984) 50–61.Google Scholar
  3. 3.
    Lamport, L.: Time, Clocks, and the Ordering of Events, Communications of the ACM, (21,7) (1978) 558–565zbMATHCrossRefGoogle Scholar
  4. 4.
    Matena, V. and Stearns, B.: Applying Enterprise JavaBeans-Component-Based Development for the J2EE Platform, Addison Wesley, New York (2001)Google Scholar
  5. 5.
    Microsoft Corporation: What is Microsoft.NET? ( (2002).
  6. 6.
    Object Management Group (OMG): Model Driven Architecture-A Technical Perspective, OMG document ormsc/01-07-01, ( (2001)
  7. 7.
    Object Management Group (OMG): UML Profile for Schedulability, Performance, and Time, OMG document ptc/02-03-02 ( (2002)
  8. 8.
    Saltzer, J., Reed, D., and Clark, D.: End-to-end Arguments in System Design, ACM Transactions in Computer Systems, (2,4) (1984) 277–288CrossRefGoogle Scholar
  9. 9.
    Wang, W-L.: Beware the Engineering Metaphor, Communications of the ACM, (45,5) (2002) 27–29CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Bran Selic
    • 1
  1. 1.Rational Software CanadaKanataCanada

Personalised recommendations