Arnon Rotem-Gal-Oz's Cirrus Minor
"Making IT work" - Musings of a Holistict Architect
Navigation for Arnon Rotem-Gal-Oz's Cirrus Minor - 10 Papers Every Software Architect Should Read (At Least Twice)
Content
Sidebar
Footer
February 27, 2009
@ 10:20 PM
Comments [4]
10 Papers Every Software Architect Should Read (At Least Twice)
Earlier today I read a post by
Michael Feathers Called "10 Papers Every Developer Should Read (At Least Twice)
. I knew some of the articles mentioned there and learnt about few interesting ones.I liked it so much, I thought I'd compile a similar list for software architects - based on stuff I read over the years.
1.
The Byzantine Generals Problem
(1982) by Leslie Lamport, Robert Shostak and Marshall Pease - The problem with distributed consensus
2.
Go To statements considered harmfull
(1968) - by Edsger W. Dijkstra - Didn't you always want to know why ? :)
3.
A Note on Distributed Computing
(1994) - by Samuel C. Kendall, Jim Waldo, Ann Wollrath and Geoff Wyant - Also on Michael's list but it is one of the foundation papers on distributed computing
4.
Big Ball of Mud
(1999) - Brian Foote and Joseph Yoder -
patterns or anti-patterns?
5.
No Silver Bullet Essence and Accidents of Software Engineering
(1987) - Frederick P. Brooks - On the limitations of Technology and Technological innovations.
6.
The Open Closed Principle
(1996) - Robert C. Martin (Uncle Bob) - The first in a series of articles on Object Oriented Principles (you remember the
debate on SOLID.
..)
7.
IEEE1471-2000 A recommended practice for architectural description of software intensive systems
(2000) various- It is a standard and not a paper but it is the best foundation for describing a software architecture I know.
8.
Harvest, Yield, and Scalable Tolerant Systems
(1999) Armando Fox, Eric A. Brewer - That's where the CAP theorem was first defined
9.
An Introduction to Software Architecture
(1993) - David Garlan and Mary Shaw - one of the foundation articles of software architecture field (although based on earlier work by the two)
10.
Who Needs an Architect?
(2003) Martin Fowler - Do we or don't we?
I could come up with quite a few more articles not to mention books that aren't in this list. However these are definitely some of the most influential papers I read.
Tags:
data
|
Design
|
OO
|
Software Architecture
Related posts:
SPAMMED Architecture Framework (SAF)
SOA Anti-pattern: Nanoservices
SOA Patterns book – your opinion needed
Yes to NoSQL
Architectural requirements Q&A
Evolving Architectures – Part II but Design is emergent
« Implementing a WCF service firewall part...
|
Home
|
Implementing a WCF service firewall part... »
Saturday, February 28, 2009 10:57:51 AM (GMT Standard Time, UTC+00:00)
Absolutely amazing list.
People should do more of these...
Thanks :)
Ofer
Saturday, February 28, 2009 8:19:56 PM (GMT Standard Time, UTC+00:00)
I like each item in the list individually. But inclusion of the Byzantine Generals paper is interesting - it's certainly a seminal paper, but it's not the One True Consensus Paper. All Byzantine fault tolerance requires is more messages and more replicas - a high cost but not a game-changing one.
For the real problem with consensus, try 'Impossibility of Consensus With One Faulty Process' by Fisher, Lynch and Patterson, which proves that consensus is unsolvable in asynchronous systems. This really shook people up, and gave rise to a whole lot of work, in particular Paxos.
Henry
Sunday, March 01, 2009 12:12:15 PM (GMT Standard Time, UTC+00:00)
@Henry: I though the Byzantine General's paper is what led to Paxos esp. considering the Leslie Lamport is responsible for both.I also think it is very approachable and presents the problem with distributed consensus well.
In any event the list represents just a few of the worthy articles out there :)
Arnon Rotem-Gal-Oz
Sunday, March 01, 2009 1:08:38 PM (GMT Standard Time, UTC+00:00)
Arnon -
No, Paxos is a protocol that solves consensus in partially synchronous systems, and unlike other consensus protocols does not sacrifice correctness if there is a period of asynchrony. It's not Byzantine fault tolerant - Byzantine failures allow participants to arbitrarily diverge from the protocol and you therefore need to add some well-behaved nodes to out-vote any misbehaving ones.
It's an interesting problem, and I don't disagree with you including the paper on your list. I'm just pointing out that the problems with distributed consensus run deeper than that.
Henry
Henry
Comments are closed.
Navigation
Home
Papers, Articles & Presentations
SPAMMED Architecture Framework
SOA Patterns
About Me
Featured Presentations & Papers
REST introduction (ppt)
SOA Pattern Presentation (pdf)
Fallacies of Distributed Computing (pdf)
Getting SPAMMED for architecture (pdf)
OO Primer (ppt)
Use Case Methodology for large systems (pdf)
Software Architecture (ppt)
Service Oriented Architecture - Intro (ppt)
What is SOA anyway? (pdf)
(New) SOA Patterns Presentation (pdf)
More...
SOA Patterns Book
Published Patterns
Edge Component (pdf)
Gridable Service (pdf)
Service Firewall (html @ InfoQ)
Saga (pdf)
The Knot Antipattern (pdf)
Blogjecting Watchdog (pdf)
Reservation (pdf)
What I am reading
Subscribe to RSS headline updates from:
Tag Cloud
.NET (80)
A&D2007 (6)
Agile (27)
BI (2)
Cloud Computing (3)
dasBlog (1)
data (6)
Design (26)
ESB (2)
Everything (200)
Functional Languages (1)
General (67)
Google (1)
iPhone (1)
Java (9)
Mobile (3)
Mono (1)
new (4)
OO (15)
PaperLnx (6)
Papers (4)
Programming (1)
Project Management (11)
Q&A (3)
refactoring (1)
Requirements (3)
REST (21)
RIA (4)
ruby (8)
scalability (6)
SCRUM (2)
SOA (105)
SOA Patterns (51)
Software Architecture (203)
SPAMMED Process (35)
TDD (8)
Trends (5)
Trends (9)
WCF (8)
xsights (7)
Archives
May, 2010 (2)
April, 2010 (3)
March, 2010 (2)
January, 2010 (2)
December, 2009 (1)
November, 2009 (3)
October, 2009 (3)
September, 2009 (5)
August, 2009 (3)
July, 2009 (1)
June, 2009 (3)
May, 2009 (4)
April, 2009 (2)
March, 2009 (3)
February, 2009 (3)
January, 2009 (5)
December, 2008 (8)
November, 2008 (6)
October, 2008 (4)
September, 2008 (4)
August, 2008 (8)
July, 2008 (6)
June, 2008 (5)
May, 2008 (4)
April, 2008 (4)
March, 2008 (6)
February, 2008 (3)
January, 2008 (5)
December, 2007 (9)
November, 2007 (6)
October, 2007 (11)
September, 2007 (11)
August, 2007 (10)
July, 2007 (9)
June, 2007 (9)
May, 2007 (9)
April, 2007 (6)
March, 2007 (4)
February, 2007 (2)
January, 2007 (5)
December, 2006 (4)
November, 2006 (3)
October, 2006 (4)
September, 2006 (2)
August, 2006 (4)
July, 2006 (3)
June, 2006 (4)
May, 2006 (10)
April, 2006 (8)
March, 2006 (8)
February, 2006 (6)
January, 2006 (6)
December, 2005 (3)
November, 2005 (5)
October, 2005 (6)
September, 2005 (10)
August, 2005 (5)
July, 2005 (15)
June, 2005 (16)
All dates
All Posts
Contact the Author
Contact Arnon
Affiliations
Admin
Sign In