Software Engineering Institute | Carnegie Mellon University

SEI Insights

SATURN Blog

SEI Architecture Technology User Network (SATURN) News and Updates

Simon Brown, Coding the Architecture

by Jacob Tate, Mount St. Mary's University
Simon Brown taught us a lot in his session titled "Software Architecture as Code." From teaching us where Jersey is to how to extract architecture from code, Brown gave a riveting talk on bridging the gap between architecture and code. Diagrams for software architecture are often messy; one developer cannot distinguish another's way of thinking by looking at sloppy boxes and mismatched lines. Would we write our code this way? Our code does not map to the architectural views we created, and this is a problem.

Forrest Shull, Carnegie Mellon Software Engineering Institute (SEI);
Thomas DuBois, The Boeing Company;
Nick Guertin, Office of the Deputy Assistant Secretary of the Navy for Research, Development, Test, and Evaluation;
Michael McLendon, SEI;
and Douglas C. Schmidt, Vanderbilt University and SEI

Forrest Shull opened the session with a brief introduction to Open Systems Architectures (OSA), an initiative within the DoD, to make systems more configurable and adaptable than they are today. This initiative ties in with the Better Buying Power Initiative, which focuses on making systems more efficient and effective. It's about system architecture, but software architecture is buried within that. How do we make systems more modular, more open, and still deal with interfaces between the components when the systems are part of a community? How much to make open and how much to keep behind the wall are issues that this initiative must deal with. Each panelist gave a brief on their opinions of where OSA stands today and what its challenges are.

Ariadna Font Llitjós, IBM Watson Group; Jonathan Berger, Pivotal Labs; and Jeff Patton, Jeff Patton & Associates
Font Llitjós began this conversation-style panel with a brief review of Design Thinking 101: "Design is not a product designers produce"; "design is a process designers facilitate." Then she introduced IBM's method, which includes four modes of design thinking: Understand, Explore, Make/build/prototype, and Validate/iterate.

Paul Boos, Santeon Group
by Jacob Tate, Mount St. Mary's University

Paul Boos introduced us to a little Japanese in his talk titled "Improving Architectural Refactoring Using Kanban and the Mikado Method." These methods have been employed by such companies as Toyota to drastically increase production speed while tracking progress. But how does this translate from assembly lines to software?

Rick Kazman, University of Hawaii and Carnegie Mellon Software Engineering Institute, and Humberto Cervantes, Universidad Autónoma Metropolitana-Iztapalapa
Design is hard. Architects need insight into types of architectural drivers, guidance on selecting design concepts, and what drives certain design decisions to make good decisions by considering these consciously. Architects also need an approach to negotiate with management and stakeholders better to make these good decisions. In this tutorial session, Kazman and Cervantes presented an updated version of the 2006 Architecture-Driven Design Method 2.0 to address these concerns.

Einar Landre and Jørn Ølmheim, Statoil

by Jacob Tate, Mount St. Mary's University
Einar Landre presented an experience report at the last morning session titled "Systems of Action: A Stack Model for Capability Classification." The subject matter of this presentation delved into the importance of structuring a class of systems that can observe phenomena or processes and then interpret this data and make intelligent decisions.

Michael Keeling, IBM Watson Group
The concept of design as a way of thinking comes from Herbert Simon in 1969. Companies would empathize with the user and work to solve their problems, but this approach had the unintended side effect of focusing too exclusively on the user interface, and there is more to design in software than the user interface. Software architecture is the perspective that holds all the perspectives together: users, business needs, and more.