SlideShare a Scribd company logo
Web Pontoon: A Method for Reflective Web Applications



                                                                         Web Pontoon
          A Method for Reflective Web Applications
                                                           Reza Razavi – razavi@acm.org




             •       Not a webapp, but a method for developing webapps
             •       Online programming by non-professional programmers
             •       Managing the functionality of your webapp as content
             •       When diverse & changing control flows
             •       Provision of individualised services to senior citizens
             •       Reengineering & architectural innovation of legacy apps
             •       Web, OO, AOM, SOA, EUP and DDD
             •       Pure Smalltalk + Seaside generated JavaScripts for GUI
             •       Seaside Pier Magritte + Dart
             •       Large scale deployments (100 000 servers for 2015)
             •       Commercial product
                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
Web Pontoon: A Method for Reflective Web Applications


Context: Architecture for Ambient Systems

                                                Activity intelligence services:                                                                              Multiple users
                                                 What, Where, When, Who, Why




                                                                                             Decision
                                                                                             Making

                                                                                              Online
                                                               Adaptation
                                                                 Online




                                                                                                                               Observation
                                                                                                                                 Online
                                                                                            Management

                                                                                            Execution &
                                                                                             lifecycle




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                                         -2-
Web Pontoon: A Method for Reflective Web Applications


Context: Architecture for Ambient Systems

                                                Activity intelligence services:                                                                              Multiple users
                                                 What, Where, When, Who, Why




                                                                                             Decision
                                                                                             Making

                                                                                              Online
                                                               Adaptation
                                                                 Online




                                                                                                                               Observation
                                                                                                                                 Online
                                                                                            Management

                                                                                            Execution &
                                                                                             lifecycle




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                                         -3-
Web Pontoon: A Method for Reflective Web Applications


Component-based web application development in Seaside



                                                                                                                         i1
  Component                                                                                                                 I1-i2
                                                               CMP1                          CMP2                        i2
                                                                                                                           CMP3                    IO




                                                                                           i1
                                                               CMP4                           I1+i2
                                                                                             CMP5                          CMP6
                                                                                           i2


               Hardcoded
              control flows
                                                               CMP7                          CMP8                          CMP9




                                                                                                                                                                 Matrix of
                                                                                                                                                               components
                                                                                                                                                               adopted from
                                                                                                                                                              Damien Picard
                                                                                                                                                             and Loic Lagadec
                                                                                                                                                               ESUG 2009
                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                                -4-
Web Pontoon: A Method for Reflective Web Applications


Objective: On-line end-user programmable control flows



                                                                                                                         i1
                                                               CMP1                          CMP2                           I1-i2
                                                                                                                           CMP3                    IO
                                                                                                                         i2




                                                                                           i1
                                                               CMP4                           I1+i2
                                                                                             CMP5                          CMP6
                                                                                           i2


Dynamically programmable
     control flows
                                                               CMP7                          CMP8                          CMP9




   - Change online the output with predictable results
   + Situated lifecycle management
                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                                -5-
Web Pontoon: A Method for Reflective Web Applications


Solution approach


             • Enable online & controlled programmability of webapps
                     by embedding a DSML

             • Address diversity of domains and requirements by a
                     meta-language framework approach

             • Address the identification of changing aspects and
                     DSML requirements by Domain-Driven Design

             • Address smart behaviour requirements by situated
                     lifecycle management

                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               -6-
Web Pontoon: A Method for Reflective Web Applications


Creating DSML by extending of a meta-language framework


                                                                                                                 Pontoon meta-language
         •      Domain-Driven Design
         •      Framework specialisation

                                                                                                                                   Pontoon DSML
               Standard programming


                                                                                                                             DS web pontoon
        Online end-user programming


                                                                                                         Individualised web pontoons
     Execution (manually by ordinary
     end-users or automated)

                                                                                                                   Pontoon app lifecycles


                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                                 -7-
Web Pontoon: A Method for Reflective Web Applications


Standard Smalltalk (web) application development practices


         Smalltalk meta-language                                                                                 Pontoon meta-language


             Smalltalk dialect / fork                                                                                              Pontoon DSML


     Smalltalk (web) application                                                                                             DS web pontoon

                  Configuration                                                                                  Configuration, CM
               Content management                                                                             + Online EU programming

                     Data repositories                                                                                    Situated lifecycles


                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                                 -8-
Web Pontoon: A Method for Reflective Web Applications


Dart : Meta-language framework design



                                                                    Activity Conscious Product
                    Activity




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               -9-
Web Pontoon: A Method for Reflective Web Applications


Background: Ambiance project (2005-2006), UL




                                      Tasks




     Service Repository

Activity

                                                               Steps
                          Domain Concepts




http://osl.cs.uiuc.edu/people?user=razavi
                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               - 10 -
Web Pontoon: A Method for Reflective Web Applications


Assumptions


             • Changing content & functionality
             • Changes are unpredictable, by their patterns aren’t
             • Patterns of change may be “wrapped” into a DSML
             • End-user are motivated to program using that DSML




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               - 11 -
Web Pontoon: A Method for Reflective Web Applications




               Managing flows & lifecycles as content



                               •       Systematic tree structure of pontoon web apps,
                                       both at the operational & knowledge level
                               •       Seaside JQuery-based viewers




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
Web Pontoon: A Method for Reflective Web Applications


Webapp as a tree of operational- & knowledge-level nodes




                                                                                                   Root




         Pages                    Components                         Files                     Templates                     Concepts           Contracts               Activities




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                                - 13 -
Web Pontoon: A Method for Reflective Web Applications


Implementation




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               - 14 -
Web Pontoon: A Method for Reflective Web Applications


Seaside JQuery-based viewers / editors


             • Based on a framework for hierarchical viewers / editors
                        • Implemented in a couple of weeks
                        • Via extensive refactoring

             • Seaside JQuery examples as starting point
                        • Without any previous knowledge of JQuery
                        • Without any line of JavaScript ever written




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               - 15 -
Web Pontoon: A Method for Reflective Web Applications




                Illustration: Activity editor
                             Action 1                                      Action 2                                     Action 3                             +


                                           Operation 1

                                           Operation 2


                                                       Here goes the description of this
                                                       Operation


                                          -    Design Operation                -    Execute Operation                       -      Remove Operation
                                          -    Edit Operation                  -    View Operation Traces                   -      Copy Operation

                                           Operation 3

                                          Add Operation




                              -    Edit Action
                              -    Remove Action

                  - Execute Activity                                                 - Edit Activity
                  - View Activity Traces                                             - Remove Activity
                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
Web Pontoon: A Method for Reflective Web Applications




               Illustration




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
Web Pontoon: A Method for Reflective Web Applications


Twitter – traffic info example


             • Two levels of programming in pontoon webapps
             • Reusability of existing components
                        • Atomic services / Contracts
             • Accessibility of on-line data streams (& web services)
             • Accessibility of on-line communication media
                        • Social networking
             • Relative ease of use
             • Expressivity
             • Case designed for a short but yet representative demo
                        • Real-life usefulness not necessarily a goal
                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               - 18 -
Web Pontoon: A Method for Reflective Web Applications




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               - 19 -
Web Pontoon: A Method for Reflective Web Applications




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               - 20 -
Web Pontoon: A Method for Reflective Web Applications


Login to Twitter atomic service




                                                                                                                             aTwitter
                                                                                                                            Connection



                                         Login to Twitter




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               - 21 -
Web Pontoon: A Method for Reflective Web Applications


Get England traffic info atomic service




                                                                                                                                   aString



                                              Get England
                                               traffic info




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                                  - 22 -
Web Pontoon: A Method for Reflective Web Applications


Interactive tweeting service



               aTwitter
              Connection                                                                                                                                  aTwitter
                                                                                                                                                           Com.


                                                                                        Interactive
                                                                                         tweeting


                aMessage




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               - 23 -
Web Pontoon: A Method for Reflective Web Applications


While true atomic service




                                                 anAction




                                                                                                                         While true




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               - 24 -
Web Pontoon: A Method for Reflective Web Applications




                                                   Login to Twitter


                                                           While true



                                                                                                                              Get England traffic
                                                                                                                                     info

                                                                                                                                   Send to twitter


         WATwitterTask >> go
            aTwitter := self call: TwitterLoginService new.
            [itemColl := CSLTransportInfo new results atRandom.
             InteractiveTweetingService
                      on: aTwitter
                      tweet: anItem description]
                             whileTrue
                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                                 - 25 -
Web Pontoon: A Method for Reflective Web Applications




               Live demo

                               •       Programming on-line the above example
                                         •       As an end-user programmers
                                         •       Via http://www.afacms.com
                               •       Executing the above end-user program
                                         •       As a final end-user
                               •       Inspecting execution lifecycles
                                         •       As a manager
                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
Web Pontoon: A Method for Reflective Web Applications


Application perspectives – ICT-based support to the elderly




                                 Delegate to care providers the
                                 management of diversity &
                                 unpredictable changeability
                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               - 27 -
Web Pontoon: A Method for Reflective Web Applications


Application perspectives – Business applications




                                 Delegate to domain experts the
                                 description & validation of
                                 application-level business logic via
                                 executable models
                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               - 28 -
Web Pontoon: A Method for Reflective Web Applications


Other application perspectives


             • Web-based model authoring and execution systems
             • Architectural innovation of legacy applications
             • Self-documenting web applications
             • Extending Service-Serve possibilities
             • On-line store for situational services
                        • Community project http://pontoonity.com

                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               - 29 -
Web Pontoon: A Method for Reflective Web Applications


Research perspectives
                                                                                                                                                             Multiple users
                                                Activity intelligence services:
                                                 What, Where, When, Who, Why




      Internet




                                                                                             Decision
                                                                                             Making

                                                                                              Online
                                                               Adaptation
                                                                 Online




                                                                                                                               Observation
                                                                                                                                 Online
          Wifi
                                                                                            Management

                                                                                            Execution &
                                                                                             lifecycle




       ZigBee




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                                         - 30 -
Web Pontoon: A Method for Reflective Web Applications


Call for collaboration


             • Independent start-up company
             • Hosted by the Ministry of Economy and Foreign
                     Commerce in Luxembourg

             • Background in industrial software development (Prelude
                     Inspection) & academic research (Paris 6 & Univ.
                     Luxembourg)

             • Welcomes industrial and academic Partners, Sponsors
                     and Early Adopters

                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                               - 31 -
Web Pontoon: A Method for Reflective Web Applications




                                                                            Contact

                                     AAS (Ambient Activity Systems)
                                     Web technology meets dynamics of changing economy

                                     Reza RAZAVI

                                     Ph.D. Computer Science
                                     Chief Technology Officer

                                     (+352) 621 50 46 53
                                     razavi@aas.lu
                                     Ecostart – centre d’entreprise et d’innovation
                                     Bâtiment 1, Rue de l’industrie – L-3895 Foetz (LUXEMBOURG)




                                                                                                .
®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010                                           - 32 -

More Related Content

Similar to Web Pontoon

Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0lgradina
 
Validating a smartphone-based pedestrian navigation system prototype - An inf...
Validating a smartphone-based pedestrian navigation system prototype - An inf...Validating a smartphone-based pedestrian navigation system prototype - An inf...
Validating a smartphone-based pedestrian navigation system prototype - An inf...Beniamino Murgante
 
Web Performance Acceleration with Strangeloop AS1000
Web Performance Acceleration with Strangeloop AS1000Web Performance Acceleration with Strangeloop AS1000
Web Performance Acceleration with Strangeloop AS1000Thomas Stensitzki
 
Presentatie peter vink back to the future, TASS technology solutions
Presentatie peter vink   back to the future, TASS technology solutionsPresentatie peter vink   back to the future, TASS technology solutions
Presentatie peter vink back to the future, TASS technology solutions#devdate
 
Monitoring and sustaining services: Lessons learned from WaterAid's post-impl...
Monitoring and sustaining services: Lessons learned from WaterAid's post-impl...Monitoring and sustaining services: Lessons learned from WaterAid's post-impl...
Monitoring and sustaining services: Lessons learned from WaterAid's post-impl...IRC
 
IoT 2010 Talk on System Infrastructure for the Internet of Things.
IoT 2010 Talk on System Infrastructure for the  Internet of Things.IoT 2010 Talk on System Infrastructure for the  Internet of Things.
IoT 2010 Talk on System Infrastructure for the Internet of Things.Fahim Kawsar
 
J.D. Stanley - PTA and Informed Mobility
J.D. Stanley - PTA and Informed MobilityJ.D. Stanley - PTA and Informed Mobility
J.D. Stanley - PTA and Informed MobilityShane Mitchell
 

Similar to Web Pontoon (7)

Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0Sdf Panel Nice 2009 V1.0
Sdf Panel Nice 2009 V1.0
 
Validating a smartphone-based pedestrian navigation system prototype - An inf...
Validating a smartphone-based pedestrian navigation system prototype - An inf...Validating a smartphone-based pedestrian navigation system prototype - An inf...
Validating a smartphone-based pedestrian navigation system prototype - An inf...
 
Web Performance Acceleration with Strangeloop AS1000
Web Performance Acceleration with Strangeloop AS1000Web Performance Acceleration with Strangeloop AS1000
Web Performance Acceleration with Strangeloop AS1000
 
Presentatie peter vink back to the future, TASS technology solutions
Presentatie peter vink   back to the future, TASS technology solutionsPresentatie peter vink   back to the future, TASS technology solutions
Presentatie peter vink back to the future, TASS technology solutions
 
Monitoring and sustaining services: Lessons learned from WaterAid's post-impl...
Monitoring and sustaining services: Lessons learned from WaterAid's post-impl...Monitoring and sustaining services: Lessons learned from WaterAid's post-impl...
Monitoring and sustaining services: Lessons learned from WaterAid's post-impl...
 
IoT 2010 Talk on System Infrastructure for the Internet of Things.
IoT 2010 Talk on System Infrastructure for the  Internet of Things.IoT 2010 Talk on System Infrastructure for the  Internet of Things.
IoT 2010 Talk on System Infrastructure for the Internet of Things.
 
J.D. Stanley - PTA and Informed Mobility
J.D. Stanley - PTA and Informed MobilityJ.D. Stanley - PTA and Informed Mobility
J.D. Stanley - PTA and Informed Mobility
 

More from ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

More from ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Recently uploaded

Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeCzechDreamin
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfalexjohnson7307
 
Transforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UXTransforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UXUXDXConf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationZilliz
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsExpeed Software
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsUXDXConf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
Server-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineServer-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineUXDXConf
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀DianaGray10
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераMark Opanasiuk
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2DianaGray10
 

Recently uploaded (20)

Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
The architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdfThe architecture of Generative AI for enterprises.pdf
The architecture of Generative AI for enterprises.pdf
 
Transforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UXTransforming The New York Times: Empowering Evolution through UX
Transforming The New York Times: Empowering Evolution through UX
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Introduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG EvaluationIntroduction to Open Source RAG and RAG Evaluation
Introduction to Open Source RAG and RAG Evaluation
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
In-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT ProfessionalsIn-Depth Performance Testing Guide for IT Professionals
In-Depth Performance Testing Guide for IT Professionals
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Server-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at PricelineServer-Driven User Interface (SDUI) at Priceline
Server-Driven User Interface (SDUI) at Priceline
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
Exploring UiPath Orchestrator API: updates and limits in 2024 🚀
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 

Web Pontoon

  • 1. Web Pontoon: A Method for Reflective Web Applications Web Pontoon A Method for Reflective Web Applications Reza Razavi – razavi@acm.org • Not a webapp, but a method for developing webapps • Online programming by non-professional programmers • Managing the functionality of your webapp as content • When diverse & changing control flows • Provision of individualised services to senior citizens • Reengineering & architectural innovation of legacy apps • Web, OO, AOM, SOA, EUP and DDD • Pure Smalltalk + Seaside generated JavaScripts for GUI • Seaside Pier Magritte + Dart • Large scale deployments (100 000 servers for 2015) • Commercial product . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
  • 2. Web Pontoon: A Method for Reflective Web Applications Context: Architecture for Ambient Systems Activity intelligence services: Multiple users What, Where, When, Who, Why Decision Making Online Adaptation Online Observation Online Management Execution & lifecycle . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -2-
  • 3. Web Pontoon: A Method for Reflective Web Applications Context: Architecture for Ambient Systems Activity intelligence services: Multiple users What, Where, When, Who, Why Decision Making Online Adaptation Online Observation Online Management Execution & lifecycle . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -3-
  • 4. Web Pontoon: A Method for Reflective Web Applications Component-based web application development in Seaside i1 Component I1-i2 CMP1 CMP2 i2 CMP3 IO i1 CMP4 I1+i2 CMP5 CMP6 i2 Hardcoded control flows CMP7 CMP8 CMP9 Matrix of components adopted from Damien Picard and Loic Lagadec ESUG 2009 . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -4-
  • 5. Web Pontoon: A Method for Reflective Web Applications Objective: On-line end-user programmable control flows i1 CMP1 CMP2 I1-i2 CMP3 IO i2 i1 CMP4 I1+i2 CMP5 CMP6 i2 Dynamically programmable control flows CMP7 CMP8 CMP9 - Change online the output with predictable results + Situated lifecycle management . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -5-
  • 6. Web Pontoon: A Method for Reflective Web Applications Solution approach • Enable online & controlled programmability of webapps by embedding a DSML • Address diversity of domains and requirements by a meta-language framework approach • Address the identification of changing aspects and DSML requirements by Domain-Driven Design • Address smart behaviour requirements by situated lifecycle management . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -6-
  • 7. Web Pontoon: A Method for Reflective Web Applications Creating DSML by extending of a meta-language framework Pontoon meta-language • Domain-Driven Design • Framework specialisation Pontoon DSML Standard programming DS web pontoon Online end-user programming Individualised web pontoons Execution (manually by ordinary end-users or automated) Pontoon app lifecycles . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -7-
  • 8. Web Pontoon: A Method for Reflective Web Applications Standard Smalltalk (web) application development practices Smalltalk meta-language Pontoon meta-language Smalltalk dialect / fork Pontoon DSML Smalltalk (web) application DS web pontoon Configuration Configuration, CM Content management + Online EU programming Data repositories Situated lifecycles . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -8-
  • 9. Web Pontoon: A Method for Reflective Web Applications Dart : Meta-language framework design Activity Conscious Product Activity . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 -9-
  • 10. Web Pontoon: A Method for Reflective Web Applications Background: Ambiance project (2005-2006), UL Tasks Service Repository Activity Steps Domain Concepts http://osl.cs.uiuc.edu/people?user=razavi . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 10 -
  • 11. Web Pontoon: A Method for Reflective Web Applications Assumptions • Changing content & functionality • Changes are unpredictable, by their patterns aren’t • Patterns of change may be “wrapped” into a DSML • End-user are motivated to program using that DSML . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 11 -
  • 12. Web Pontoon: A Method for Reflective Web Applications Managing flows & lifecycles as content • Systematic tree structure of pontoon web apps, both at the operational & knowledge level • Seaside JQuery-based viewers . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
  • 13. Web Pontoon: A Method for Reflective Web Applications Webapp as a tree of operational- & knowledge-level nodes Root Pages Components Files Templates Concepts Contracts Activities . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 13 -
  • 14. Web Pontoon: A Method for Reflective Web Applications Implementation . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 14 -
  • 15. Web Pontoon: A Method for Reflective Web Applications Seaside JQuery-based viewers / editors • Based on a framework for hierarchical viewers / editors • Implemented in a couple of weeks • Via extensive refactoring • Seaside JQuery examples as starting point • Without any previous knowledge of JQuery • Without any line of JavaScript ever written . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 15 -
  • 16. Web Pontoon: A Method for Reflective Web Applications Illustration: Activity editor Action 1 Action 2 Action 3 + Operation 1 Operation 2 Here goes the description of this Operation - Design Operation - Execute Operation - Remove Operation - Edit Operation - View Operation Traces - Copy Operation Operation 3 Add Operation - Edit Action - Remove Action - Execute Activity - Edit Activity - View Activity Traces - Remove Activity . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
  • 17. Web Pontoon: A Method for Reflective Web Applications Illustration . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
  • 18. Web Pontoon: A Method for Reflective Web Applications Twitter – traffic info example • Two levels of programming in pontoon webapps • Reusability of existing components • Atomic services / Contracts • Accessibility of on-line data streams (& web services) • Accessibility of on-line communication media • Social networking • Relative ease of use • Expressivity • Case designed for a short but yet representative demo • Real-life usefulness not necessarily a goal . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 18 -
  • 19. Web Pontoon: A Method for Reflective Web Applications . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 19 -
  • 20. Web Pontoon: A Method for Reflective Web Applications . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 20 -
  • 21. Web Pontoon: A Method for Reflective Web Applications Login to Twitter atomic service aTwitter Connection Login to Twitter . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 21 -
  • 22. Web Pontoon: A Method for Reflective Web Applications Get England traffic info atomic service aString Get England traffic info . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 22 -
  • 23. Web Pontoon: A Method for Reflective Web Applications Interactive tweeting service aTwitter Connection aTwitter Com. Interactive tweeting aMessage . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 23 -
  • 24. Web Pontoon: A Method for Reflective Web Applications While true atomic service anAction While true . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 24 -
  • 25. Web Pontoon: A Method for Reflective Web Applications Login to Twitter While true Get England traffic info Send to twitter WATwitterTask >> go aTwitter := self call: TwitterLoginService new. [itemColl := CSLTransportInfo new results atRandom. InteractiveTweetingService on: aTwitter tweet: anItem description] whileTrue . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 25 -
  • 26. Web Pontoon: A Method for Reflective Web Applications Live demo • Programming on-line the above example • As an end-user programmers • Via http://www.afacms.com • Executing the above end-user program • As a final end-user • Inspecting execution lifecycles • As a manager . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010
  • 27. Web Pontoon: A Method for Reflective Web Applications Application perspectives – ICT-based support to the elderly Delegate to care providers the management of diversity & unpredictable changeability . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 27 -
  • 28. Web Pontoon: A Method for Reflective Web Applications Application perspectives – Business applications Delegate to domain experts the description & validation of application-level business logic via executable models . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 28 -
  • 29. Web Pontoon: A Method for Reflective Web Applications Other application perspectives • Web-based model authoring and execution systems • Architectural innovation of legacy applications • Self-documenting web applications • Extending Service-Serve possibilities • On-line store for situational services • Community project http://pontoonity.com . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 29 -
  • 30. Web Pontoon: A Method for Reflective Web Applications Research perspectives Multiple users Activity intelligence services: What, Where, When, Who, Why Internet Decision Making Online Adaptation Online Observation Online Wifi Management Execution & lifecycle ZigBee . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 30 -
  • 31. Web Pontoon: A Method for Reflective Web Applications Call for collaboration • Independent start-up company • Hosted by the Ministry of Economy and Foreign Commerce in Luxembourg • Background in industrial software development (Prelude Inspection) & academic research (Paris 6 & Univ. Luxembourg) • Welcomes industrial and academic Partners, Sponsors and Early Adopters . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 31 -
  • 32. Web Pontoon: A Method for Reflective Web Applications Contact AAS (Ambient Activity Systems) Web technology meets dynamics of changing economy Reza RAZAVI Ph.D. Computer Science Chief Technology Officer (+352) 621 50 46 53 razavi@aas.lu Ecostart – centre d’entreprise et d’innovation Bâtiment 1, Rue de l’industrie – L-3895 Foetz (LUXEMBOURG) . ®2007-2010 AAS (Ambient Activity Systems) SARL, Luxembourg – Contact: razavi@acm.org – IWST’2010, ESUG Barcelona – Sep. 14, 2010 - 32 -