itiger: Architecture Documentation, Volume 1 - Beyond Views

Similar documents
Integrating Domain Specific Modeling into the Production Method of a Software Product Line

Software Architecture

Enterprise Software Architecture & Design

Enterprise Web based Software Architecture & Design

Homework , Fall 2013 Software process Due Wednesday, September Automated location data on public transit vehicles (35%)

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author(s)> <Organization> <Date created>

Textbook Charles Petzold, Programming Windows, 5th edition, Microsoft Press. References - other textbooks or materials none

Introduction to software architecture Revision : 732

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created>

Enterprise Architect basic usage

MANAGE YOUR CONSTRUCTION21 COMMUNITY

In this Lecture you will Learn: Design Patterns. Patterns vs. Frameworks. Patterns vs. Frameworks

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 9 Database Design

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

CS 155 Final Exam. CS 155: Spring 2004 June 2004

White Paper. Performance in Broadband Wireless Access Systems

Update on AADL Requirements Annex

Software Architectures. Lecture 6 (part 1)

APPLICATION NOTE Network Communication/Performance

Software Design Report

Integrity 10. Curriculum Guide

Project 1 Computer Science 2334 Spring 2016 This project is individual work. Each student must complete this assignment independently.

THE EMERGING CONTROL HIERARCHY

Agilent Connectivity Advances for Component Manufacturers. Product Note

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

International School of informatics and Management

tree follows. Game Trees

Working with WebNode

CPSC 444 Project Milestone III: Prototyping & Experiment Design Feb 6, 2018

CSCU9T4: Managing Information

Lecture 16: (Architecture IV)

BEAWebLogic. Portal. Overview

Organize. Collaborate. Discover. All About Mendeley

Chapter 4 Requirements Elicitation

Meltem Özturan misprivate.boun.edu.tr/ozturan/mis515

SAMPLE COURSE OUTLINE APPLIED INFORMATION TECHNOLOGY ATAR YEAR 12

Certified Tester Foundation Level Performance Testing Sample Exam Questions

CSET 4150 Web System Administration (3 semester credit hours) IT Required

PG EXAMINER REPORTS USER GUIDE. Updated: September Author: Robert Cruickshanks

SUBJECT: Language and Script instructions for Chapters 6 and 7. Related documents: 6JSC/MusicWG/13/LC response; RSC/LC/2/Appendix

EPHP a tool for learning the basics of PHP development. Nick Whitelegg School of Media Arts and Technology Southampton Solent University

HUMBOLDT COUNTY Website Accessibility Policy

[Product] MTM Program Product Software Requirements Specification

Software Architecture Thoughts for the System Security Design

Middle East Technical University. Department of Computer Engineering

USB for Embedded Devices. Mohit Maheshwari Prashant Garg

Comprehensive AngularJS Programming (5 Days)

Product Specification. Design Team C, COMP 410 Spring 2016

Luxor CRM 2.0. Getting Started Guide

Mathematics and Computing: Level 2 M253 Team working in distributed environments

Information Security Controls Policy

First-Time Usability Testing for Bluetooth-Enabled Devices

Chapter 18. Software Reuse

Verint Knowledge Management Solution Brief Overview of the Unique Capabilities and Benefits of Verint Knowledge Management

XVIII. Software Architectures

CSCI 6312 Advanced Internet Programming

SaaS Providers. ThousandEyes for. Summary

HITSP Standards Harmonization Process -- A report on progress

Introduction to IRQA 4

Turbo King: Framework for Large- Scale Internet Delay Measurements

340 Review Fall Midterm 1 Review

Information Management (IM)

Usability Report for Online Writing Portfolio

Changes to Underlying Architecture Impact Universal Search Results

Software Design Document for Bits Bazaar

XSEDE Visualization Use Cases

Adobe Digital Marketing s IT Transformation with OpenStack

Experience gained from the development of a library for creating little on-line educative applications

Fundamentals of Digital Media Lesson Objectives

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

Preparing Usability Supporting Architectural Patterns for Industrial Use

Software Design Document (SDD) Template (summarized from IEEE STD 1016)

SYLLABUS CHAPTER - 1 [SOFTWARE REUSE SUCCESS FACTORS] Reuse Driven Software Engineering is a Business

CBA NAU. Draft Model for Network Information System. Working Paper Series October 2003

Chapter 13: Architecture Patterns

Model-View-Control Pattern for User Interactive Systems

Trust Harris for LTE. Critical Conditions Require Critical Response

ReadyTalk for HubSpot User Guide

The cataloging world marches towards the next in a continuing procession of evolving bibliographic standards RDA: Resource Description and Access.

Issues identified from heuristic evaluations:

Common Architectural Styles & Patterns

XIX. Software Architectures

Code Check TM Software Requirements Specification

The Analysis and Proposed Modifications to ISO/IEC Software Engineering Software Quality Requirements and Evaluation Quality Requirements

Systems Development Life Cycle SDLC Planning Analysis Detailed systems design Implementation Maintenance 7 8 SDLC - Planning SDLC - Analysis Planning

Game100 Networking Lab 4. Part 1 (5.1.4) Using the Windows Calculator with Network Addresses

SJSU Course Evaluation. Team 131

The Web Service Sample

Doc.: IEEE mag Project: IEEE P Working Group for Wireless Personal Area Networks (WPANs)

Minsoo Ryu. College of Information and Communications Hanyang University.

Chapter 12. Network Organization and Architecture. Chapter 12 Objectives Introduction Introduction

Introduction to Modeling

CS Final Exam Review Suggestions - Spring 2018

SALESFORCE DMP SUPERTAG USER GUIDE 00. SuperTag User Guide VER. 2, UPDATED 1/16. Rights Reserved, Proprietary &

OMG Workshop MDA. Tool Chains for MDA? Let's consider leaving our tool chains behind us.

Deeplinking to Kambi on desktop and mobile - HTML5 Client

System Administration of PTC Windchill 11.0

Social Networking. A video sharing community website. Executive Summary. About our Client. Business Situation

Software Requirements Specification


Transcription:

itiger: Architecture Documentation, Volume 1 - Beyond Views John D. McGregor March 2008

Contents 1 Overview... 1 1.1 Introduction... Error! Bookmark not defined. 1.2 Document Map... Error! Bookmark not defined. 1.3 Concepts... Error! Bookmark not defined. 2 AGM System Overview... 2 2.1 History... 2 2.2 Description... 2 3 AGM Architecture View Packet Template... 3 3.1 View Packet Template Description... 3 3.1.1 Primary Presentation... 3 3.1.2 Element Catalog... 3 3.1.3 Context Diagram... 3 3.1.4 Variation Guide... 3 3.1.5 Architecture Background... 3 3.1.6 Other Information... 4 3.1.7 Related View Packets... 4 4 Mapping Between Views... 5 5 Rationale, Background, and Design Constraints... 6 5.1 Display and Data Separation... Error! Bookmark not defined. 5.1.1 Model-View-Controller (MVC)... 6 5.1.2 An Alternative... 7 5.1.3 Analysis... 7 5.2 Separating Moving and Non-Moving ItemsError! Bookmark not defined. 5.2.1 Generalization... Error! Bookmark not defined. 5.2.2 An Alternative... 8 5.2.3 Analysis... 8 5.3 Product Usability... Error! Bookmark not defined. 6 Process for Modifying the Architecture... 9 7 References and Further Reading... 11 2008 Clemson University i

ii 2008 Clemson University

List of Figures Figure 1: Document Map... Error! Bookmark not defined. Figure 2: Model-View-Controller (MVC) Update Operation... 7 Figure 3: Figure 4: Figure 5: Figure 6: Monolithic Update Operation... Error! Bookmark not defined. Top-Level Generalization Hierarchy... Error! Bookmark not defined. MovableSprite Specializations... Error! Bookmark not defined. ParameterizedSprite Class... Error! Bookmark not defined. Figure 7: Attached Process for Requirements Change... 9 2008 Clemson University iii

iv 2008 Clemson University

List of Tables Table 1: Comparison of MVC and Monolithic Approaches... 7 Table 2: Comparison of Generalization/Specialization and Parameters Approaches... 8 2008 Clemson University v

vi 2008 Clemson University

Revision Control Table Version Number Date Revised Revision Type A-Add, D-Delete, M-Modify Description of Change Person Responsible 1.0 3/08 A Created new document JDMcGregor 1 Overview The itiger project is intended to provide unique capabilities to attendees at Clemson University home football games. itiger provides the ability to see replays during the game on handheld devices, to interface with social networks, and to retrieve archived game video. Long term the software that forms the basis for itiger may be made available to other organizations. 2008 Clemson University 1

2 itiger System Overview 2.1 History During the 2007 2008 academic year networking researchers began experimenting with wireless networking hardware and software. At the start of the Spring 2008 semester the course CpSc 875, software architecture, took on itiger as the project for the semester. 2.2 Description The itiger system will provide an in-the-stadium experience that enhances the other traditional features of a home football game. Using wireless technology, itiger will provide attendees with access to the same plays as seen on the stadium display as well as special features such as access to their social networking accounts. itiger users can communicate with each other during the game and otherwise. 2 2008 Software Engineering Institute, Carnegie MellUniversity

3 itiger Architecture View Packet Template We adopted the view packet template presented by Clements and colleagues [Clements 03]. In this section, we briefly describe each part of it. The template is used in the itiger: Architecture Documentation, Volume 2 - Software Architecture Views to organize each view packet. 3.1 View Packet Template Description 3.1.1 Primary Presentation This presentation provides the basic model for this part of the architecture. 3.1.2 Element Catalog The element catalog includes a description of each element included in a view. The items that are elements in a particular view are the atomic items that characterize that view. For example, in the module view, the elements are modules. Properties of the elements. The element s properties determine its impact on the quality attributes. For example, an element may have a large negative impact on the performance of the overall system. Relations and their properties. The element s relations determine how they are associated with each other. For example, an element may aggregate or be a specialization of another element. Element interfaces. The element s interface shows its publicly available services using method signatures. Element behavior. AADL and UML diagrams show the element s dynamic behavior. For example, behavior is shown with UML sequence and activity diagrams. 3.1.3 Context Diagram This presentation places the elements contained in a view packet in the overall architecture. 3.1.4 Variation Guide This section describes the variations for each element included in a view. 3.1.5 Architecture Background This section describes architectural decisions. 2008 Clemson University 3

Rationale. The rationale documents decisions that resulted in the architecture shown in the view. Analysis results. The analysis results provide the data that back up the decisions. Assumptions. The assumptions include data that underlie the decisions. 3.1.6 Other Information This section includes miscellaneous information that didn t fit into another section. 3.1.7 Related View Packets This section describes the following types of related view packets: ones that surround the current view packet at the same level of detail ones that include the current view packet at a higher level ones that describe additional elements with the current view packet 4 2008 Software Engineering Institute, Carnegie MellUniversity

4 Mapping Between Views In general, we use AADL to document the static architecture. In AADL, there are static diagrams that describe definitional units, such as systems and processes, and dynamic elements of these diagrams that describe operational activities such as flows and connections. Any operational unit that is used must correspond to a definitional unit. Therefore, there is a general mapping from dynamic diagrams to static diagrams. We augment the AADL diagrams with SysML diagrams that provide a means to seamlessly move between hardware and software. 2008 Clemson University 5

5 Rationale, Background, and Design Constraints In this section, we document several architecture decisions that resulted in the current architecture. 5.1 User interaction Our initial concept was to use an implementation of the model-view-controller (MVC) architecture to be the main vehicle for user interaction. The requirements to play videos and interface with social networking web site made us think more about the scope of user interaction. The use of an already built internet browser seemed an attractive alternative. 5.1.1 Model-View-Controller (MVC) Controllers provide input to the system. The input is routed to the view or the model as appropriate. In itiger, the keyboard and mouse serve as controllers. The views present information to the player in a variety of forms. In itiger, the graphical interface has several fixed items and a video player showing changing content. The mouse controller allows the user to select menu items and to use a drag and drop interface. The view has the responsibility to ask the model for the data it needs to build its presentation. The model is the computation engine for the system. The model would maintain the status of the display. The model is obligated to inform all views when its state has changed. In itiger a primary state change would change the menus available to the user. The MVC pattern focuses on adding an arbitrary number of views to a given model. Tabular and graphical views of a data table might be useful, for example. The tradeoff is that a view updates itself by querying the model for the information it needs after the model has notified the view of a state change. The update operation is shown in a sequence diagram in Figure 1. itiger needs a number of different views. To remain as flexible as possible with respect to the hardware form factor, we would like to simply paint the device service in a view so that buttons, windows and all other elements are programmable. This can be done with a number of preselected views. 6 2008 Software Engineering Institute, Carnegie MellUniversity

Figure 1: Model-View-Controller (MVC) Update Operation 5.1.2 An Alternative An alternative is to use an internet browser and consider it a black box in terms of the itiger architecture. The browser alternative also determines the connection protocol between the presentation and client tiers. It also imposes a number of requirements on the presentation tier. This architecture is compared to the MVC architecture in Table 1. 5.1.3 Analysis The advantages and disadvantages of each design are shown in Table 1. Table 1: Comparison of MVC and Monolithic Approaches MVC Internet browser Advantages The user interface can be made to be exactly what we wish it to be. The user interface is very modifiable with easy to use scripting languages Disadvantages Requires programming expertise; cannot be modified dynamically Scripting languages are not as flexible as general programming languages After reviewing the table, the team chose to use the browser version of the architecture. In particular, they rated performance as a high priority and the browser is so widely used that its implementation has been iteratively improved. 2008 Clemson University 7

5.2 The requirement for streaming video initiated a study of options. 5.2.1 Include streaming video in web server The Apache web server has the possibility of serving video. However, it does so through the same channel as it serves http data. This results in less than optimal throughput. 5.2.2 The Alternative a specialized video server A specialized video server uses a different connection protocol than that used by a generic web server. This approach accounts for long lived transactions as opposed to the packet based approach of TCP/IP. 5.2.3 Analysis The advantages and disadvantages of each design are shown in Table 2. Table 2: Generic web server vs video server Generic web server Advantages Handles all actions in one product Disadvantages The performance will not be optimal and may be unacceptable at times Video server Tuned specifically for serving video Means a second product to maintain and possibly a second vendor to manage The team decided to use the dedicated video server in parallel with the web server. 8 2008 Software Engineering Institute, Carnegie MellUniversity

6 Attached Processes 6.1 Process for Modifying the Architecture There are several reasons for architecture changes. Figure 2 describes a process that can be used for any architecture change, but we describe it using a requirements change. Change item Conduct change impact analysis. Evolution plan Select/modify and apply tactics. Modified architecture Update previous ATAM analyses. Validation Figure 2: Attached Process for Requirements Change When a requirement is added or modified, the impact of that change to the requirements model is determined. The architecture is reviewed to determine whether the current architecture can satisfy the new requirement. If not, existing items are examined to determine whether they can satisfy the behaviors. If not, new items are designed with responsibility for the new behavior. Any new items are placed in the same operational context as the other items. 2008 Clemson University 9

6.2 Process for Using the Architecture to Produce a Product This process becomes a portion of the production plan for a product. A new product development project is started Variations represented in the product line architecture are resolved in the product architecture An instantiated product architecture is produced Constraints among variations are checked to ensure the product architecture is consistent. A valid product architecture is produced Product architecture is evaluated using the evaluation scenarios developed against the product line architecture 10 2008 Software Engineering Institute, Carnegie MellUniversity

7 References and Further Reading For details about the references cited in this document, see itiger: Bibliography. 2008 Clemson University 11