Archive for March, 2008

Model Search Evaluation

March 13, 2008

Model Search Evaluation

Journal of the Brazilian Computer Society Special Software Reuse Issue

March 13, 2008

Journal of the Brazilian Computer Society Special Issue on Software Reuse

How big should a reusable component be?

March 1, 2008

Ted — a colleague at MITRE sent me the following question.

“In particular, I’m looking for design guidance on degree of granularity
for a reusable component that maximizes reuse.”

I remember you were working on this a while back. Any thoughts? She is
looking at this in the context of service oriented architectures.




Reuse is maximized by components that are a single line of code! 🙂 This is
a smart aleck-y answer, of course. The real answer to the implied question
is far more complex and no one has a really concrete, objectively verifiable

Since there are trade offs between reuse payoff and other factors (range of
reusability, restrictions, expected degree of change), life is not simple.
The article that I wrote for the 1998 Annals of Software Engineering (ed.
William Frakes!) (“A Perspective of Generative Reuse”) addresses this
subject, I think. She might take a look at it.

Lim’s paper in the same volume might also speak to that question but I don’t
recall for sure.

Also, I did some quantitative work on some of these relationships in the
paper “An Assessment of Analysis and Reuse”, Advances in Computers, Vol. 34,
1992, (ed. Marshall Yovits). See section 4 for the formulas. It basically
looks at factors such as percent of reused code, connective or glue code,
and new code in an application and tries to relate these to characteristics
of the libraries (e.g., degree of standardization) and characteristics of
the applications (e.g., average number of fan-in input connections). She
might get some sense of the relationships in that article.

I am afraid that she will not get a concrete or simple, direct answer
because there are a really complex set of interrelated issues. But those
articles might supply some qualitative insights.


Ted J. Biggerstaff, Ph.D.

Software Architecture Refs

March 1, 2008

From Tom Plunkett
Software IT Architect
Fairfax, VA
Here are some references and links. Some of the web links may be IBM
internal only. Some of these references are duplicated (I gathered from
several sources).

? IBM Global Services Method
? Software Architecture in Practice, Bass, Clements, and Kazman,
Addison-Wesley, 2003

Tom Gilb, Software Engineering Management, ISBN 0-201-19246-2
? IEEE Software Engineering Committee, IEEE Recommended
Practice for Software Requirements Specifications, ISBN 1-55937-
? Defining Nonfunctional Requirements, GS Method Technique
? Shaw and Garlan, Software Architecture, Perspectives on an
Emerging Discipline, ISBN 0-13-182957-2
? Bass, Clements and Kazman, Software Architecture in Practice,
ISBN 0-201-19930-0
? Barry Boehm and Hoh In, “Identifying Quality-Requirement
Conflicts”, IEEE Software, 2 March 1996, pp. 25-35

? IBM System Journal, Vol 38, No. 1, 1999. Special issue on Enterprise
? UML Distilled, Martin Fowler and Kendal Scott, Addison-Wesley, 1999,
ISBN: 0-
? UML Components, John Cheesman & John Daniels, Addison-Wesley, 2000,
ISBN: 0-201-70851-0:
? A System of Patterns: Pattern Oriented Software Architecture, Frank
Buschmann et al, Wiley, 1996, ISBN: 0-471-95869-7.
? Software Architecture Documentation in Practice: Documenting
Layers, Felix Bachmann et al, SEI, 2000:
? Architectural Blueprints?The ?4+1? View Model of Software Architecture,
Philippe Kruchten, Rational Software Corp, 1995:

e-business patterns

[Coad 92] Object-Oriented Patterns, P. Coad; CACM, 9/
[Gamma 93] Design Patterns: Abstraction and Reuse of Object-Oriented
Gamma, et al.; ECOOP ’93
[Johnson 92] Documenting Frameworks using Patterns, R. Johnson; OOPSLA
[Lloyd 99] Technical Reference Architectures, P. T. L. Lloyd and Dr.
Galambos; IBM
Systems Journal, Volume 38, No.1, 1999
[Plachy 99] Enterprise Solutions Structure, E. Plachy and P. Hauser; IBM
Journal, Volume 38, No.1, 1999
[Youngs 99] A standard for architecture description, R. Youngs, D.
Redmond-Pyle, P.
Spaas, and E. Kahan.; IBM Systems Journal, Volume 38, No.1, 1999
URL Links
Enterprise Solution Structure Knowledge Network:
Patterns for e-business:
Patterns Library:
Events /Conferences
Pattern Languages of Programs (PLoP), ChiliPLoP, EuroPLoP, KoalaPLoP,
Mensore PLoP,
SugarLeaf PLoP, Viking PLoP
Object-Oriented Programming Systems, Languages, and Applications
European Conference on Object-Oriented Programming (ECOOP)

Complex Cost Benefit Analysis – Principles of Corporate Finance
by Richard Brealey and Stewart
Designing for Availability technique paper?IBM Global Services
Method for Analyzing System Availability (MASA)
? search for MASA
Disaster Recovery Planning – Strategies for Protecting Critical
Information Assets by Jon William Toigo. Has a foreword by
Todd Graham of IBM Global Services.
? IBM WebSphere V5.1 Performance, Scalability, and High Availability, IBM
Redbook SG24-
? Implementing a Scalable Architecture, Microsoft Corporation, November
? On Demand Operating Environment: An Overview and Implementation Guide,
Redpaper REDP3858
Legacy Integration:
? Enterprise Integration Patterns, Greg Hohpe et al, Addison Wesley, ISBN:
? A Method for Designing Secure Solutions, J.J Whitmore, IBM Systems
Journal, September
? Enterprise Security Architecture Using IBM Tivoli Security Solutions,
IBM Redbook SG24-
? Secrets and Lies: Digital Security in a Networked World, Bruce Schneier,
John Wiley, 2000,
ISBN: 0-471-25311-1,
Systems Management:
? ITIL – IT Infrastructure Library,
? Designing Tivoli Solutions for End-to-End Systems and Service
Management, IBM Redbook
? IBM Ease of Use,
? User Experience Portal,
? User Centred Design,!2Fucd_main.html
? User-Centered Design: An Integrated Approach, K Vredenburg et al,
Prentice Hall, 2001,
ISBN 0-130-91295-6
? The Access Board,
? Section 508,

? IEEE Recommended Practice for Architectural Description
IEEE-Std 1471-2000
? ?The 4+1 View Model of Architecture,? P. Krutchen, IEEE Software
? Software Architecture Documentation in Practice: Documenting
Architectural Layers, F. Bachmann et al, CMU/SEI 2000.