Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Architecture-Definition According to Shaw [1], the software architecture of a system is an abstract representation of the system’s components,

Similar presentations


Presentation on theme: "Software Architecture-Definition According to Shaw [1], the software architecture of a system is an abstract representation of the system’s components,"— Presentation transcript:

1

2 Software Architecture-Definition According to Shaw [1], the software architecture of a system is an abstract representation of the system’s components, their interfaces, and constraints on the system. According to Shaw [1], the software architecture of a system is an abstract representation of the system’s components, their interfaces, and constraints on the system.

3 Software Architecture-A model Shaw and Garlan present a model of architecture based on three abstractions: Shaw and Garlan present a model of architecture based on three abstractions:  Components: They are independent units of computation.  Connectors: They represent interactions among components.  Configurations: They are instance of architectural description represented as a graph of connectors and components.

4 ADL-Why and What??? Architectural descriptions were often informal and ad hoc. As a result: Architectural descriptions were often informal and ad hoc. As a result:  Architectural designs were not always properly understood  The constraints assumed (i.e the architectural constraints) in the initial design were not enforced (sometimes) as the system evolves.

5 Continued….  Very few tools available to help the architectural designers.  To address these problems, ADL's were introduced.

6 What???  Architecture description languages (ADL’s) are formal languages that can be used to represent the architecture of a software system.

7 MIL’s Vs ADL’s  MILS only describe the structure of an implemented system.  ADLs are used to define and model system architecture prior to system implementation.

8 Types Of ADL’s  ACME  Rapide  Wright  Unicon  Aesop  MetaH  Lileanna

9 ACME-An Example… rpc Send-Request Client Receive Request Server ( Caller )( Callee )

10 Continued.. System simple_cs = { Component client = {Port send-request} Component server = {Port receive-request} Connector rpc = {Roles {caller, callee}} Attachments : {client.send-request to rpc.caller; server.receive-request to rpc.callee} }

11 Wright-An Example.. Wright is pretty similar syntactically to ACME System simple_cs Component client = port send-request = [behavioral spec] spec = [behavioral spec] Component server = port receive-request= [behavioral spec] spec = [behavioral spec]

12 Continued… Connector rpc = role caller = (request!x -> result?x ->caller) ^ STOP role callee = (invoke?x -> return!x -> callee) [] STOP glue = (caller.request?x -> callee.invoke!x -> callee.return?x -> callee.result!x -> callee.return?x -> callee.result!x -> glue) [] STOP -> glue) [] STOPInstances s : server c : client r : rpc

13 Continued… Attachments : client.send-request as rpc.caller server.receive-request as rpc.callee end simple_cs.

14  Any Questions????

15

16 References:  D.Garlan and M.Shaw “ An Introduction to software architecture”. In V.Ambriola and G.Tortara, editors. Advances in software engineering and knowledge engineering. World scientific publishing company, 1993.   http://www.cs.cmu.edu/~acme http://www.cs.cmu.edu/~acme   http://www.cs.cmu.edu/afs/cs/project/able/w ww/wright/index.html http://www.cs.cmu.edu/afs/cs/project/able/w ww/wright/index.html


Download ppt "Software Architecture-Definition According to Shaw [1], the software architecture of a system is an abstract representation of the system’s components,"

Similar presentations


Ads by Google