Tutorial 1 - Annals and a Perspective of Architectural Styles and Architectural Patterns
                     within the Context of Large Complex Web-based Systems
  Dr. Mark M. Davydov
Bank of America
Brief Bio of Dr. Mark M. Davydov

Mark M. Davydov is a recognized expert and consultant on the subjects of software architecture, and software evolution and reuse. He received the Diploma of Electrical Engineer from the State Academy of Chemical Engineering in Moscow, Russia, followed by a Ph.D. in Applied Informatics (1978).
Dr. Davydov has planned and implemented enterprise-wide architecture initiatives for over 30 Fortune 500 companies. Currently, he is a vice president and senior solution delivery architect at Bank of America, where he is responsible for domain architecture definitions, software architecture life cycle processes, and software reuse.
Dr. Davydov is the author of over 100 highly acclaimed articles in computer-related publications. His 2001 book "Corporate Portals and e-Business Integration - A Manager's Guide", McGraw-Hill Professional Publishing, introduced many ideas that influenced the progression of Service-Oriented Architecture and the Web services model. He has taught instructor-led courses on component-based software engineering and generative programming in industry (e.g., at Royal Bank of Canada, Mastercard, and Southwestern Bell). He has also presented papers and invited talks at many international conferences, including tutorials on software architecture and service-oriented computing (e.g., SD2000 East, ICSOC04, FinanceCom05, ECIS 2005, etc.).

In the past decade, consistent software design and software reuse with their proclaimed benefits have become the most illusive themes in IT. Many organizations in government, public and private sectors have been overwhelmed with extensive software process improvement and architecture-based programs focused on fostering consistency and software reuse. Although some of these programs were very successful, the majority have failed – failed to ensure a broad-based applicability, failed to produce sustainable results, and, most importantly, failed to guarantee noteworthy productivity improvements in software engineering – reductions in cost and time-to-market for large complex software development projects.
This tutorial presents a perspective of fundamental software architecture concepts – Architectural Styles and Architectural Patterns – as they have evolved over the last 15 years or so and a discussion of how those concepts relate to some key reuse problems. Furthermore, the tutorial will present personal experience and suggestive evidence to define some of the boundaries of a successful pattern-oriented enterprise architecture framework that enables design consistency, and, that, in turn, enables guaranteed levels of software reuse. Fundamentally, in the tutorial, the argument will be made that the first order term in the success equation of reuse is the establishment of domain-specific architectural context, expressed using architectural styles and related architectural patterns, and the second order term is the formulation of specific architecturally significant requirements as specifications for expressing that context. The result is a guide to the pattern-oriented architecture methodologies that appear to work best for large complex Web-based systems.
Tutorial Length, Target Audience and Prerequisites
The half-day tutorial is targeted at researchers and software practitioners that are familiar with principles and fundamentals of architecture-centered software engineering and pattern-oriented software architecture, and are interested in learning about challenges and opportunities for those concepts within the context of large complex commercial software development. Prior knowledge of software process improvement methodologies (e.g., SEI’s CMM/CMMI), and enterprise/software architecture frameworks (e.g., TOGAF, Zachman, Rational 4+1, etc.) is beneficial, but not required.
Tutorial Objectives
At the end of the tutorial participants will:  
  • Be familiar with the history of evolution of the concepts of architectural styles and architectural patterns.
  • Have knowledge of techniques for generating pattern-driven architecture models with built-in characteristics of agility.
  • Be aware of some of the most critical problems that can be encountered when using and interpreting the cited models.
  • Have knowledge of development processes that support the use of architectural styles and architectural patterns for deriving
    architecturally significant requirements.
Tutorial Topics
The tutorial will be structured as follows:  
  • Architecture-centered Software Development Processes in the Context of Large-scale Complex Web-based Systems – Challenges
    and Opportunities.
  • Architectural Styles and Architectural Patterns – A Definition View
  • Architecture Modeling and Description
  • Domain-Specific Software Architecture
  • Architecturally Significant Requirements and Their Architectural Refinement
  • Architecture Continuum – Top-Down vs. Bottom-up
  • Hybrid Approaches
  • Pattern-based Architecture Generation and Analysis Process

Page Updated on 24-04-2006

Copyright © INSTICC