Présenté par Zawar Qayyum Université Européenne de Bretagne VALORIA Lab – Université de...

of 23/23
Présenté par Zawar Qayyum Université Européenne de Bretagne VALORIA Lab – Université de Bretagne-Sud Supporting Architectural Composition at Runtime with π-ADL.NET
  • date post

    19-Dec-2015
  • Category

    Documents

  • view

    213
  • download

    0

Embed Size (px)

Transcript of Présenté par Zawar Qayyum Université Européenne de Bretagne VALORIA Lab – Université de...

  • Slide 1
  • Prsent par Zawar Qayyum Universit Europenne de Bretagne VALORIA Lab Universit de Bretagne-Sud Supporting Architectural Composition at Runtime with -ADL.NET
  • Slide 2
  • (C) Zawar Qayyum, European University of Brittany, 2008 2 Contents Related Work Research Objectives Approach -ADL -ADL.NET Future work
  • Slide 3
  • (C) Zawar Qayyum, European University of Brittany, 2008 3 Related Work ADLFormal foundationsDomain Independent Tool Support ModellingRefinementImplementation MetaHNoneNoComprehensive Partial RapideEvents modelled as Posets YesPartialNone WeavesStructure conforms to Bipartite directed multigraphs NoComprehensive None C2NoneYesPartialNone WrightSubset of CSPYesPartialNone ArchJavaFormal type system for architectural constructs only YesComprehensive xADL 2.0NoneYesPartialNone -ADL.NET-calculusYesComprehensive
  • Slide 4
  • (C) Zawar Qayyum, European University of Brittany, 2008 4 Related Work
  • Slide 5
  • (C) Zawar Qayyum, European University of Brittany, 2008 5 Related Work
  • Slide 6
  • (C) Zawar Qayyum, European University of Brittany, 2008 6 Research Objectives Assess feasibility of developing a Software Architecture Description Language that supports the phases from architecture description to implementation in order to: Preserve the architectural integrity of the system at the implementation level Support analysis of the concrete architecture Support the evolution of the implementation while enforcing its architectural integrity And directly use the implementation mechanisms of the hosting platform
  • Slide 7
  • (C) Zawar Qayyum, European University of Brittany, 2008 7 Approach Provide an implementation level compiler and analysis tool for the ADL, Incorporate some modifications in the ADL syntax in order for it to fulfill the role of a deterministic implementation language while retaining its formal ADL comportment, and Propose formally founded platform specific extensions to the ADL in order to enable it to access reusable software components available on the implementation platform. The resulting compiler environment is called -ADL.NET.
  • Slide 8
  • (C) Zawar Qayyum, European University of Brittany, 2008 8 -ADL Formally grounded on the -Calculus Support for structure and behavior Small and simple syntax Style definition
  • Slide 9
  • (C) Zawar Qayyum, European University of Brittany, 2008 9 -ADL Application Areas Ambient Intelligence Sensor-actuator Networks Mobile Agent Systems Human-computer Interfaces for Monitoring systems Grid Computing Systems Enterprise Application Integration Systems Software Systems Targeting J2EE Platforms
  • Slide 10
  • (C) Zawar Qayyum, European University of Brittany, 2008 10 -ADL Basic units of execution: Behaviors, Abstractions (behavior templates) Connections, Pseudo-applications Compose, Choose and Replicate
  • Slide 11
  • (C) Zawar Qayyum, European University of Brittany, 2008 11 -ADL Primitive data types: Integer, String, Boolean, Float Constructed Data types: tuple, view, union, any, sequence, set, bag, quote, location Syntax for conditional statements and loops
  • Slide 12
  • (C) Zawar Qayyum, European University of Brittany, 2008 12 -ADL.NET Advantages of the.NET runtime environment: A sophisticated Intermediate Language that can completely encode the -ADL syntax Large collection of reusable components, potentially accessible by -ADL code A major industry technology, standardized by European Computer Manufacturers Association (ECMA)
  • Slide 13
  • (C) Zawar Qayyum, European University of Brittany, 2008 13 Weather Service Example
  • Slide 14
  • (C) Zawar Qayyum, European University of Brittany, 2008 14 Weather Service Example value temperature_service is abstraction (name : String) { t_conn : Connection [Float]; if (name == "Paris") do { compose { via t_conn send 5.5; and done; } if (name == "New York") do { compose { via t_conn send 2.7; and done; } if (name == "Dubai") do { compose { via t_conn send 22.3; and done; } //we get here if no match is found compose { via t_conn send 0.0; and done; } } //end temperature_service
  • Slide 15
  • (C) Zawar Qayyum, European University of Brittany, 2008 15 Weather Service Example value speed_service is abstraction (name : String){ s_conn : Connection [Float]; if (name == "Paris") do { compose { via s_conn send 15; and done; } if (name == "New York") do { compose { via s_conn send 20; and done; } if (name == "Dubai") do { compose { via s_conn send 10; and done; } //we get here if no match is found compose { via s_conn send 0.0; and done; } } //end speed_service
  • Slide 16
  • (C) Zawar Qayyum, European University of Brittany, 2008 16 Weather Service Example value humidity_service is abstraction (name : String) { h_conn : Connection [Float]; if (name == "Paris") do { compose { via h_conn send 75; and done; } if (name == "New York") do { compose { via h_conn send 80; and done; } if (name == "Dubai") do { compose { via h_conn send 30; and done; } //we get here if no match is found compose { via h_conn send 0.0; and done; } } //end humidity_service
  • Slide 17
  • (C) Zawar Qayyum, European University of Brittany, 2008 17 Weather Service Example value english_provider is abstraction (v : view[place : String, param : Integer, val : Float]) { via out send "The "; if (v::param == 1) do via out send "Temperature"; if (v::param == 2) do via out send "Wind Speed"; if (v::param == 3) do via out send "Humidity"; via out send " at "; via out send v::place; via out send " is "; via out send v::val; if (v::param == 1) do via out send " degree C"; if (v::param == 2) do via out send " km/h"; if (v::param == 3) do via out send " %"; via out send "\n"; } //end english_provider
  • Slide 18
  • (C) Zawar Qayyum, European University of Brittany, 2008 18 Weather Service Example value french_provider is abstraction (v : view[place : String, param : Integer, val : Float]) { via out send "La "; if (v::param == 1) do via out send "Temperature"; if (v::param == 2) do via out send "Vitesse de vent"; if (v::param == 3) do via out send "Humidite"; via out send " a "; via out send v::place; via out send " est "; via out send v::val; if (v::param == 1) do via out send " degree C"; if (v::param == 2) do via out send " km/h"; if (v::param == 3) do via out send " %"; via out send "\n"; } //end french_provider
  • Slide 19
  • (C) Zawar Qayyum, European University of Brittany, 2008 19 Weather Service Example weather_man names behaviour { vset : view[place : String, param : Integer, val : Float]; language : Integer; valConn : Connection [Float]; via out send "Please enter the weather location: "; via in receive vset::place; via out send "Please select the weather element:\n1. Temperature\n2. Wind Speed\n3. Humidity\n"; via in receive vset::param; via out send "Please select the result language:\n1. English\n2. Francais\n"; via in receive language; if (vset::param == 1) do { via temperature_service send vset::place where {valConn renames t_conn}; via valConn receive vset::val; } else do if (vset::param == 2) do { via speed_service send vset::place where {valConn renames s_conn}; via valConn receive vset::val; } else do if (vset::param == 3) do { via humidity_service send vset::place where {valConn renames h_conn}; via valConn receive vset::val; } if (language == 1) do via english_provider send vset; if (language == 2) do via french_provider send vset; }
  • Slide 20
  • (C) Zawar Qayyum, European University of Brittany, 2008 20 Weather Service Example
  • Slide 21
  • (C) Zawar Qayyum, European University of Brittany, 2008 21 Weather Service Example
  • Slide 22
  • (C) Zawar Qayyum, European University of Brittany, 2008 22 Conclusion: Future Work
  • Slide 23
  • (C) Zawar Qayyum, European University of Brittany, 2008 23 Questions & Answers