distilling software architectural primitives

16
Distilling Software Architectural Primitives presented by Scott Armstrong [email protected]

Upload: questa

Post on 07-Jan-2016

33 views

Category:

Documents


0 download

DESCRIPTION

Distilling Software Architectural Primitives. presented by Scott Armstrong [email protected]. Authors. N. Mehta (USC) Student (2002) N. Medvidovic (USC) Professor. Related Papers. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Distilling Software Architectural Primitives

Distilling Software

Architectural Primitives

presented by Scott [email protected]

Page 2: Distilling Software Architectural Primitives

Authors

•N. Mehta (USC)

•Student (2002)

•N. Medvidovic (USC)

•Professor

Page 3: Distilling Software Architectural Primitives

Related Papers• 2000 – Software Connectors and Refinements in Family Architectures (Alexander Egyed,

Nikunj R. Mehta, Nenad Medvidovic)

• 2000 – Toward a taxonomy of software connectors (Mehta, Medvidovic, Sandeep Phadke)

• 2002 – Distilling Software Architectural Primitives from Architectural Styles

• 2002 – A Family of Software Architecture Implementation Frameworks (Medvidovic, Mehta, Marija Mikic-Rakic)

• 2003 – Software Architectural Support for Handheld Computing (Medvidovic, Mikic-Rakic, Mehta, Sam Malek)

• 2003 – Composing architectural styles from architectural primitives (Mehta, Medvidovic)

• 2004 – Modeling Behavior in Compositions of Software Architectural Primitives (Mehta, Medvidovic, Marjan Sirjani, Farhad Arbab)

• 2004 – Dissertation: Composing style-based software architectures from architectural primitives (Mehta, Medvidovic)

Page 4: Distilling Software Architectural Primitives

Overview

•Understanding Based on Set of Primitives

•Extensible Framework for Implementation

•Use Alfa as the Set of Primitives to:

•Characterize Styles

•Identify Similarities

•Compose Complex Styles

Page 5: Distilling Software Architectural Primitives

Understanding

•Formally Describe Architectural Styles

•Identify Style Characteristics

•Compare Styles

•Create Architectures using Primitives

Page 6: Distilling Software Architectural Primitives

Framework

•Assembly Language for Architectures

•Set of Primitives

•Characteristics of Large Number of Styles

•Extensible

•Improves Understanding of Styles

Page 7: Distilling Software Architectural Primitives

Alfa

•Modeling Styles

•Primitives

•Modeled in Alloy

•Implemented directly in Java

Page 8: Distilling Software Architectural Primitives

Alfa Style Dimensions

•Structure

•Topology

•Behavior

•Interaction

•Data

Page 9: Distilling Software Architectural Primitives

Alfa

•Used to Model, Analyze and Implement:

•Client-Server

•C2

•Pipe-and-Filter

•Push-based

Page 10: Distilling Software Architectural Primitives

Alfa Primitives

•Particles

•Portals

•Jumpers

•Messages

•Calls

•Threads

•Controllers

•Fragments

•Transports

•Dispatcher

Page 11: Distilling Software Architectural Primitives

Alfa Modeling in Alloy

•Lightweight

•Suitable for Formal Architecture Modeling

•Structures and Constraints -1st order Logic

Page 12: Distilling Software Architectural Primitives

Alfa Implementation•Implemented in Java

•Alloy not suited to Details and Distribution

•Alloy has limited scalability

•Alfa Implementation in Java is less Efficient

Page 13: Distilling Software Architectural Primitives

Alfa Extensibility

•Client-Server: 4 Additional Primitives

•C2: No Additional Primitives

•Pipe-and-Filter: No Additional Primitives

•Push-based: 2 Additional Primitives

Page 14: Distilling Software Architectural Primitives

Alfa Reusability

•Alloy Models

•Alfa Primitives

•Alfa Implementations of Infrastructures

Page 15: Distilling Software Architectural Primitives

What it Means

•Primitives can Improve Understanding

•Primitives for Implementation?

•Framework for Implementation?

•Formal Approach to Architecture

Page 16: Distilling Software Architectural Primitives