SEI Insights


SEI Architecture Technology User Network (SATURN) News and Updates

Notes by Frank M. Rischner

The Design Space of Modern HTML5/JavaScript Web Applications

Marcin Nowak and Cesare Pautasso, University of Lugano
Whenever we create a web application, we have to decide where the application runs, either on the server side or on the client side. When using HTML5, we push everything but the data to the client. In the example scenario, the server is treated as the database, and the browser is seen as a terminal. There are several Model View interaction patterns: Model View Controller Pattern, Model View Presenter Pattern, and Model View ViewModel Pattern, which is the most flexible one of the patterns. Most recent movements apply the "Model View *" pattern, which leaves out the controller.

Notes by Ian De Silva

The Conflict Between Agile and Architecture: Myth or Reality?

Simon Brown, Coding the Architecture

Agile is about working in small increments, getting feedback, and improving the process or product. Architecture is about structure and vision. There is no conflict between agile and architecture because every software project has an architecture. There is, however, a conflict in the approach and team structure.

Notes by Ian De Silva

Introducing Agile in Large-Scale Projects

Vladimir Koncar, Ericsson Nikola Tesla Drago Holub, Ericsson Nikola Tesla Zoran Kokolj, Ericsson Nikola Tesla Emina Filipovic-Juric, Ericsson Nikola Tesla Josko Bilic, Ericsson Nikola Tesla
In this talk, Koncar described his team's experiences using agile on a large-scale telecom project at Ericsson. This hardware-dependent project was estimated to be about 10 million lines of code, requiring the work of 100 developers for two years. Because of hardware-plan instability, uncertain requirements, and sensitive time to market, agile was the development methodology of choice. In particular, they used Scrum with long-term, cross-functional teams.

Notes by Brendan Foote

Design and Analysis of Cyber-Physical Systems: AADL and Avionics Systems
Julien Delange and Peter Feiler, SEI

Architectural decisions affect nonfunctional requirements, which are critical to the safety of systems. Rework costs increase the later a defect is detected in the software development life cycle. In Delange’s experience, a $10,000 architecture-phase correction can save $3 million! These errors can be caused by mismatched assumptions in embedded software. One anecdote is a train on which the doors wouldn’t close, so the conductor stepped outside to push them closed. But the system assumes the conductor is inside, so the train automatically took off. Dual core laptops also violated many assumptions that developers had made up to that time. To put it glibly, if we can’t get iTunes right on dual core machines, how are we supposed to make safe airplanes with even more complicated hardware?

Notes by Brendan Foote

How to Build, Implement, and Use an Architecture Metamodel

Chris Armstrong, Armstrong Process Group, Inc.
Armstrong discussed the architecture-description standard UML model, showing how an architecture description expresses an architecture, fulfills the concerns of stakeholders, and more. He uses the difference between raw accounting data and the common views the way, say, a CFO would need to because of the way that an architecture is standardized by the RFC 42010 (that is, what subset of the entire UML model is particularly useful?).

Notes by Frank M. Rischner, Ian De Silva, and Brendan Foote

Keynote Address: and the Future of Work

Scott Berkun,
Berkun is the author of the forthcoming A Year Without Pants, a reflection on his time working as a team lead for, and four other books. Before that, he was a Microsoft employee and worked on Internet Explorer and Windows. He saw a lot of differences between those two working environments, which his book aims to articulate. At, people are distributed globally (hence, no one has to go to work or "wear pants"). They also get to meet up in cool places like Athens.

Notes by Frank M. Rischner

Architecting Long-Lived Systems

Harald Wesenberg and Einar Landre, Statoil Arne Wiklund, Kongsberg

Statoil uses environmental-monitoring software for monitoring the impacts of their oil business on the environment. Statoil struggled to build a system that would live for a long time. Making sure there is no impact on the environment, how do we build a system that lives for 70 years and adapts to changes?

  • Don't monitor the major events like oils spills; monitor the little things and their impacts on the environment.
  • Use agile projects, since there are a huge number of unknowns in the unknowns.
  • Use stacking capabilities and business capabilities. Those business capabilities are driven by value, are measurable, and provide actions. Each capability is a small enterprise-architecture element.