interconnectio

interconnectio - Software Connectors 1 Role and Challenge...

Info iconThis preview shows pages 1–8. Sign up to view the full content.

View Full Document Right Arrow Icon
Software Connectors 1 CS 578: Software Architectures March 23, 2004 Role and Challenge of Software Connectors: How Do We Get Components A and B to Interact? (1) Attach adapter to A Attach adapter to B Publish abstraction of A’s form Provide B with import/export converter Change A’s form to B’s form Make B multilingual
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Software Connectors 2 CS 578: Software Architectures March 23, 2004 Role and Challenge of Software Connectors: How Do We Get Components A and B to Interact? (2) Introduce intermediate form Negotiate to find common form for A and B Transform on the fly Maintain multiple versions of A Separate B’s essence from its packaging What is the right answer?
Background image of page 2
Software Connectors 3 CS 578: Software Architectures March 23, 2004 Software Interconnection Models ± Interconnection Models (IM) as defined by Perry ² unit interconnection ² syntactic interconnection ² semantic interconnection ± All three are present in a system ± Are all equally appropriate at the architectural level?
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Software Connectors 4 CS 578: Software Architectures March 23, 2004 Unit Interconnection ± Defines relationships between a system’s units ² units are components (modules or files) ² basic unit relationship is dependency ² UnitIM = ( { units },{ “depends on” } ) ± Examples ² determining the context of compilation ² e.g., the C preprocessor ² IM = ( { files },{ “include” } ) ² determining recompilation strategies ² e.g., make facility ² { compile_units },{ , “has changed” } ) ² system modeling ² e.g., RCS, DVS, CVS, SCCS ² { systems, files },{ “is composed of” } )
Background image of page 4
Software Connectors 5 CS 578: Software Architectures March 23, 2004 Unit Interconnection Characteristics ± Coarse-grain interconnections ² at the level of entire components ± Interconnections are static ² applicable on only one of Kruchten’s 4+1 views ± Does not describe component interactions ² focus is exclusively on dependencies ± Applicable on implemented modules only
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Software Connectors 6 CS 578: Software Architectures March 23, 2004 Syntactic Interconnection ± Describes relations among syntactic elements of PLs ² variable definition/use ² method definition/invocation ² IM = ( { methods , types , variables , locations }, { “is def at” , “is set at” , “is used at” , “is del from” , “is changed to” , “is added to” }) ± Examples ² automated software change management ² e.g., Interlisp’s Masterscope ² static analysis ² e.g., detection of unreachable code by compilers ² smart recompilation ² changes inside methods localize recompilation ² system modeling ² finer level of granularity than the unit IM
Background image of page 6
Software Connectors 7 CS 578: Software Architectures March 23, 2004 Syntactic Interconnection Characteristics ± Finer-grain interconnections ²
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 8
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 06/16/2009 for the course CSCI 578 taught by Professor Nenadmedidovic during the Spring '08 term at USC.

Page1 / 25

interconnectio - Software Connectors 1 Role and Challenge...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online