SlideShare a Scribd company logo
Problem and Hypothesis
      Modelling: A Language Driven Approach
                                 Case Study
                                  Simulation
                                  Conclusion




A Common Basis for Modelling Service-Oriented
      and Event-Driven Architecture

                      Tony Clark and Balbir S. Barn

School of Engineering and Information Sciences, Middlesex University, London,
                                    UK


                                February 23, 2012




               Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
          Modelling: A Language Driven Approach
                                     Case Study
                                      Simulation
                                      Conclusion


Contents

  1   Problem and Hypothesis

  2   Modelling: A Language Driven Approach
       Services
       Events
       Tooling

  3   Case Study

  4   Simulation

  5   Conclusion


                   Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Enterprise Architecture




      What does a business do?
      Why does the business do it?
      How does the business operate?
      Use Cases: as-is and to-be; IT alignment; governance;
      resource planning; compliance; IT management; etc.




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


It’s a Puzzlement [King of Siam]




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Inversion of Control

        Service Oriented                                   Event Driven
          Architecture                                     Architecture

       Messages drive                                 Events drive
       computation.                                   computation.
       Interfaces of operations.                      Interfaces of events.
       Synchronous,                                   Always asynchronous.
       Asynchronous,                                  Business processes
       Broadcast, etc.                                attached to complex
       Business processes                             events.
       attached to services

                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Architectural Styles




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Messages




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Messages




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Messages




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Messages




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Messages




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Messages




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Messages




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Messages




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Inversion of Control




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Events




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Events




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Events




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Events




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Architectural Styles: Events




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
         Modelling: A Language Driven Approach
                                    Case Study
                                     Simulation
                                     Conclusion


Technologies for EA



      ArchiMate
      MODAF
      TOGAF
      UML and SysML
  All fairly complex, imprecise, not domain specific, do not support
  reasoning, no simulation.




                  Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
       Modelling: A Language Driven Approach
                                  Case Study
                                   Simulation
                                   Conclusion


A Language Driven Approach to EA


     A Domain Specific Language for Modelling EA:
         Component architecture.
         Information models.
         Invariants.
         Pre and post specification of Business Processes.
         Events.
     A Domain Specific Language for EA Simulation:
         As above...
         Commands for business process implementation.
         Message passing.
         Rules for complex event processing.



                Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
          Modelling: A Language Driven Approach    Services
                                     Case Study    Events
                                      Simulation   Tooling
                                      Conclusion


Contents

  1   Problem and Hypothesis

  2   Modelling: A Language Driven Approach
       Services
       Events
       Tooling

  3   Case Study

  4   Simulation

  5   Conclusion


                   Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
       Modelling: A Language Driven Approach    Services
                                  Case Study    Events
                                   Simulation   Tooling
                                   Conclusion


EA Modelling Language




                Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
          Modelling: A Language Driven Approach    Services
                                     Case Study    Events
                                      Simulation   Tooling
                                      Conclusion


EA Simulation Language


   component d {
     port p[out]:interface {
       v():void
     }
     port q[out]:interface {
       z():void
     }
     operations {
       y() {
         p <- v();
         q <- z()
       }
     }
   }




                   Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
          Modelling: A Language Driven Approach    Services
                                     Case Study    Events
                                      Simulation   Tooling
                                      Conclusion


EA Simulation Language


   component d {                                      component b {
     port p[out]:interface {                            port q[in]: interface {
       v():void                                           z():void
     }                                                  }
     port q[out]:interface {                            operations {
       z():void                                           z() {
     }                                                      print(’called z()’)
     operations {                                         }
       y() {                                            }
         p <- v();                                    }
         q <- z()
       }
     }
   }




                   Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
          Modelling: A Language Driven Approach    Services
                                     Case Study    Events
                                      Simulation   Tooling
                                      Conclusion


EA Simulation Language

   component d {                                      component b {
     port p[out]:interface {                            port q[in]: interface {
       v():void                                           z():void
     }                                                  }
     port q[out]:interface {                            operations {
       z():void                                           z() {
     }                                                      print(’called z()’)
     operations {                                         }
       y() {                                            }
         p <- v();                                    }
         q <- z()                                     component a {
       }                                                port p[in]: interface {
     }                                                    v():void;
   }                                                    }
                                                        operations {
                                                          v() { print(’called v()’) }
                                                        }
                                                      }


                   Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
            Modelling: A Language Driven Approach    Services
                                       Case Study    Events
                                        Simulation   Tooling
                                        Conclusion


EA Simulation Language
   component c {                                        component a {
     c = 10                                               port p[in]: interface {
     port events[out]: interface {                          x(data:int):void;
       x(data:int):void                                     y(data:int):void
     }                                                    }
     operations {                                         model {
       x() {                                                class X { x:int }
         events <- x(c)                                     class Y { y:int }
       }                                                    class Data { d:int }
     }                                                    }
   }                                                      rules {
   component d {                                            x_and_y: X(x) Y(y) ?(p(x,y)) {
     d = 10                                                   v(x,y)
     port events[out]: interface {                          }
       y(data:int):void                                   }
     }                                                    operations {
     operations {                                           x(data) { new X(data) }
       y() {                                                y(data) { new Y(data) }
         events <- y(d)                                     v(x,y) { new Data(x+y) }
       }                                                  }
     }                                                  }
   }              Tony Clark and Balbir S. Barn      A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
       Modelling: A Language Driven Approach    Services
                                  Case Study    Events
                                   Simulation   Tooling
                                   Conclusion


Component Connections




                Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach    Services
                                   Case Study    Events
                                    Simulation   Tooling
                                    Conclusion


Calling Sequence




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
          Modelling: A Language Driven Approach
                                     Case Study
                                      Simulation
                                      Conclusion


Contents

  1   Problem and Hypothesis

  2   Modelling: A Language Driven Approach
       Services
       Events
       Tooling

  3   Case Study

  4   Simulation

  5   Conclusion


                   Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
       Modelling: A Language Driven Approach
                                  Case Study
                                   Simulation
                                   Conclusion


UK Borders Agency




                Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
       Modelling: A Language Driven Approach
                                  Case Study
                                   Simulation
                                   Conclusion


Component Dependencies




                Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
           Modelling: A Language Driven Approach
                                      Case Study
                                       Simulation
                                       Conclusion


Registry




                    Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
       Modelling: A Language Driven Approach
                                  Case Study
                                   Simulation
                                   Conclusion


Student Office




                Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
          Modelling: A Language Driven Approach
                                     Case Study
                                      Simulation
                                      Conclusion


Monitor




                   Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
          Modelling: A Language Driven Approach
                                     Case Study
                                      Simulation
                                      Conclusion


Contents

  1   Problem and Hypothesis

  2   Modelling: A Language Driven Approach
       Services
       Events
       Tooling

  3   Case Study

  4   Simulation

  5   Conclusion


                   Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
          Modelling: A Language Driven Approach
                                     Case Study
                                      Simulation
                                      Conclusion


Case Study: Example Component
  component registry {
    port in[in]: interface {
      register(name:str,course:str):void
    }
    port events[out]: interface {
      register(name:str,course:str):void
    }
    model {
      class Student {
        name:str;
        course:str
      }
    }
    operations {
      register(name,course) {
        new Student(name,course);
        events <- register(name,course)
      }
    }
  }
                   Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
          Modelling: A Language Driven Approach
                                     Case Study
                                      Simulation
                                      Conclusion


Dynamic, Parametric Components
  operations {
    make_department(name,courses,academic_names) {
      component {
        ...
        school_office = make_student_office(courses)
        academics = [ make_academic(name) | name <- academic_names ]
      }
    }
    make_academic(name) {
      component { ... }
    }
    make_student_office(courses) {
      component { ... }
    }
  }
  computer_science = make_department(’Business’,[
    Course(’Business and IT’,[
      Module(’Marketing’,[CW(’BIT_MCW1’,4),CW(’BIT_MCW2’,6)])]),
    Course(’Business Informatics’,[
      Module(’Finance’,[CW(’BI_MCW1’,4),CW(’BI_MCW2’,6)])]),
    ],[’Dr Piercemuller’,’Prof. Plumb’])
                   Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Simulation Architecture




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
       Modelling: A Language Driven Approach
                                  Case Study
                                   Simulation
                                   Conclusion


Screen Model




                Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
          Modelling: A Language Driven Approach
                                     Case Study
                                      Simulation
                                      Conclusion


Simulation: GUI

  component gui {
    display = jcomponent(’frames.GUI’)
    operations {
      show() {
        let time = find Time(t) in state { t } else 0
        in display.in <- display(Table([
            [Text(’contacts:’)],
            [Table([[Text(r.name),Text(r.contacts)] | r <- monitor.in.contacts()])],
            [Text(’ ’)],
            [Button(’Tick’+time,fun(e) clock_port <- tick())]
           ]))
      }
      tick(time) { delete Time(time-1); new Time(time); show() }
    }
    port in[in]: interface { show():void; tick(time:int):void }
    port clock_port[out]:interface { tick():void }
  }



                   Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Borders Agency Simulation




                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
       Modelling: A Language Driven Approach
                                  Case Study
                                   Simulation
                                   Conclusion


Other Examples




     EA Alignment in order to comply with new UK HE
     regulation for Key Information Sets.
     Architecture for Sense Making using data from social
     network sites.




                Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
          Modelling: A Language Driven Approach
                                     Case Study
                                      Simulation
                                      Conclusion


Contents

  1   Problem and Hypothesis

  2   Modelling: A Language Driven Approach
       Services
       Events
       Tooling

  3   Case Study

  4   Simulation

  5   Conclusion


                   Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive
Problem and Hypothesis
        Modelling: A Language Driven Approach
                                   Case Study
                                    Simulation
                                    Conclusion


Conclusion
     EA use-cases require precision to analyse designs.
     Domain analysis leads to: components; information models;
     messages; events.
     Current technologies are very large, complex and imprecise.
     A Language Driven Approach leads to a design and simulation
     languages.
     Design language as UML profile.
     Simulation language implemented in Java.
     Tested on several case studies.
     Future Steps:
          Support for Business Goals.
          Methods to support approach and integration with existing EA
          technologies.
          Develop techniques for various EA analysis use-cases.
          Integrate simulation language with real architectures.
                 Tony Clark and Balbir S. Barn   A Common Basis for Modelling Service-Oriented and Event-Drive

More Related Content

More from ClarkTony

Model Slicing
Model SlicingModel Slicing
Model SlicingClarkTony
 
Patterns 200711
Patterns 200711Patterns 200711
Patterns 200711ClarkTony
 
Kings 120711
Kings 120711Kings 120711
Kings 120711ClarkTony
 
Iswim for testing
Iswim for testingIswim for testing
Iswim for testingClarkTony
 
Iswim for testing
Iswim for testingIswim for testing
Iswim for testingClarkTony
 
Kiss at oopsla 09
Kiss at oopsla 09Kiss at oopsla 09
Kiss at oopsla 09ClarkTony
 
Mcms and ids sig
Mcms and ids sigMcms and ids sig
Mcms and ids sigClarkTony
 
Reverse engineering and theory building v3
Reverse engineering and theory building v3Reverse engineering and theory building v3
Reverse engineering and theory building v3ClarkTony
 
Onward presentation.en
Onward presentation.enOnward presentation.en
Onward presentation.enClarkTony
 
Formalizing homogeneous language embeddings
Formalizing homogeneous language embeddingsFormalizing homogeneous language embeddings
Formalizing homogeneous language embeddingsClarkTony
 
Filmstrip testing
Filmstrip testingFilmstrip testing
Filmstrip testingClarkTony
 
Dsm as theory building
Dsm as theory buildingDsm as theory building
Dsm as theory buildingClarkTony
 
Dsl overview
Dsl overviewDsl overview
Dsl overviewClarkTony
 
Dsl tutorial
Dsl tutorialDsl tutorial
Dsl tutorialClarkTony
 
Code gen 09 kiss results
Code gen 09   kiss resultsCode gen 09   kiss results
Code gen 09 kiss resultsClarkTony
 

More from ClarkTony (20)

Model Slicing
Model SlicingModel Slicing
Model Slicing
 
Patterns 200711
Patterns 200711Patterns 200711
Patterns 200711
 
Kings 120711
Kings 120711Kings 120711
Kings 120711
 
Iswim for testing
Iswim for testingIswim for testing
Iswim for testing
 
Iswim for testing
Iswim for testingIswim for testing
Iswim for testing
 
Kiss at oopsla 09
Kiss at oopsla 09Kiss at oopsla 09
Kiss at oopsla 09
 
Mcms and ids sig
Mcms and ids sigMcms and ids sig
Mcms and ids sig
 
Ocl 09
Ocl 09Ocl 09
Ocl 09
 
Scam 08
Scam 08Scam 08
Scam 08
 
Reverse engineering and theory building v3
Reverse engineering and theory building v3Reverse engineering and theory building v3
Reverse engineering and theory building v3
 
Onward presentation.en
Onward presentation.enOnward presentation.en
Onward presentation.en
 
Hcse pres
Hcse presHcse pres
Hcse pres
 
Formalizing homogeneous language embeddings
Formalizing homogeneous language embeddingsFormalizing homogeneous language embeddings
Formalizing homogeneous language embeddings
 
Filmstrip testing
Filmstrip testingFilmstrip testing
Filmstrip testing
 
Dsm as theory building
Dsm as theory buildingDsm as theory building
Dsm as theory building
 
Dsl overview
Dsl overviewDsl overview
Dsl overview
 
Dsl tutorial
Dsl tutorialDsl tutorial
Dsl tutorial
 
Code gen 09 kiss results
Code gen 09   kiss resultsCode gen 09   kiss results
Code gen 09 kiss results
 
Cg 2011
Cg 2011Cg 2011
Cg 2011
 
Ast 09
Ast 09Ast 09
Ast 09
 

Recently uploaded

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 

Recently uploaded (20)

Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 

A Common Basis for Modelling Service-Oriented and Event-Driven Architecture

  • 1. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion A Common Basis for Modelling Service-Oriented and Event-Driven Architecture Tony Clark and Balbir S. Barn School of Engineering and Information Sciences, Middlesex University, London, UK February 23, 2012 Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 2. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Contents 1 Problem and Hypothesis 2 Modelling: A Language Driven Approach Services Events Tooling 3 Case Study 4 Simulation 5 Conclusion Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 3. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Enterprise Architecture What does a business do? Why does the business do it? How does the business operate? Use Cases: as-is and to-be; IT alignment; governance; resource planning; compliance; IT management; etc. Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 4. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion It’s a Puzzlement [King of Siam] Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 5. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Inversion of Control Service Oriented Event Driven Architecture Architecture Messages drive Events drive computation. computation. Interfaces of operations. Interfaces of events. Synchronous, Always asynchronous. Asynchronous, Business processes Broadcast, etc. attached to complex Business processes events. attached to services Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 6. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Architectural Styles Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 7. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Messages Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 8. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Messages Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 9. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Messages Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 10. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Messages Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 11. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Messages Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 12. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Messages Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 13. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Messages Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 14. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Messages Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 15. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Inversion of Control Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 16. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Events Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 17. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Events Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 18. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Events Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 19. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Events Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 20. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Architectural Styles: Events Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 21. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Technologies for EA ArchiMate MODAF TOGAF UML and SysML All fairly complex, imprecise, not domain specific, do not support reasoning, no simulation. Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 22. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion A Language Driven Approach to EA A Domain Specific Language for Modelling EA: Component architecture. Information models. Invariants. Pre and post specification of Business Processes. Events. A Domain Specific Language for EA Simulation: As above... Commands for business process implementation. Message passing. Rules for complex event processing. Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 23. Problem and Hypothesis Modelling: A Language Driven Approach Services Case Study Events Simulation Tooling Conclusion Contents 1 Problem and Hypothesis 2 Modelling: A Language Driven Approach Services Events Tooling 3 Case Study 4 Simulation 5 Conclusion Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 24. Problem and Hypothesis Modelling: A Language Driven Approach Services Case Study Events Simulation Tooling Conclusion EA Modelling Language Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 25. Problem and Hypothesis Modelling: A Language Driven Approach Services Case Study Events Simulation Tooling Conclusion EA Simulation Language component d { port p[out]:interface { v():void } port q[out]:interface { z():void } operations { y() { p <- v(); q <- z() } } } Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 26. Problem and Hypothesis Modelling: A Language Driven Approach Services Case Study Events Simulation Tooling Conclusion EA Simulation Language component d { component b { port p[out]:interface { port q[in]: interface { v():void z():void } } port q[out]:interface { operations { z():void z() { } print(’called z()’) operations { } y() { } p <- v(); } q <- z() } } } Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 27. Problem and Hypothesis Modelling: A Language Driven Approach Services Case Study Events Simulation Tooling Conclusion EA Simulation Language component d { component b { port p[out]:interface { port q[in]: interface { v():void z():void } } port q[out]:interface { operations { z():void z() { } print(’called z()’) operations { } y() { } p <- v(); } q <- z() component a { } port p[in]: interface { } v():void; } } operations { v() { print(’called v()’) } } } Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 28. Problem and Hypothesis Modelling: A Language Driven Approach Services Case Study Events Simulation Tooling Conclusion EA Simulation Language component c { component a { c = 10 port p[in]: interface { port events[out]: interface { x(data:int):void; x(data:int):void y(data:int):void } } operations { model { x() { class X { x:int } events <- x(c) class Y { y:int } } class Data { d:int } } } } rules { component d { x_and_y: X(x) Y(y) ?(p(x,y)) { d = 10 v(x,y) port events[out]: interface { } y(data:int):void } } operations { operations { x(data) { new X(data) } y() { y(data) { new Y(data) } events <- y(d) v(x,y) { new Data(x+y) } } } } } } Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 29. Problem and Hypothesis Modelling: A Language Driven Approach Services Case Study Events Simulation Tooling Conclusion Component Connections Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 30. Problem and Hypothesis Modelling: A Language Driven Approach Services Case Study Events Simulation Tooling Conclusion Calling Sequence Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 31. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Contents 1 Problem and Hypothesis 2 Modelling: A Language Driven Approach Services Events Tooling 3 Case Study 4 Simulation 5 Conclusion Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 32. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion UK Borders Agency Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 33. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Component Dependencies Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 34. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Registry Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 35. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Student Office Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 36. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Monitor Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 37. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Contents 1 Problem and Hypothesis 2 Modelling: A Language Driven Approach Services Events Tooling 3 Case Study 4 Simulation 5 Conclusion Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 38. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Case Study: Example Component component registry { port in[in]: interface { register(name:str,course:str):void } port events[out]: interface { register(name:str,course:str):void } model { class Student { name:str; course:str } } operations { register(name,course) { new Student(name,course); events <- register(name,course) } } } Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 39. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Dynamic, Parametric Components operations { make_department(name,courses,academic_names) { component { ... school_office = make_student_office(courses) academics = [ make_academic(name) | name <- academic_names ] } } make_academic(name) { component { ... } } make_student_office(courses) { component { ... } } } computer_science = make_department(’Business’,[ Course(’Business and IT’,[ Module(’Marketing’,[CW(’BIT_MCW1’,4),CW(’BIT_MCW2’,6)])]), Course(’Business Informatics’,[ Module(’Finance’,[CW(’BI_MCW1’,4),CW(’BI_MCW2’,6)])]), ],[’Dr Piercemuller’,’Prof. Plumb’]) Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 40. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Simulation Architecture Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 41. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Screen Model Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 42. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Simulation: GUI component gui { display = jcomponent(’frames.GUI’) operations { show() { let time = find Time(t) in state { t } else 0 in display.in <- display(Table([ [Text(’contacts:’)], [Table([[Text(r.name),Text(r.contacts)] | r <- monitor.in.contacts()])], [Text(’ ’)], [Button(’Tick’+time,fun(e) clock_port <- tick())] ])) } tick(time) { delete Time(time-1); new Time(time); show() } } port in[in]: interface { show():void; tick(time:int):void } port clock_port[out]:interface { tick():void } } Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 43. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Borders Agency Simulation Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 44. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Other Examples EA Alignment in order to comply with new UK HE regulation for Key Information Sets. Architecture for Sense Making using data from social network sites. Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 45. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Contents 1 Problem and Hypothesis 2 Modelling: A Language Driven Approach Services Events Tooling 3 Case Study 4 Simulation 5 Conclusion Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive
  • 46. Problem and Hypothesis Modelling: A Language Driven Approach Case Study Simulation Conclusion Conclusion EA use-cases require precision to analyse designs. Domain analysis leads to: components; information models; messages; events. Current technologies are very large, complex and imprecise. A Language Driven Approach leads to a design and simulation languages. Design language as UML profile. Simulation language implemented in Java. Tested on several case studies. Future Steps: Support for Business Goals. Methods to support approach and integration with existing EA technologies. Develop techniques for various EA analysis use-cases. Integrate simulation language with real architectures. Tony Clark and Balbir S. Barn A Common Basis for Modelling Service-Oriented and Event-Drive