Search the web
Sign In
New User? Sign Up
rest-discuss · REST Discussion Mailing List
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Want your group to be featured on the Yahoo! Groups website? Add a group photo to Flickr.

Best of Y! Groups

   Check them out and nominate your group.

Messages

  Messages Help
Advanced
What specifically is the "principle of generality" that Roy's thesi   Topic List   < Prev Topic  |  Next Topic >
Reply  | 
Re: What specifically is the "principle of generality" that Roy's thesis mention

--- In rest-discuss@yahoogroups.com, "Mark Baker" <distobj@...> wrote:
>
> On 6/7/07, John D. Heintz jheintz@... wrote:
> >
> > Hi Nick,
> >
> > I don't know if this is what Roy ment, but this is how I internalized it.
> >
> > Generality is prefering generic/shared/common programming models instead of specific/unique/custom ones.
>
> +1, well said. That's how I always interpreted it.
>
> Mark.
>

+1 as well. But let me clarify my original question. I am not seeking to understand what the "principle of generality" as Roy uses it might mean; I have my own interpretation of what I think it means and it is very much in line with these excellent comments. Rather, I am seeking to find out where Roy got the principle in the first place.

He uses the "principle of generality" and "generality principle" three times in the thesis:

1.4
Hence, the architectural constraint is “uniform component interface,” motivated by
the generality principle, in order to obtain two desirable qualities that will become the
architectural properties of reusable and configurable components when that style is
instantiated within an architecture.

2.3.3
Applying the principle of generality to architectural elements also improves
simplicity, since it decreases variation within an architecture. Generality of connectors
leads to middleware [22].

5.1.5
By applying the software engineering principle of generality to the component interface, the
overall system architecture is simplified and the visibility of interactions is improved.

His use of the term (especially the 3rd use) seems to suggest he is merely citing an existing principle that he learned about from some source. What I am looking for is the source of this cite. Sorry I wasn't clearer originally.

Stop the Press! In trying to provide more context for this question, I think I answered it myself. In looking at how Roy used the word "principle" in the thesis, I found the following quote
(thank god for Acrobat's search function, which acts as a dynamic concordance):

1.4
Properties are induced by the set of constraints within an architecture. Constraints are
often motivated by the application of a software engineering principle [58] to an aspect of
the architectural elements. For example, the uniform pipe-and-filter style obtains the
qualities of reusability of components and configurability of the application by applying
generality to its component interfaces " constraining the components to a single interface
type. Hence, the architectural constraint is “uniform component interface,” motivated by
the generality principle, in order to obtain two desirable qualities that will become the
architectural properties of reusable and configurable components when that style is
instantiated within an architecture.

[58] is a cite to:

C. Ghezzi, M. Jazayeri, and D. Mandrioli. Fundamentals of Software Engineering .
Prentice-Hall, 1991.

I googled the title and hit paydirt: slides for teaching with the book . And indeed, Chapter 3  deals with the following key "Software Engineering Principles":
  • Rigor and formality
  • Separation of concerns
  • Modularity
  • Abstraction
  • Anticipation of change
  • Generality
  • Incrementality
In case you are interested (and don't want to download the ppt) here is the slide on Generality:
  • While solving a problem, try to discover if it is an instance of a more general problem whose solution can be reused in other cases
  • Carefully balance generality against performance and cost
  • Sometimes a general problem is easier to solve than a special case
What I like about this description of the principle is that it highlights both the benefits (reuse and ease of solution), as well as the costs (performance and cost).

I'd only add one other benefit regarding generality (or extend the reuse benefit): serendipity. For an upcoming presentation on WOA I created the following slide:

SOA: Specific-Operation Architecture vs. Serendipity-Oriented Architecture
  • Unexpected reuse is the value of the web
    • Tim Berners-Lee
  • Two of the goals of REST: independent evolvability and design-for-serendipity
    • Roy T. Fielding
  • Engineer for serendipity
    • Roy T. Fielding
(The "Specific-Operation Architecture" is a thinly veiled knock on typical WS-*-based approach to SOA.)

The Internet and the Web are paradigms of Serendipity-Oriented Architectures. Why? Largely because of their simple generality. It is my belief that generality is one of the major enablers of serendipity. So here I immodestly offer Gall's General Principle of Serendipity: "Just as generality of knowledge is the key to serendipitous discovery, generality of purpose is the key to serendipitous (re)use."

-- Nick


Thu Jun 7, 2007 8:22 pm

nick_gall_1117
Online Now Online Now
Send Email Send Email

 | 
Expand Messages Author Sort by Date

2.3.3 Simplicity The primary means by which architectural styles induce simplicity is by applying the principle of separation of concerns to the allocation of...
Nick Gall
nick_gall_1117
Online Now Send Email
Jun 6, 2007
10:06 pm

Hi Nick, I don't know if this is what Roy ment, but this is how I internalized it. Generality is prefering generic/shared/common programming models instead of ...
John D. Heintz
johndheintz
Offline Send Email
Jun 7, 2007
5:29 am

... +1 John is right. When Roy says "Generality of connectors leads to middleware" I believe that he means, for example, that I can install an HTTP Cache ...
Alan Dean
alan_james_dean
Offline Send Email
Jun 7, 2007
7:18 am

... +1, well said. That's how I always interpreted it. Mark....
Mark Baker
gonga_thrash
Online Now Send Email
Jun 7, 2007
4:26 pm

... internalized it. ... instead of specific/unique/custom ones. ... +1 as well. But let me clarify my original question. I am not seeking to understand what...
Nick Gall
nick_gall_1117
Online Now Send Email
Jun 7, 2007
8:24 pm

... Why don't you ask him? cheers Bill...
Bill de hOra
bdehora
Offline Send Email
Jun 8, 2007
9:49 pm

... It would not have worked. I am currently working on the principle of vacation. Or should that be the constraint of vacation? Congrats on finding the...
Roy T. Fielding
roy_fielding
Offline Send Email
Jun 9, 2007
5:48 am

Hmm, apparently hypermedia can also work as the engine of vacation state? ;-) wm ... From: "Roy T. Fielding" <fielding@...> To: "Bill de hOra"...
Walden Mathews
waldenmathews
Offline Send Email
Jun 9, 2007
1:18 pm
Advanced

Copyright 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help