Page 210 -
P. 210

DOMAIN-SPECIFIC & IMPLEMENTATION-INDEPENDENT SOFTWARE ARCHITECTURES     195
                      RARE benefits/limitations to consider. If an organization leverages a formal requirements
                    specification, there should be minimal resistance to the DRA. However, in practical terms, the
                    detail and time required for formal specification and analysis may limit its use on a given project
                    or system (e.g., performing safety and liveness analysis only for critical functionality).
                      The DRA, while considered formal in that it uses a designated meta-model, is specified at
                    a high-level, offering the opportunity to evaluate systemwide concerns at a high level. For ex-
                    ample, in addition to structural/topological evaluation of components and their relationships (e.g.,
                    coupling, cohesion, component size), service pre- and post-conditions can provide the basis for
                    safety and liveness analysis, and service duration and frequency properties can provide input for
                    simulation-based performance analysis. Nonetheless, as with any formal representation, such DRA
                    evaluation is of minimal value without a well-populated representation that accurately reflects
                    stakeholder intentions.
                      Every system can be described by a software architecture, so every system can benefit from
                    an architectural prescription prior to development. However, in determining whether the benefits
                    from adopting an explicit software architecture derivation and evaluation process such as RARE
                    outweigh the costs, the following questions should be considered, which summarize the concerns
                    above:


                        1.  Does the explicit component-connector representation in the DRA offer analysis op-
                           portunities not afforded by other representations?
                        2.  Does the project schedule allow time to represent requirements in an architecture and
                           step through the derivation process?
                        3.  Are organizational standards and skill sets in the area of modeling notations and de-
                           velopment methodologies a barrier for exploring other representations and analysis
                             methods?
                        4.  Will results from architectural evaluations be used to influence design and development
                           decisions in subsequent stages of the current project as well as future projects?
                      A fundamental objective of RARE research was to provide a means for understanding compo-
                    nent responsibility and component dependency early in analysis through a high-level representa-
                    tion and a methodical derivation process. However, RARE provides minimal decision value if
                    the architecting activity is not a sanctioned part of an organization’s development methodology.
                    As with the justification for formal methods, software engineers and project managers must be
                    convinced there is value in populating a computational specification for the purpose of conducting
                    evaluations and using evaluation results as rationale for development decisions.
                      As trends in software engineering continue toward greater reliance on off-the-shelf components
                    and global development teams, software managers are encouraged to find new ways to save time and
                    cost by illuminating issues early and specifying requirements using unambiguous representations
                    ensuring that a delivered product will meet stakeholder expectations. This is especially notable in
                    distributed development efforts, where developers must understand the scope/boundaries of the
                    components they have been assigned, the functionality allocated to those components, and their
                    dependency on other system components.

                    CONCLUSION AND FUTURE WORK

                    This chapter presented a formal process and an accompanying tool, Reference Architecture
                    Representation Environment, to derive a Domain Reference Architecture from a computational
   205   206   207   208   209   210   211   212   213   214   215