1 / 16

Distilling Software Architectural Primitives

Distilling Software Architectural Primitives. presented by Scott Armstrong sarmstr2@uiuc.edu. Authors. N. Mehta (USC) Student (2002) N. Medvidovic (USC) Professor. Related Papers.

questa
Download Presentation

Distilling Software Architectural Primitives

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distilling Software Architectural Primitives • presented by Scott Armstrong • sarmstr2@uiuc.edu

  2. Authors • N. Mehta (USC) • Student (2002) • N. Medvidovic (USC) • Professor

  3. 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)

  4. 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

  5. Understanding • Formally Describe Architectural Styles • Identify Style Characteristics • Compare Styles • Create Architectures using Primitives

  6. Framework • Assembly Language for Architectures • Set of Primitives • Characteristics of Large Number of Styles • Extensible • Improves Understanding of Styles

  7. Alfa • Modeling Styles • Primitives • Modeled in Alloy • Implemented directly in Java

  8. Alfa Style Dimensions • Structure • Topology • Behavior • Interaction • Data

  9. Alfa • Used to Model, Analyze and Implement: • Client-Server • C2 • Pipe-and-Filter • Push-based

  10. Alfa Primitives • Particles • Portals • Jumpers • Messages • Calls • Threads • Controllers • Fragments • Transports • Dispatcher

  11. Alfa Modeling in Alloy • Lightweight • Suitable for Formal Architecture Modeling • Structures and Constraints -1st order Logic

  12. Alfa Implementation • Implemented in Java • Alloy not suited to Details and Distribution • Alloy has limited scalability • Alfa Implementation in Java is less Efficient

  13. Alfa Extensibility • Client-Server: 4 Additional Primitives • C2: No Additional Primitives • Pipe-and-Filter: No Additional Primitives • Push-based: 2 Additional Primitives

  14. Alfa Reusability • Alloy Models • Alfa Primitives • Alfa Implementations of Infrastructures

  15. What it Means • Primitives can Improve Understanding • Primitives for Implementation? • Framework for Implementation? • Formal Approach to Architecture

More Related