ARCHITECTURE DESCRIPTION LANGUAGES

16

description

ARCHITECTURE DESCRIPTION LANGUAGES. Presented by: Pavan kumar Potaraju. 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. - PowerPoint PPT Presentation

Transcript of ARCHITECTURE DESCRIPTION LANGUAGES

Page 1: ARCHITECTURE DESCRIPTION LANGUAGES
Page 2: ARCHITECTURE DESCRIPTION LANGUAGES

Software Architecture-DefinitionSoftware Architecture-Definition

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

Page 3: ARCHITECTURE DESCRIPTION LANGUAGES

Software Architecture-A modelSoftware Architecture-A model

Shaw and Garlan present a model of Shaw and Garlan present a model of architecture based on three abstractions: architecture based on three abstractions:

Components: They are independent units of Components: They are independent units of computation. computation.

Connectors: They represent interactions Connectors: They represent interactions among components. among components.

Configurations: They are instance of Configurations: They are instance of architectural description represented as a architectural description represented as a graph of connectors and components.graph of connectors and components.

Page 4: ARCHITECTURE DESCRIPTION LANGUAGES

ADL-Why and What???ADL-Why and What???

Architectural descriptions were often Architectural descriptions were often informal and ad hoc. As a result:informal and ad hoc. As a result:

Architectural designs were not always Architectural designs were not always properly understoodproperly understood

The constraints assumed (i.e the The constraints assumed (i.e the architectural constraints) in the initial design architectural constraints) in the initial design were not enforced (sometimes) as the were not enforced (sometimes) as the system evolves.system evolves.

Page 5: ARCHITECTURE DESCRIPTION LANGUAGES

Continued….Continued….

Very few tools available to help the Very few tools available to help the architectural designers.architectural designers.

To address these problems, ADL's were To address these problems, ADL's were introduced.introduced.

Page 6: ARCHITECTURE DESCRIPTION LANGUAGES

What???What???

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

Page 7: ARCHITECTURE DESCRIPTION LANGUAGES

MIL’s Vs ADL’sMIL’s Vs ADL’s

MILS only describe the structure of an MILS only describe the structure of an implemented system.implemented system.

ADLs are used to define and model ADLs are used to define and model system architecture prior to system system architecture prior to system

implementation. implementation.

Page 8: ARCHITECTURE DESCRIPTION LANGUAGES

Types Of ADL’sTypes Of ADL’s

ACME ACME Rapide Rapide Wright Wright UniconUniconAesop Aesop MetaH MetaH LileannaLileanna

Page 9: ARCHITECTURE DESCRIPTION LANGUAGES

ACME-An Example…ACME-An Example…

rpc

Send-Request

Client

Receive Request

Server

( Caller ) ( Callee )

Page 10: ARCHITECTURE DESCRIPTION LANGUAGES

Continued..Continued..

System simple_cs = {System simple_cs = {

Component client = {Port send-request}Component client = {Port send-request}

Component server = {Port receive-request}Component server = {Port receive-request}

Connector rpc = {Roles {caller, callee}}Connector rpc = {Roles {caller, callee}}

Attachments : {client.send-request to Attachments : {client.send-request to rpc.caller;rpc.caller;

server.receive-request to rpc.callee}server.receive-request to rpc.callee}

}}

Page 11: ARCHITECTURE DESCRIPTION LANGUAGES

Wright-An Example..Wright-An Example..

Wright is pretty similar syntactically to ACMEWright is pretty similar syntactically to ACME

System simple_cs System simple_cs Component client = Component client =

port send-request = [behavioral spec] port send-request = [behavioral spec] spec = [behavioral spec]spec = [behavioral spec]

Component server = Component server = port receive-request= [behavioral spec]port receive-request= [behavioral spec]spec = [behavioral spec]spec = [behavioral spec]

Page 12: ARCHITECTURE DESCRIPTION LANGUAGES

Continued…Continued…

Connector rpc = Connector rpc = role caller = (request!x -> result?x ->caller) ^ STOProle caller = (request!x -> result?x ->caller) ^ STOProle callee = (invoke?x -> return!x -> callee) [] STOProle callee = (invoke?x -> return!x -> callee) [] STOPglue = (caller.request?x -> callee.invoke!x glue = (caller.request?x -> callee.invoke!x

-> callee.return?x -> callee.result!x -> callee.return?x -> callee.result!x -> glue) [] STOP-> glue) [] STOPInstancesInstancess : servers : serverc : clientc : clientr : rpcr : rpc

Page 13: ARCHITECTURE DESCRIPTION LANGUAGES

Continued…Continued…

Attachments : Attachments :

client.send-request as rpc.caller client.send-request as rpc.caller

server.receive-request as rpc.calleeserver.receive-request as rpc.callee

end simple_cs.end simple_cs.

Page 14: ARCHITECTURE DESCRIPTION LANGUAGES

Any Questions????Any Questions????

Page 15: ARCHITECTURE DESCRIPTION LANGUAGES
Page 16: ARCHITECTURE DESCRIPTION LANGUAGES

References:References:

D.Garlan and M.Shaw “ An Introduction to D.Garlan and M.Shaw “ An Introduction to software architecture” . In V.Ambriola and software architecture” . In V.Ambriola and G.Tortara, editors. Advances in software G.Tortara, editors. Advances in software engineering and knowledge engineering. engineering and knowledge engineering. World scientific publishing company, 1993.World scientific publishing company, 1993.

http://www.cs.cmu.edu/~acme http://

www.cs.cmu.edu/afs/cs/project/able/www/wright/index.html