Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
End-to-end arguments in system design
ACM Transactions on Computer Systems (TOCS)
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Beware the engineering metaphor
Communications of the ACM - The Adaptive Web
Applying Enterprise Javabeans: Component-Based Development for the J2ee Platform
Applying Enterprise Javabeans: Component-Based Development for the J2ee Platform
Knowledge and common knowledge in a distributed environment
PODC '84 Proceedings of the third annual ACM symposium on Principles of distributed computing
Embedded Systems Design
Component-based development of dependable systems with UML
Component-Based Software Development for Embedded Systems
Hi-index | 0.00 |
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.