Archive for the ‘Reusable Assets’ Category

RESOLVE/C++ Component Catalog

March 1, 2010

RESOLVE/C++ Component Catalog:

It includes about two dozen component families, and a few hundred class templates if you count all the specs and implementations. All are designed to be reused; we have some others that are more application-specific that we could send along if these make sense. Note that there is an entire design and programming discipline that goes along with using these things if you want them to work as specified! — Bruce Weide


Reuse Components Company —

January 26, 2010

I take every chance to factor reusable parts of of every system I write.
These day, my open source Java and JavaScript libraries
include major subsystems, like logging, connection pooling,
fine-grained access control, etc., and well as tons of smaller
utilities. See them at:

Fred Stluka

tool demos for ICSR11

September 5, 2009
  • A Development Environment to Support Development with Reuse
    Perla Velasco Elizondo
  • DAREonline: A Web-Based Domain Engineering Tool
    Raimundo F. Dos Santos and William B. Frakes
  • Reuse Ratio Metrics RL and RF
    William B. Frakes, Reghu Anguswamy, and Suvelee Sarpotdar
  • ReDSeeDS: Requirements Driven Software Development System
    Michal Smialek, Albert Ambroziewicz, Jacek Bojarski, Wiktor Nowakowski and Tomasz Straszak
  • A Demonstration of the RESOLVE Verifying Compiler
    Hampton Smith, Heather Harton and Murali Sitaraman
  • The OSU RESOLVE Software Verification Tool Suite
    Bruce Adcock, Jason Kirschenbaum and Derek Bronish
  • A Model-Driven Product Line Approach for Human-Machine Interface Development
    Marc Born, Omar Ekine, and Jon Ashley
  • A Multi-agent Systems Product Line Derivation Tool
    Elder Cirilo, Ingrid Nunes, Uirá Kulesza, and Carlos Lucena

Request for information: packaging and distributing assets

September 4, 2009

Bill —

As part of our Reuse WG activity to provide guidelines and information
on packaging and distributing assets, we are looking at the software
release process in different organizations.  We are asking WG members to
provide, or send links for, guidelines or procedures for software
release that are used by their or any other organizations.  We have
received a couple so far, including ones for NASA (Bob and Christine on
recent work, Jim and others on past work) and ORNL (Bruce Wilson), and
would like to obtain these for more organizations in order to determine
similarities between them, which we could then summarize and offer as
general guidelines on release processes.  The information provided can
be kept private if desired.

The more organizations for which we receive
information, the better our analysis will be, so please send us whatever
organizational software release process information you can.  Thank you
for your help in our activities.

Dr. James J. Marshall              Software Engineer with Innovim
NASA Goddard Space Flight Center   GSFC Building 22, Room C135A
Mailstop 614.9                     E-mail:
Greenbelt, MD  20771               Ph: 301-286-7544 / FAX: 301-286-0239

DARE bibliography

July 24, 2008

Frakes, W., Prieto-Diaz, R., & Fox, C. (1998). “DARE: Domain Analysis and Reuse Environment”. Annals of Software Engineering (5), , pp. 125-141.

This is the main paper describing DARE.

Frakes, W., R. Prieto-Diaz, and C. Fox. “DARE-COTS A Domain Analysis Support Tool”. in XVII International Confernce of the Chilean Computer Society. 1997. Valparaiso, Chile: IEEE Computer Society Press. pp. 73-77.

Describes a version of DARE built using COTS tools.

Frakes, W. (2000, Nov. 6-9). “A Method for Bounding Domains”. In IASTED International Conference Software Engineering and Applications 2000 (SEA 2000), Las Vegas, NV:

This paper describes the domain bounding method used in the current version of DARE.

DAREonline: A Web-Based Domain Engineering Tool
Raimundo F. Dos Santos and William B. Frakes, Proceedings of ICSR11, 2009

describes an online version of DARE –

Frakes, W.B. and Kyo Kang, (2005), “Software Reuse Research: Status and Future”, IEEE Transactions on Software Engineering, 31(7), July, pp. 529-536.

An overview of reuse and domain engineering providing a brief description of DARE and other domain engineering methods.

Edelman, A., Frakes, W.B., and Lillie, C. (2008). SAM: Simple API for Object-Oriented Code Metrics. 10 International Conference on Software Reuse. H. Mei. Beijing, Springer. LNCS 5030: 347-359.

Describes the use of DARE to analyze part of the software metrics domain and the development of a domain implementation for metrics tools.

Generating Text Search Applications for Databases. Omar Alonso. May 2003. IEEE Software, Volume 20 Issue 3. Publisher: IEEE Computer Society Press

Describes the use of DARE at Oracle Corp.

Alonso, O., & Frakes, W. B. (2000, August 10-13th). “DARE-Web: Domain Analysis in a Web Environment”. In AMCIS 2000 Americas Conference on Information Systems, . Long Beach, CA:

Describes a web based implementation of DARE.

Frakes, Bill, “Linking Domain Analysis and Domain Implementation”, Proceedings of Fifth  International Conference on Software Reuse. 1998. Victoria, BC: IEEE CS Press, pp. 348-349.

Describes how the outputs of DARE can serve as inputs to the design of an application generator.

Yilmaz, O. and W. B. Frakes (2009). A Case Study of Using Domain Analysis for the Conflation Algorithms Domain. 11th International Conference on Software Reuse. Falls Church, VA Springer.

Describes the use of DARE to analyze and create a generator for conflation algorithms.

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.

99 bottles of beer

November 23, 2007

The same program in many different languages… In terms of the 3 Cs model, the same concept represented in multiple contents.

Reuseable Assets

November 15, 2007