Theodore L. Ross

Learn More
Architectures for software use rich abstractions and idioms to describe system components, the nature of interactions among the components, and the patterns that guide the composition of components into systems. These abstractions are higher-level than the elements usually supported by programming languages and tools. They capture packaging and interaction(More)
Figure 10: Comparison of two diierent graph layouts for the same uses relation view: the rst contains cycles among layers, while the in the second cycles are reduced within the same layers. recognizers have no position on the diagram surface. Thus, display algorithms have to assign a position to each node of a graph, according to the kind of graph to be(More)
made to it and then reflected in others. More frequently, changes will be made to the most appropriate or convenient cross-section. Traceability support will hence need to exist across all pertinent cross-sections. However, the relationships among architectural views are not always well understood. For example, while it is typically straight forward to(More)
Work on program concept recognition 16, 17, 18] has also innuenced our approach, mainly as regards viewing the sections of code implementing architectural features as clich es. However, our approach differs from the usual one adopted in standard clich e matching. In fact, not all of our recognizers are driven by statement level clich es but some exploit(More)
way to compare competing architectures against a common quality standard. Passing the SAAM test (or any architecture evaluation) does not guarantee a system that will meet its requirements; downstream design and implementation decisions can always undermine the best architectures. However, SAAM does provide an early " sanity check " during a development(More)
  • 1