Loading ...
Sorry, an error occurred while loading the content.

Re: What specifically is the "principle of generality" that Roy's thesis mention

Expand Messages
  • Nick Gall
    ... 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
    Message 1 of 8 , Jun 7, 2007
    View Source
    • 0 Attachment
      --- 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
    • Bill de hOra
      ... Why don t you ask him? cheers Bill
      Message 2 of 8 , Jun 8, 2007
      View Source
      • 0 Attachment
        Nick Gall wrote:

        > 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.

        Why don't you ask him?

        cheers
        Bill
      • Roy T. Fielding
        ... 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
        Message 3 of 8 , Jun 8, 2007
        View Source
        • 0 Attachment
          On Jun 8, 2007, at 2:48 PM, Bill de hOra wrote:
          > Nick Gall wrote:
          >
          > > 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.
          >
          > Why don't you ask him?

          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 correct answer.

          ....Roy
        • Walden Mathews
          Hmm, apparently hypermedia can also work as the engine of vacation state? ;-) wm ... From: Roy T. Fielding To: Bill de hOra
          Message 4 of 8 , Jun 9, 2007
          View Source
          • 0 Attachment
            Hmm, apparently hypermedia can also work as the engine of vacation state?

            ;-) wm

            ----- Original Message -----
            From: "Roy T. Fielding" <fielding@...>
            To: "Bill de hOra" <bill@...>
            Cc: "Nick Gall" <nick.gall@...>; "REST Discuss"
            <rest-discuss@yahoogroups.com>
            Sent: Saturday, June 09, 2007 12:29 AM
            Subject: Re: [rest-discuss] Re: What specifically is the "principle of
            generality" that Roy's thesis mention


            : On Jun 8, 2007, at 2:48 PM, Bill de hOra wrote:
            : > Nick Gall wrote:
            : >
            : > > 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.
            : >
            : > Why don't you ask him?
            :
            : 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 correct answer.
            :
            : ....Roy
            :
            :
            :
            :
            :
            : __________ NOD32 2320 (20070609) Information __________
            :
            : This message was checked by NOD32 antivirus system.
            : http://www.eset.com
            :
          Your message has been successfully submitted and would be delivered to recipients shortly.