software architectural descriptions in ccs and pi calculus
play

Software Architectural Descriptions in CCS and PI-calculus Sandeep - PowerPoint PPT Presentation

Outline Overview of CCS Formalizing Software Connectors References Software Architectural Descriptions in CCS and PI-calculus Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay April 12, 2010 Sandeep Nimmakuri Guide:Prof.


  1. Outline Overview of CCS Formalizing Software Connectors References Software Architectural Descriptions in CCS and PI-calculus Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay April 12, 2010 Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  2. Outline Overview of CCS Formalizing Software Connectors References Outline 1 Overview of CCS 2 Formalizing Software Connectors 3 References Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  3. Outline Overview of CCS Formalizing Software Connectors References Outline 1 Overview of CCS 2 Formalizing Software Connectors 3 References Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  4. Outline Overview of CCS Formalizing Software Connectors References Why CCS and PI calculus Description of architectures Formalization architectures Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  5. Outline Overview of CCS Formalizing Software Connectors References Agent Figure: Agent C = in ( x ) . C ′ ( x ) C ( x ) = out ( x ) . C [Mil82] Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  6. Outline Overview of CCS Formalizing Software Connectors References Basic Combinators Summation A + B Composition A | B Restriction A = a.ta..A B = a .B C = (A | B) \ a Relabeling A = a . b . A B = a 1 . b 1 . B C = x.y.C now we can say that A is same as C[a/x,b/y] B is same as C[a1/x,b1/y] Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  7. Outline Overview of CCS Formalizing Software Connectors References labeled transition Figure: Transition A = a . A ′ + b .A B = b.B + c . B now transition can be defined as A | B a → A ′ | B − [kV06] Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  8. Outline Overview of CCS Formalizing Software Connectors References Outline 1 Overview of CCS 2 Formalizing Software Connectors 3 References Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  9. Outline Overview of CCS Formalizing Software Connectors References Semaphore Figure: Semaphore Semaphore = p.v.Semaphore P1 = p . v .P1 [MMP00] P2 = p . v .P2 SEM = Semaphore | P1 | P2 Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  10. Outline Overview of CCS Formalizing Software Connectors References No two process are in critical section at same time whenever there is p then eventually finally v should be present prop p1 = AG(not( < tp >< tp > tt)) prop p2 = AG(not( < tp > tt) ∨ AF( < tv > tt)) Table: CTL properties for Semaphore proc Semaphore = p.tp.v.tv.Semaphore proc P1 = ’p.’v.P1 proc P2 = ’p.’v.P2 proc SEM = (Semaphore | P1 | P2) \{ p,v } Table: CWB-mahine for Semaphore Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  11. Outline Overview of CCS Formalizing Software Connectors References Pipe Figure: Pipe Pipe = in. out .Pipe —–use of Pipe——— Source = in .Source Destination = out.Destination PIPE = Source | Pipe | Destination Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  12. Outline Overview of CCS Formalizing Software Connectors References The data sent to the pipe must read by first in first out basis by the destination There does not exist two writings of data into the pipe without reading the formar by destination Likewise there does not exist two readings of data without writing into the pipe by source Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  13. Outline Overview of CCS Formalizing Software Connectors References prop p1 = AG(not( < in >< in > tt )) prop p2 = AG(not( < out >< out > tt )) prop p3 = AG(not( < in > tt ) ∨ AF( < out > tt )) Table: CTL properties for Pipe proc Pipe = in.tin.’out.Pipe —–use of Pipe——— proc Source = ’in.Source proc Destination = out.tout.Destination proc PIPE = (Source | Pipe | Destination) \ { in,out } Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  14. Outline Overview of CCS Formalizing Software Connectors References Procedure Call Figure: ProcedureCallConnector PC = in. din .dout. out .PC ————use of procedure call——— CallingProcedure = in .out.CallingProcedure CalledProcedure = din. dout .CalledProcedure PROC = CalledProcedure | CallingProcedure | PC Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  15. Outline Overview of CCS Formalizing Software Connectors References Whenever Calling function makes ProcedureCall eventually there will always be respnce from called mathod Whenever Called function responces there will be prior call from calling function There is possibilty that calling function makes call followed by PC connector generates the request to the Called Procedure and reply from Called procedure and that forwarded to the Calling functions this sequence of actions may repeat infinite times Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  16. Outline Overview of CCS Formalizing Software Connectors References prop p1 = AG(not( < tin > tt ) ∨ AF( < tout > tt )) prop p2 = AG(not( < tout > tt ) ∪ < tin > tt ) prop p3 = max X = < t >< tin >< t >< tdin >< t > < tdout >< t >< tout > X Proc PC = in.tin.’din.dout.tdout.’out.PC ————use of procedure call ——— proc CallingProcedure = ’in.out.tout.CallingProcedure proc CalledProcedure = din.tdin.’dout.CalledProcedure proc PROC = CallingProcedure | CalledProcedure | PC \ { in,out,din,dout } Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  17. Outline Overview of CCS Formalizing Software Connectors References Shared Data Figure: SharedDataConnector SharedData = read.SharedData + write.SharedData ————Use of Shared Data—————- User1 = read .User1 + write .User1 User2 = read .User2 + write .User2 SHARE = SharedData | User1 | User2 [AG94] Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  18. Outline Overview of CCS Formalizing Software Connectors References There is a possibility of reading the data by user1 and again read by user2 . This sequence may repeat infinite number of times. There is a possibility of writing the data by user1 and again write by user2 . This squence of actions happens infinite number of times There is a possibility that reading the data and writing the data by signle process. This sequenceo of actions may repeat infinite times. There is a possibility that writing the data and reading the data by signle process. This sequenceo of actions may repeat infinite times. Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  19. Outline Overview of CCS Formalizing Software Connectors References prop p1 = max X = < t >< tread >< t >< tread > X prop p2 = max X = < t >< twrite >< t >< twrite > X prop p3 = max X = < t >< tread >< t >< twrite > X prop p4 = max X = < t >< twrite >< t >< tread > X proc SharedData = read.tread.SharedData + write.twrite.SharedData ————Use of Shared Data—————- proc User1 = ’read.User1 + ’write.User1 proc User2 = ’read.User2+ ’write.User2 proc SHARE = SharedData | User1 | User2 \ { read,write } Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  20. Outline Overview of CCS Formalizing Software Connectors References Figure: CSconnector CSConnector = req. vreq .vres. res .CSConnector —————————use of CS Connectors——— Client = req .res.Client Server = vreq. vres .Server CS = Client | CSConnector | Server Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

  21. Outline Overview of CCS Formalizing Software Connectors References Whenever client makes a request eventually there will always be respnce from server Whenever Server responces there will be prior request from Client There is possibilty that Client makes request followed by CSconnector generates the request to the Server and responce from Server and that forwarded to the Client this sequence of actions may repeat infinite times Sandeep Nimmakuri Guide:Prof. Rushikesh K. Joshi IIT Bombay Software Architectural Descriptions in CCS and PI-calculus

Recommend


More recommend