SlideShare a Scribd company logo
1 of 37
Download to read offline
SCEL: Service-Component Ensemble Language

                     Rosario Pugliese


                      Dipartimento di Sistemi e Informatica
                      Universit` degli Studi di Firenze
                               a




    Awareness Virtual Lecture Series (AVLS) — Autumn 2011

    Work developed within the EU project ASCENS (257414)



                      SCEL: Service-Component Ensemble Language   c Rosario Pugliese 1
Outline

1   Motivations

2   SCEL: Design Principles

3   SCEL: Syntax

4   SCEL: Operational Semantics (sketch)

5   Ongoing & Future Work



                                SCEL: Service-Component Ensemble Language   c Rosario Pugliese 2
Ensembles

 Future generation of software-intensive systems featuring
         massive numbers of components
         complex interactions among components, and with humans and other systems
         operating in open and non-deterministic environments
         dynamically adapting to new requirements, technologies and environmental
         conditions

 Definition introduced in the IST Coordinated Action InterLink [2007]



Motivations                          SCEL: Service-Component Ensemble Language   c Rosario Pugliese 3
Challenges
         Adaptation has been proposed as a powerful mean for taming the ever-increasing
         complexity of today’s computer systems, networks and applications
         Developing software for ensembles creates new difficulties related to e.g.
              the   large dimension of the systems
              the   need to adapt to changing environments and requirements
              the   emergent behaviours resulting from complex interactions
              the   uncertainty during design-time and run-time

         Formalisms, linguistic constructs and programming tools should be designed
         featuring high level of autonomous and adaptive system behavior
         Rigorous and sound concepts should be devised to reason and prove system
         properties

Motivations                                  SCEL: Service-Component Ensemble Language   c Rosario Pugliese 4
Autonomic Service-Component Ensembles (ASCENS)
         Researching ways to build ensembles that combine
              traditional software engineering approaches
              techniques from autonomic, adaptive, knowledge-based and self-aware systems
              the assurance about functional and non-functional properties provided by formal methods

                                                      Industrial
                                                     Community

                                                 Highly innovative
                                                      results


                 Real-world practical                                                    Real-world practical
                 challenges             Inspiration through                                      challenges
                                        pragmatic approaches                      Software Engineering
                    Formal Methods
                                                                                 and Autonomic Systems
                      Community
                                                      Inspiration through             Communities
                                                 methods and techniques
Motivations                                  SCEL: Service-Component Ensemble Language                          c Rosario Pugliese 5
Service Components (SCs)
         The notions of service components and service-component ensembles are a
         means to dynamically structure independent and distributed system entities

         SCs are autonomic entities that can cooperate, with different roles, in open and
         non-deterministic environments
              These basic properties, already satisfied by, e.g., current service-oriented architectures,
              are enriched with awareness

         Awareness is achieved by
              equipping SCs with information about their own state and behavior
              enabling SCs to collect and store information about their working environment
              allowing SCs to use this information for redirecting and adapting their behavior

         Awareness-rich behavior makes SCs adaptable, connectable and composable

Motivations                                  SCEL: Service-Component Ensemble Language         c Rosario Pugliese 6
Service-Component Ensemble (SCE)
 A set of service components (and possibly simpler SCEs)
      with dedicated knowledge units, to represent shared, local and global knowledge
      interconnected via highly dynamic infrastructures
      featuring goal-oriented, safe and secure execution, and efficient resource management
                   Service Component Ensemble

                                                          Service Component

                            Knowledge                                   K



                                                                                  Knowledge
                                                    SCE

                                                K
                                                                      SC
                         SC
                                SC




Motivations                                     SCEL: Service-Component Ensemble Language     c Rosario Pugliese 7
(Some ASCENS) Research issues

 To develop SCEs whose properties go beyond the state of the art in current software
 engineering, we are investigating different issues
         Languages for modelling and programming SCEs
         Foundational models for adaptation, dynamic self-expression and reconfiguration
         Formal methods for the design and verification of reliable SCs and SCEs
         Software infrastructures supporting deployment and execution of SCE-based
         applications
         ...



Motivations                           SCEL: Service-Component Ensemble Language   c Rosario Pugliese 8
Our aim

         To model the behavior of service components and of their ensembles,
         their interactions, their sensitivity and adaptivity to the environment

         We are designing SCEL, a specific language with
              programming abstractions for
                   directly representing Knowledge, Behaviors and Aggregations
                   according to specific Policies
                   naturally programming interaction, adaptation and self- and context-awareness
              a small set of basic constructs with solid semantic grounds
                   so that logics, tools and methodologies can be developed
                   for formal reasoning on systems behavior
                   in order to establish qualitative and quantitative properties
                   of both the individual components and the ensembles



Motivations                                     SCEL: Service-Component Ensemble Language          c Rosario Pugliese 9
SCEL: programming abstractions

 The Service-Component Ensemble Language (SCEL) provides primitives and
 constructs for describing the following programming abstractions:

         Knowledge: describe how data, information and knowledge is managed
         Behaviours: describe how systems of components progress
         Aggregations: describe how different entities are brought together to form
         components, systems and, possibly, ensembles
         Policies: deal with the way properties of computations are represented and
         enforced


SCEL: Design Principles                SCEL: Service-Component Ensemble Language   c Rosario Pugliese 10
Our Starting Points (1980 — . . . )


         Process Algebras
                 CCS, CSP, ACP, . . .

         Calculi and Languages for Mobility
                 Pi-calculus, Obliq, Ambients, . . .

         Tuple-space-based Coordination Languages
                 Linda, Klaim, MARS, . . .




SCEL: Design Principles                          SCEL: Service-Component Ensemble Language   c Rosario Pugliese 11
SCEL: Syntax (at once)
 Systems:      S   ::= C       S1        S2       (νn)S

 Components: C ::= I[K, Π, P]
 Knowledge:    K   ::=   t         K1      K2

 Processes:    P   ::= nil         a.P        P1 + P2           P1 [ P2 ]       X      A(¯)
                                                                                         p        ¯
                                                                                               (A(f )       P)

 Actions:      a ::= get(T )@c                rtv(T )@c          put(t)@c            exec(P)     new(I, K, Π, P)

 Targets:      c   ::= n       x         self

 Items:        t   ::= . . .

 Templates:    T   ::= . . .


SCEL: Syntax                             SCEL: Service-Component Ensemble Language                      c Rosario Pugliese 12
Knowledge
 SCEL is parametric wrt the means of managing knowledge
 as we don’t want to take a definite stand about

        Knowledge representation
                Tuples, Records, Clauses, Constraints, . . .
        Corresponding knowledge handling mechanisms
                Pattern-matching, Reactive TS, Queries,
                Logic programming, Concurrent constraint programming, . . .

 They may depend on the application domain


SCEL: Syntax                          SCEL: Service-Component Ensemble Language   c Rosario Pugliese 13
Knowledge
                                        K     ::=        t         K1       K2

        Knowledge repositories are (multi)sets of items t
               Application data: data used for the progress of the computation
               Control data: data providing information about
                   the environment in which a component is running (e.g. monitored data from sensors)
                   the current status of a component (e.g. its position or its battery level)


        The knowledge handling mechanism provides three operations
               for adding information to a repository
               for retrieving information from a repository
               for withdrawing information from a repository
        which can be triggered by (the abstractions relative to) behaviours


SCEL: Syntax                                  SCEL: Service-Component Ensemble Language          c Rosario Pugliese 14
Knowledge
                                        K     ::=        t         K1       K2

        Knowledge repositories are (multi)sets of items t
               Application data: data used for the progress of the computation
               Control data: data providing information about
                   the environment in which a component is running (e.g. monitored data from sensors)
                   the current status of a component (e.g. its position or its battery level)


        The knowledge handling mechanism provides three operations
               for adding information to a repository
               for retrieving information from a repository
               for withdrawing information from a repository
        which can be triggered by (the abstractions relative to) behaviours


SCEL: Syntax                                  SCEL: Service-Component Ensemble Language          c Rosario Pugliese 14
Behaviors

 Describe how systems of components progress

        Are modeled as processes in the style of process calculi
        Interaction is rendered by allowing processes to access to knowledge repositories,
        possibly of other components
        Adaptation is modeled by retrieving from the knowledge repositories
        both information about the changing environment and the component state
        and (suggestions about) the code to execute for reacting to these changes



SCEL: Syntax                          SCEL: Service-Component Ensemble Language   c Rosario Pugliese 15
Processes
          P    ::=   nil   a.P   P1 + P2          P1 [ P2 ]          X                  ¯
                                                                                A(¯) (A(f )
                                                                                  p              P)

 Processes: the SCEL active computational units
 Processes are built up from the inert process nil via
     action prefixing: a.P,
     nondeterministic choice: P1 + P2 ,
     controlled composition: P1 [ P2 ]
     process variable: X ,
     parameterised process invocation: A(¯)p
     parameterised process definition: A(f ¯) P


SCEL: Syntax                        SCEL: Service-Component Ensemble Language                 c Rosario Pugliese 16
Processes
          P    ::=   nil   a.P   P1 + P2          P1 [ P2 ]          X                  ¯
                                                                                A(¯) (A(f )
                                                                                  p              P)

 Processes: the SCEL active computational units
 Controlled composition P1 [ P2 ] can be seen as a generalisation of the various forms
 of “parallel composition of P1 and P2 ” commonly used in process calculi




SCEL: Syntax                        SCEL: Service-Component Ensemble Language                 c Rosario Pugliese 16
Actions
    a      ::=     get(T )@c       rtv(T )@c          put(t)@c              exec(P)     new(I, K, Π, P)

 Actions: processes can perform five different kinds of actions
        Actions get(T )@c, rtv(T )@c and put(t)@c manage knowledge repositories by
        withdrawing/retrieving/adding information items t from/to the knowledge
        repository c
               Exploit templates T as patterns to select knowledge items
               Trigger execution of the corresponding operation provided by the knowledge handling
               mechanism of the target repository c
        Action exec(P) triggers a controlled execution of process P
        Action new(I, K, Π, P) creates a new component I[K, Π, P]


SCEL: Syntax                                SCEL: Service-Component Ensemble Language          c Rosario Pugliese 17
Aggregations

 Describe how different entities are brought together to form components, systems
 and, possibly, ensembles
        Model resource allocation and distribution
        Reflect the idea of administrative domains, i.e. resources and computations of a
        given entity are under the control of a specific authority

 Compositionality and interoperability are supported by component interfaces
 that specify attributes and functionalities provided by components



SCEL: Syntax                          SCEL: Service-Component Ensemble Language   c Rosario Pugliese 18
Components
                                         C      ::=       I[K, Π, P]

 Components
        An interface I containing information about the component itself
        A knowledge manager K providing local (and possibly part of the global)
        knowledge (i.e. control data) in addition to the application data, together with a
        specific handling mechanism
        A set of policies Π regulating the interaction among the different internal parts
        of the component and its interaction with the other components
        A process term P
               Some of the processes composing P perform the local computation
               Some other ones may coordinate processes interaction with the knowledge repository
               and/or deal with the issues related to adaptation and reconfiguration

SCEL: Syntax                                 SCEL: Service-Component Ensemble Language   c Rosario Pugliese 19
Components
                                         C      ::=       I[K, Π, P]

 Components
        An interface I containing information about the component itself
        A knowledge manager K providing local (and possibly part of the global)
        knowledge (i.e. control data) in addition to the application data, together with a
        specific handling mechanism
        A set of policies Π regulating the interaction among the different internal parts
        of the component and its interaction with the other components
        A process term P
               Some of the processes composing P perform the local computation
               Some other ones may coordinate processes interaction with the knowledge repository
               and/or deal with the issues related to adaptation and reconfiguration

SCEL: Syntax                                 SCEL: Service-Component Ensemble Language   c Rosario Pugliese 19
Components
                                         C      ::=       I[K, Π, P]

 Components
        An interface I containing information about the component itself
        A knowledge manager K providing local (and possibly part of the global)
        knowledge (i.e. control data) in addition to the application data, together with a
        specific handling mechanism
        A set of policies Π regulating the interaction among the different internal parts
        of the component and its interaction with the other components
        A process term P
               Some of the processes composing P perform the local computation
               Some other ones may coordinate processes interaction with the knowledge repository
               and/or deal with the issues related to adaptation and reconfiguration

SCEL: Syntax                                 SCEL: Service-Component Ensemble Language   c Rosario Pugliese 19
Components
                                         C      ::=       I[K, Π, P]

 Components
        An interface I containing information about the component itself
        A knowledge manager K providing local (and possibly part of the global)
        knowledge (i.e. control data) in addition to the application data, together with a
        specific handling mechanism
        A set of policies Π regulating the interaction among the different internal parts
        of the component and its interaction with the other components
        A process term P
               Some of the processes composing P perform the local computation
               Some other ones may coordinate processes interaction with the knowledge repository
               and/or deal with the issues related to adaptation and reconfiguration

SCEL: Syntax                                 SCEL: Service-Component Ensemble Language   c Rosario Pugliese 19
Interfaces
 Contain attributes and functionalities provided by a component
 Attribute: a name to which a values is associated
        Attribute values can be dynamically changed
        Necessary attributes of any component C are
               id: the name of the component C
               ensemble: a predicate on interfaces used to determine the actual components of the
               ensemble created and coordinated by C
               membership: a predicate on the interfaces used to determine the ensembles which C is
               willing to be member of

 Functionality: a behaviour made available for external invocation


SCEL: Syntax                                SCEL: Service-Component Ensemble Language    c Rosario Pugliese 20
Systems

                                S     ::=    C           S1      S2            (νn)S


 Systems: aggregations of components where some names are restricted
        Single component C
        Parallel composition
        Name restriction νn (to delimit the scope of name n)
               In a system of the form S1   (νn)S2 , the effect of the operator is to make name n
               invisible from within S1



SCEL: Syntax                                 SCEL: Service-Component Ensemble Language     c Rosario Pugliese 21
Ensembles
        No specific syntactic construct for making ensembles
        They are dynamically formed by exploiting attributes, e.g. ensemble and
        membership, to put requirements on the other partners
        The design choice of having ‘synthesized’ ensembles dynamically determined
               supports an high dynamicity and flexibility in forming, joining and disjoining ensembles
               permits avoiding to structure ensembles through rigid syntactic constructs
               affects the communication abilities of components (and of the processes therein)




SCEL: Syntax                                 SCEL: Service-Component Ensemble Language      c Rosario Pugliese 22
Ensembles
        No specific syntactic construct for making ensembles
        They are dynamically formed by exploiting attributes, e.g. ensemble and
        membership, to put requirements on the other partners
        The design choice of having ‘synthesized’ ensembles dynamically determined
               supports an high dynamicity and flexibility in forming, joining and disjoining ensembles
               permits avoiding to structure ensembles through rigid syntactic constructs
               affects the communication abilities of components (and of the processes therein)

 ensemble predicates
        I.id ∈ {n, m, p}
        I.active = yes ∧ I.battery level ≥ 30%
        rangemax ≥         (self.x − I.x)2 + (self.y − I.y )2

SCEL: Syntax                                 SCEL: Service-Component Ensemble Language      c Rosario Pugliese 22
Ensembles
        No specific syntactic construct for making ensembles
        They are dynamically formed by exploiting attributes, e.g. ensemble and
        membership, to put requirements on the other partners
        The design choice of having ‘synthesized’ ensembles dynamically determined
               supports an high dynamicity and flexibility in forming, joining and disjoining ensembles
               permits avoiding to structure ensembles through rigid syntactic constructs
               affects the communication abilities of components (and of the processes therein)

 membership predicates
        true
        false
        I.trust level > medium

SCEL: Syntax                                 SCEL: Service-Component Ensemble Language      c Rosario Pugliese 22
Policies

 Deal with the way properties of computations are represented and enforced

        Interaction: interaction predicates, . . .

        Resource usage: accounting, leasing, . . .

        Security: access control, trust, reputation, . . .

 SCEL is parametric wrt the actual language used to express policies



SCEL: Syntax                             SCEL: Service-Component Ensemble Language   c Rosario Pugliese 23
SCEL: Operational Semantics
         The operational semantics is given in the Structural Operational Semantics
         (SOS) style by relying on the notion of Labelled Transition System (LTS)
           LTS: a triple S, L, −
                               →
                   A set of states S
                   A set of transition labels L
                   A labelled transition relation − ⊆ S × L × S accounting for the actions that can
                                                  →
                   be performed from each state and the new state reached after each such transition

         The semantics is defined in two steps
                First, the semantics of processes specifies process commitments,
                i.e. the actions that processes can initially perform,
                ignoring process allocation, available data, regulating policies, . . .
                Then, by taking process commitments and systems configuration into account,
                the semantics of systems provides a full description of systems behaviour
SCEL: Operational Semantics (sketch)             SCEL: Service-Component Ensemble Language   c Rosario Pugliese 24
Operational Semantics of Processes
    Processes: P ::= nil a.P                         P1 + P2          P1 [ P2 ]       X        A(¯)
                                                                                                 p        ¯
                                                                                                       (A(f )     P)
    Actions:   a ::= get(T )@c                       rtv(T )@c         put(t)@c              exec(P)     new(I, K, Π, P)

       LTS rules (excerpt)
                              a                                                              exec(P)
                     a.P − P
                         →             (a = exec(P ))                  exec(P).P −−−→ P [ P ]

                                                 α                     β
                                              P − P
                                                →                 Q − Q
                                                                    →
                                                         α[ β ]
                                                P[ Q ] − → P [ Q ]
                                                        −




SCEL: Operational Semantics (sketch)             SCEL: Service-Component Ensemble Language                      c Rosario Pugliese 25
Operational Semantics of Processes
    Processes: P ::= nil a.P                         P1 + P2          P1 [ P2 ]       X        A(¯)
                                                                                                 p        ¯
                                                                                                       (A(f )     P)
    Actions:   a ::= get(T )@c                       rtv(T )@c         put(t)@c              exec(P)     new(I, K, Π, P)

       LTS rules (excerpt)
                              a                                                              exec(P)
                     a.P − P
                         →             (a = exec(P ))                  exec(P).P −−−→ P [ P ]

                                                 α                     β
                                              P − P
                                                →                 Q − Q
                                                                    →
                                                         α[ β ]
                                                P[ Q ] − → P [ Q ]
                                                        −

 exec spawns a new process P whose execution can be controlled by the continuation P of the
 process performing the action

SCEL: Operational Semantics (sketch)             SCEL: Service-Component Ensemble Language                      c Rosario Pugliese 25
Operational Semantics of Processes
    Processes: P ::= nil a.P                         P1 + P2          P1 [ P2 ]       X        A(¯)
                                                                                                 p        ¯
                                                                                                       (A(f )     P)
    Actions:   a ::= get(T )@c                       rtv(T )@c         put(t)@c              exec(P)     new(I, K, Π, P)

       LTS rules (excerpt)
                              a                                                              exec(P)
                     a.P − P
                         →             (a = exec(P ))                  exec(P).P −−−→ P [ P ]

                                                 α                     β
                                              P − P
                                                →                 Q − Q
                                                                    →
                                                         α[ β ]
                                                P[ Q ] − → P [ Q ]
                                                        −

 The semantics of P[ Q ] at the level of processes is absolutely permissive and generates all possible
 combinations of the commitments of the involved processes; it is then refined at the level of systems
 to also take polices into account
SCEL: Operational Semantics (sketch)             SCEL: Service-Component Ensemble Language                      c Rosario Pugliese 25
Operational Semantics of Systems: LTS rules (excerpt)
                                   Systems: S ::= I[K, Π, P]                      S1     S2      (νn)S

       From process actions to component actions
                                                 α
                                               P − P
                                                 →                Π, I : α        λ, σ
                                                              λ
                                               I[K, Π, P] − I[K, Π, P {σ}]
                                                          →

       Intra-component withdrawal
                                 I:t n
                I[K, Π, P] − → I[K, Π, P ]
                            −                          n = I.id            K       t=K             Π, I    I:t   I
                                                                  τ
                                                I[K, Π, P] − I[K , Π, P ]
                                                           →

       Inter-component, intra-ensemble withdrawal
                                       I:t n         I:t J
                                 S1 − → S1
                                     −          S2 − − S2
                                                    −→                 n = J .id              ens(I, J )
                                                                  τ
                                                     S1      S2 − S1
                                                                →            S2
SCEL: Operational Semantics (sketch)                 SCEL: Service-Component Ensemble Language                   c Rosario Pugliese 26
Ongoing & Future Work
        We are assessing to which extent SCEL fits for modelling the behavior of
        service components and of their ensembles, their interactions, their sensitivity
        and adaptivity to the environment
               As testbeds we will use three case studies from different application domains
               i.e. Robotics (collective transport), Cloud-computing (transiently available computers),
               and e-Mobility (cooperative e-vehicles)
        This process might require tuning the language features
        We will implement SCEL, possibly by exploiting the distributed software
        framework IMC developed in previous EU projects (MIKADO & SENSORIA)
        We will develop logics, tools and methodologies for formal reasoning on systems
        behavior, in order to establish qualitative and quantitative properties of both the
        individual components and the ensembles

Ongoing & Future Work                        SCEL: Service-Component Ensemble Language       c Rosario Pugliese 27
Many Thanks!




Ongoing & Future Work     SCEL: Service-Component Ensemble Language   c Rosario Pugliese 28

More Related Content

Similar to SCEL: Service Component Ensemble Language by Rosario Pugliese

Model-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedModel-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedElizabeth Steiner
 
Eclipse software suite Publication
Eclipse software suite PublicationEclipse software suite Publication
Eclipse software suite PublicationSapienzaConsulting
 
Seminar pasqualina potena
Seminar pasqualina potenaSeminar pasqualina potena
Seminar pasqualina potenafbk-das
 
Akshita_Resume
Akshita_ResumeAkshita_Resume
Akshita_ResumeAkshita .
 
Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureObeo
 
ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)STI International
 
A Formal Method for Mapping Software Engineering Practices to Essence
A Formal Method for Mapping Software Engineering Practices to Essence A Formal Method for Mapping Software Engineering Practices to Essence
A Formal Method for Mapping Software Engineering Practices to Essence ijseajournal
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionHenry Muccini
 
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
 Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafiosPET Computação
 
Agile archiecture iltam 2014
Agile archiecture   iltam 2014Agile archiecture   iltam 2014
Agile archiecture iltam 2014Dani Mannes
 
DOLCE and Pi-Calculus Rendezvous Semantics for Business Processes
DOLCE and Pi-Calculus Rendezvous Semantics for Business ProcessesDOLCE and Pi-Calculus Rendezvous Semantics for Business Processes
DOLCE and Pi-Calculus Rendezvous Semantics for Business ProcessesVioleta Damjanovic-Behrendt
 
RUP In A Nutshell Slide Share
RUP In A Nutshell Slide ShareRUP In A Nutshell Slide Share
RUP In A Nutshell Slide Sharedwslaterjr
 
Software Architecture
Software ArchitectureSoftware Architecture
Software ArchitectureVikas Dhyani
 

Similar to SCEL: Service Component Ensemble Language by Rosario Pugliese (20)

Model-Based Systems Engineering Demystified
Model-Based Systems Engineering DemystifiedModel-Based Systems Engineering Demystified
Model-Based Systems Engineering Demystified
 
Eclipse software suite Publication
Eclipse software suite PublicationEclipse software suite Publication
Eclipse software suite Publication
 
Remics experiences(berlin) brian
Remics experiences(berlin) brianRemics experiences(berlin) brian
Remics experiences(berlin) brian
 
Seminar pasqualina potena
Seminar pasqualina potenaSeminar pasqualina potena
Seminar pasqualina potena
 
Tanmay_Srivastava(CV)
Tanmay_Srivastava(CV)Tanmay_Srivastava(CV)
Tanmay_Srivastava(CV)
 
Akshita_Resume
Akshita_ResumeAkshita_Resume
Akshita_Resume
 
Fostering MBSE in Engineering Culture
Fostering MBSE in Engineering CultureFostering MBSE in Engineering Culture
Fostering MBSE in Engineering Culture
 
ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)ALIVE (Newsfromthefront 2010)
ALIVE (Newsfromthefront 2010)
 
A Formal Method for Mapping Software Engineering Practices to Essence
A Formal Method for Mapping Software Engineering Practices to Essence A Formal Method for Mapping Software Engineering Practices to Essence
A Formal Method for Mapping Software Engineering Practices to Essence
 
Software Architecture: introduction to the abstraction
Software Architecture: introduction to the abstractionSoftware Architecture: introduction to the abstraction
Software Architecture: introduction to the abstraction
 
Duc le CV
Duc le CVDuc le CV
Duc le CV
 
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
 Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
Redes de sensores sem fio autonômicas: abordagens, aplicações e desafios
 
[0201699613]visual modeling with rational rose 2000 and uml
[0201699613]visual modeling with rational rose 2000 and uml[0201699613]visual modeling with rational rose 2000 and uml
[0201699613]visual modeling with rational rose 2000 and uml
 
oracle-complex-event-processing-066421
oracle-complex-event-processing-066421oracle-complex-event-processing-066421
oracle-complex-event-processing-066421
 
Agile archiecture iltam 2014
Agile archiecture   iltam 2014Agile archiecture   iltam 2014
Agile archiecture iltam 2014
 
DOLCE and Pi-Calculus Rendezvous Semantics for Business Processes
DOLCE and Pi-Calculus Rendezvous Semantics for Business ProcessesDOLCE and Pi-Calculus Rendezvous Semantics for Business Processes
DOLCE and Pi-Calculus Rendezvous Semantics for Business Processes
 
Resume_Raj Ganesh Subramanian
Resume_Raj Ganesh SubramanianResume_Raj Ganesh Subramanian
Resume_Raj Ganesh Subramanian
 
RUP In A Nutshell Slide Share
RUP In A Nutshell Slide ShareRUP In A Nutshell Slide Share
RUP In A Nutshell Slide Share
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Amit resume
Amit resumeAmit resume
Amit resume
 

More from FET AWARE project - Self Awareness in Autonomic Systems

More from FET AWARE project - Self Awareness in Autonomic Systems (20)

Academic Course: 13 Applications of and Challenges in Self-Awareness
Academic Course: 13 Applications of and Challenges in Self-AwarenessAcademic Course: 13 Applications of and Challenges in Self-Awareness
Academic Course: 13 Applications of and Challenges in Self-Awareness
 
Academic Course: 12 Safety and Ethics
Academic Course: 12 Safety and EthicsAcademic Course: 12 Safety and Ethics
Academic Course: 12 Safety and Ethics
 
Academic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
Academic Course: 07 Introduction to the Formal Engineering of Autonomic SystemsAcademic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
Academic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
 
Academic Course: 06 Morphogenetic Engineering
Academic Course: 06 Morphogenetic EngineeringAcademic Course: 06 Morphogenetic Engineering
Academic Course: 06 Morphogenetic Engineering
 
Academic Course: 04 Introduction to complex systems and agent based modeling
Academic Course: 04 Introduction to complex systems and agent based modelingAcademic Course: 04 Introduction to complex systems and agent based modeling
Academic Course: 04 Introduction to complex systems and agent based modeling
 
Academic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 03 Autonomic Multi-Agent SystemsAcademic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 03 Autonomic Multi-Agent Systems
 
Academic Course: 02 Self-organization and emergence in networked systems
Academic Course: 02 Self-organization and emergence in networked systemsAcademic Course: 02 Self-organization and emergence in networked systems
Academic Course: 02 Self-organization and emergence in networked systems
 
Academic Course: 01 Self-awarenesss and Computational Self-awareness
Academic Course: 01 Self-awarenesss and Computational Self-awarenessAcademic Course: 01 Self-awarenesss and Computational Self-awareness
Academic Course: 01 Self-awarenesss and Computational Self-awareness
 
Awareness: Layman Seminar Slides
Awareness: Layman Seminar SlidesAwareness: Layman Seminar Slides
Awareness: Layman Seminar Slides
 
Industry Training: 04 Awareness Applications
Industry Training: 04 Awareness ApplicationsIndustry Training: 04 Awareness Applications
Industry Training: 04 Awareness Applications
 
Industry Training: 03 Awareness Simulation
Industry Training: 03 Awareness SimulationIndustry Training: 03 Awareness Simulation
Industry Training: 03 Awareness Simulation
 
Industry Training: 02 Awareness Properties
Industry Training: 02 Awareness PropertiesIndustry Training: 02 Awareness Properties
Industry Training: 02 Awareness Properties
 
Industry Training: 01 Awareness Overview
Industry Training: 01 Awareness OverviewIndustry Training: 01 Awareness Overview
Industry Training: 01 Awareness Overview
 
Robot Swarms as Ensembles of Cooperating Components - Matthias Holzl
Robot Swarms as Ensembles of Cooperating Components - Matthias HolzlRobot Swarms as Ensembles of Cooperating Components - Matthias Holzl
Robot Swarms as Ensembles of Cooperating Components - Matthias Holzl
 
Towards Systematically Engineering Ensembles - Martin Wirsing
Towards Systematically Engineering Ensembles - Martin WirsingTowards Systematically Engineering Ensembles - Martin Wirsing
Towards Systematically Engineering Ensembles - Martin Wirsing
 
Capturing the Immune System: From the wet-­lab to the robot, building better ...
Capturing the Immune System: From the wet-­lab to the robot, building better ...Capturing the Immune System: From the wet-­lab to the robot, building better ...
Capturing the Immune System: From the wet-­lab to the robot, building better ...
 
Underwater search and rescue in swarm robotics - Mark Read
Underwater search and rescue in swarm robotics - Mark Read Underwater search and rescue in swarm robotics - Mark Read
Underwater search and rescue in swarm robotics - Mark Read
 
Computational Self-awareness in Smart-Camera Networks - Lukas Esterle
Computational Self-awareness in Smart-Camera Networks - Lukas EsterleComputational Self-awareness in Smart-Camera Networks - Lukas Esterle
Computational Self-awareness in Smart-Camera Networks - Lukas Esterle
 
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
 
Morphogenetic Engineering: Reconciling Architecture and Self-Organization Thr...
Morphogenetic Engineering: Reconciling Architecture and Self-Organization Thr...Morphogenetic Engineering: Reconciling Architecture and Self-Organization Thr...
Morphogenetic Engineering: Reconciling Architecture and Self-Organization Thr...
 

Recently uploaded

Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application ) Sakshi Ghasle
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsKarinaGenton
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docxPoojaSen20
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 

Recently uploaded (20)

Hybridoma Technology ( Production , Purification , and Application )
Hybridoma Technology  ( Production , Purification , and Application  ) Hybridoma Technology  ( Production , Purification , and Application  )
Hybridoma Technology ( Production , Purification , and Application )
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Science 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its CharacteristicsScience 7 - LAND and SEA BREEZE and its Characteristics
Science 7 - LAND and SEA BREEZE and its Characteristics
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
MENTAL STATUS EXAMINATION format.docx
MENTAL     STATUS EXAMINATION format.docxMENTAL     STATUS EXAMINATION format.docx
MENTAL STATUS EXAMINATION format.docx
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 

SCEL: Service Component Ensemble Language by Rosario Pugliese

  • 1. SCEL: Service-Component Ensemble Language Rosario Pugliese Dipartimento di Sistemi e Informatica Universit` degli Studi di Firenze a Awareness Virtual Lecture Series (AVLS) — Autumn 2011 Work developed within the EU project ASCENS (257414) SCEL: Service-Component Ensemble Language c Rosario Pugliese 1
  • 2. Outline 1 Motivations 2 SCEL: Design Principles 3 SCEL: Syntax 4 SCEL: Operational Semantics (sketch) 5 Ongoing & Future Work SCEL: Service-Component Ensemble Language c Rosario Pugliese 2
  • 3. Ensembles Future generation of software-intensive systems featuring massive numbers of components complex interactions among components, and with humans and other systems operating in open and non-deterministic environments dynamically adapting to new requirements, technologies and environmental conditions Definition introduced in the IST Coordinated Action InterLink [2007] Motivations SCEL: Service-Component Ensemble Language c Rosario Pugliese 3
  • 4. Challenges Adaptation has been proposed as a powerful mean for taming the ever-increasing complexity of today’s computer systems, networks and applications Developing software for ensembles creates new difficulties related to e.g. the large dimension of the systems the need to adapt to changing environments and requirements the emergent behaviours resulting from complex interactions the uncertainty during design-time and run-time Formalisms, linguistic constructs and programming tools should be designed featuring high level of autonomous and adaptive system behavior Rigorous and sound concepts should be devised to reason and prove system properties Motivations SCEL: Service-Component Ensemble Language c Rosario Pugliese 4
  • 5. Autonomic Service-Component Ensembles (ASCENS) Researching ways to build ensembles that combine traditional software engineering approaches techniques from autonomic, adaptive, knowledge-based and self-aware systems the assurance about functional and non-functional properties provided by formal methods Industrial Community Highly innovative results Real-world practical Real-world practical challenges Inspiration through challenges pragmatic approaches Software Engineering Formal Methods and Autonomic Systems Community Inspiration through Communities methods and techniques Motivations SCEL: Service-Component Ensemble Language c Rosario Pugliese 5
  • 6. Service Components (SCs) The notions of service components and service-component ensembles are a means to dynamically structure independent and distributed system entities SCs are autonomic entities that can cooperate, with different roles, in open and non-deterministic environments These basic properties, already satisfied by, e.g., current service-oriented architectures, are enriched with awareness Awareness is achieved by equipping SCs with information about their own state and behavior enabling SCs to collect and store information about their working environment allowing SCs to use this information for redirecting and adapting their behavior Awareness-rich behavior makes SCs adaptable, connectable and composable Motivations SCEL: Service-Component Ensemble Language c Rosario Pugliese 6
  • 7. Service-Component Ensemble (SCE) A set of service components (and possibly simpler SCEs) with dedicated knowledge units, to represent shared, local and global knowledge interconnected via highly dynamic infrastructures featuring goal-oriented, safe and secure execution, and efficient resource management Service Component Ensemble Service Component Knowledge K Knowledge SCE K SC SC SC Motivations SCEL: Service-Component Ensemble Language c Rosario Pugliese 7
  • 8. (Some ASCENS) Research issues To develop SCEs whose properties go beyond the state of the art in current software engineering, we are investigating different issues Languages for modelling and programming SCEs Foundational models for adaptation, dynamic self-expression and reconfiguration Formal methods for the design and verification of reliable SCs and SCEs Software infrastructures supporting deployment and execution of SCE-based applications ... Motivations SCEL: Service-Component Ensemble Language c Rosario Pugliese 8
  • 9. Our aim To model the behavior of service components and of their ensembles, their interactions, their sensitivity and adaptivity to the environment We are designing SCEL, a specific language with programming abstractions for directly representing Knowledge, Behaviors and Aggregations according to specific Policies naturally programming interaction, adaptation and self- and context-awareness a small set of basic constructs with solid semantic grounds so that logics, tools and methodologies can be developed for formal reasoning on systems behavior in order to establish qualitative and quantitative properties of both the individual components and the ensembles Motivations SCEL: Service-Component Ensemble Language c Rosario Pugliese 9
  • 10. SCEL: programming abstractions The Service-Component Ensemble Language (SCEL) provides primitives and constructs for describing the following programming abstractions: Knowledge: describe how data, information and knowledge is managed Behaviours: describe how systems of components progress Aggregations: describe how different entities are brought together to form components, systems and, possibly, ensembles Policies: deal with the way properties of computations are represented and enforced SCEL: Design Principles SCEL: Service-Component Ensemble Language c Rosario Pugliese 10
  • 11. Our Starting Points (1980 — . . . ) Process Algebras CCS, CSP, ACP, . . . Calculi and Languages for Mobility Pi-calculus, Obliq, Ambients, . . . Tuple-space-based Coordination Languages Linda, Klaim, MARS, . . . SCEL: Design Principles SCEL: Service-Component Ensemble Language c Rosario Pugliese 11
  • 12. SCEL: Syntax (at once) Systems: S ::= C S1 S2 (νn)S Components: C ::= I[K, Π, P] Knowledge: K ::= t K1 K2 Processes: P ::= nil a.P P1 + P2 P1 [ P2 ] X A(¯) p ¯ (A(f ) P) Actions: a ::= get(T )@c rtv(T )@c put(t)@c exec(P) new(I, K, Π, P) Targets: c ::= n x self Items: t ::= . . . Templates: T ::= . . . SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 12
  • 13. Knowledge SCEL is parametric wrt the means of managing knowledge as we don’t want to take a definite stand about Knowledge representation Tuples, Records, Clauses, Constraints, . . . Corresponding knowledge handling mechanisms Pattern-matching, Reactive TS, Queries, Logic programming, Concurrent constraint programming, . . . They may depend on the application domain SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 13
  • 14. Knowledge K ::= t K1 K2 Knowledge repositories are (multi)sets of items t Application data: data used for the progress of the computation Control data: data providing information about the environment in which a component is running (e.g. monitored data from sensors) the current status of a component (e.g. its position or its battery level) The knowledge handling mechanism provides three operations for adding information to a repository for retrieving information from a repository for withdrawing information from a repository which can be triggered by (the abstractions relative to) behaviours SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 14
  • 15. Knowledge K ::= t K1 K2 Knowledge repositories are (multi)sets of items t Application data: data used for the progress of the computation Control data: data providing information about the environment in which a component is running (e.g. monitored data from sensors) the current status of a component (e.g. its position or its battery level) The knowledge handling mechanism provides three operations for adding information to a repository for retrieving information from a repository for withdrawing information from a repository which can be triggered by (the abstractions relative to) behaviours SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 14
  • 16. Behaviors Describe how systems of components progress Are modeled as processes in the style of process calculi Interaction is rendered by allowing processes to access to knowledge repositories, possibly of other components Adaptation is modeled by retrieving from the knowledge repositories both information about the changing environment and the component state and (suggestions about) the code to execute for reacting to these changes SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 15
  • 17. Processes P ::= nil a.P P1 + P2 P1 [ P2 ] X ¯ A(¯) (A(f ) p P) Processes: the SCEL active computational units Processes are built up from the inert process nil via action prefixing: a.P, nondeterministic choice: P1 + P2 , controlled composition: P1 [ P2 ] process variable: X , parameterised process invocation: A(¯)p parameterised process definition: A(f ¯) P SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 16
  • 18. Processes P ::= nil a.P P1 + P2 P1 [ P2 ] X ¯ A(¯) (A(f ) p P) Processes: the SCEL active computational units Controlled composition P1 [ P2 ] can be seen as a generalisation of the various forms of “parallel composition of P1 and P2 ” commonly used in process calculi SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 16
  • 19. Actions a ::= get(T )@c rtv(T )@c put(t)@c exec(P) new(I, K, Π, P) Actions: processes can perform five different kinds of actions Actions get(T )@c, rtv(T )@c and put(t)@c manage knowledge repositories by withdrawing/retrieving/adding information items t from/to the knowledge repository c Exploit templates T as patterns to select knowledge items Trigger execution of the corresponding operation provided by the knowledge handling mechanism of the target repository c Action exec(P) triggers a controlled execution of process P Action new(I, K, Π, P) creates a new component I[K, Π, P] SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 17
  • 20. Aggregations Describe how different entities are brought together to form components, systems and, possibly, ensembles Model resource allocation and distribution Reflect the idea of administrative domains, i.e. resources and computations of a given entity are under the control of a specific authority Compositionality and interoperability are supported by component interfaces that specify attributes and functionalities provided by components SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 18
  • 21. Components C ::= I[K, Π, P] Components An interface I containing information about the component itself A knowledge manager K providing local (and possibly part of the global) knowledge (i.e. control data) in addition to the application data, together with a specific handling mechanism A set of policies Π regulating the interaction among the different internal parts of the component and its interaction with the other components A process term P Some of the processes composing P perform the local computation Some other ones may coordinate processes interaction with the knowledge repository and/or deal with the issues related to adaptation and reconfiguration SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 19
  • 22. Components C ::= I[K, Π, P] Components An interface I containing information about the component itself A knowledge manager K providing local (and possibly part of the global) knowledge (i.e. control data) in addition to the application data, together with a specific handling mechanism A set of policies Π regulating the interaction among the different internal parts of the component and its interaction with the other components A process term P Some of the processes composing P perform the local computation Some other ones may coordinate processes interaction with the knowledge repository and/or deal with the issues related to adaptation and reconfiguration SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 19
  • 23. Components C ::= I[K, Π, P] Components An interface I containing information about the component itself A knowledge manager K providing local (and possibly part of the global) knowledge (i.e. control data) in addition to the application data, together with a specific handling mechanism A set of policies Π regulating the interaction among the different internal parts of the component and its interaction with the other components A process term P Some of the processes composing P perform the local computation Some other ones may coordinate processes interaction with the knowledge repository and/or deal with the issues related to adaptation and reconfiguration SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 19
  • 24. Components C ::= I[K, Π, P] Components An interface I containing information about the component itself A knowledge manager K providing local (and possibly part of the global) knowledge (i.e. control data) in addition to the application data, together with a specific handling mechanism A set of policies Π regulating the interaction among the different internal parts of the component and its interaction with the other components A process term P Some of the processes composing P perform the local computation Some other ones may coordinate processes interaction with the knowledge repository and/or deal with the issues related to adaptation and reconfiguration SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 19
  • 25. Interfaces Contain attributes and functionalities provided by a component Attribute: a name to which a values is associated Attribute values can be dynamically changed Necessary attributes of any component C are id: the name of the component C ensemble: a predicate on interfaces used to determine the actual components of the ensemble created and coordinated by C membership: a predicate on the interfaces used to determine the ensembles which C is willing to be member of Functionality: a behaviour made available for external invocation SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 20
  • 26. Systems S ::= C S1 S2 (νn)S Systems: aggregations of components where some names are restricted Single component C Parallel composition Name restriction νn (to delimit the scope of name n) In a system of the form S1 (νn)S2 , the effect of the operator is to make name n invisible from within S1 SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 21
  • 27. Ensembles No specific syntactic construct for making ensembles They are dynamically formed by exploiting attributes, e.g. ensemble and membership, to put requirements on the other partners The design choice of having ‘synthesized’ ensembles dynamically determined supports an high dynamicity and flexibility in forming, joining and disjoining ensembles permits avoiding to structure ensembles through rigid syntactic constructs affects the communication abilities of components (and of the processes therein) SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 22
  • 28. Ensembles No specific syntactic construct for making ensembles They are dynamically formed by exploiting attributes, e.g. ensemble and membership, to put requirements on the other partners The design choice of having ‘synthesized’ ensembles dynamically determined supports an high dynamicity and flexibility in forming, joining and disjoining ensembles permits avoiding to structure ensembles through rigid syntactic constructs affects the communication abilities of components (and of the processes therein) ensemble predicates I.id ∈ {n, m, p} I.active = yes ∧ I.battery level ≥ 30% rangemax ≥ (self.x − I.x)2 + (self.y − I.y )2 SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 22
  • 29. Ensembles No specific syntactic construct for making ensembles They are dynamically formed by exploiting attributes, e.g. ensemble and membership, to put requirements on the other partners The design choice of having ‘synthesized’ ensembles dynamically determined supports an high dynamicity and flexibility in forming, joining and disjoining ensembles permits avoiding to structure ensembles through rigid syntactic constructs affects the communication abilities of components (and of the processes therein) membership predicates true false I.trust level > medium SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 22
  • 30. Policies Deal with the way properties of computations are represented and enforced Interaction: interaction predicates, . . . Resource usage: accounting, leasing, . . . Security: access control, trust, reputation, . . . SCEL is parametric wrt the actual language used to express policies SCEL: Syntax SCEL: Service-Component Ensemble Language c Rosario Pugliese 23
  • 31. SCEL: Operational Semantics The operational semantics is given in the Structural Operational Semantics (SOS) style by relying on the notion of Labelled Transition System (LTS) LTS: a triple S, L, − → A set of states S A set of transition labels L A labelled transition relation − ⊆ S × L × S accounting for the actions that can → be performed from each state and the new state reached after each such transition The semantics is defined in two steps First, the semantics of processes specifies process commitments, i.e. the actions that processes can initially perform, ignoring process allocation, available data, regulating policies, . . . Then, by taking process commitments and systems configuration into account, the semantics of systems provides a full description of systems behaviour SCEL: Operational Semantics (sketch) SCEL: Service-Component Ensemble Language c Rosario Pugliese 24
  • 32. Operational Semantics of Processes Processes: P ::= nil a.P P1 + P2 P1 [ P2 ] X A(¯) p ¯ (A(f ) P) Actions: a ::= get(T )@c rtv(T )@c put(t)@c exec(P) new(I, K, Π, P) LTS rules (excerpt) a exec(P) a.P − P → (a = exec(P )) exec(P).P −−−→ P [ P ] α β P − P → Q − Q → α[ β ] P[ Q ] − → P [ Q ] − SCEL: Operational Semantics (sketch) SCEL: Service-Component Ensemble Language c Rosario Pugliese 25
  • 33. Operational Semantics of Processes Processes: P ::= nil a.P P1 + P2 P1 [ P2 ] X A(¯) p ¯ (A(f ) P) Actions: a ::= get(T )@c rtv(T )@c put(t)@c exec(P) new(I, K, Π, P) LTS rules (excerpt) a exec(P) a.P − P → (a = exec(P )) exec(P).P −−−→ P [ P ] α β P − P → Q − Q → α[ β ] P[ Q ] − → P [ Q ] − exec spawns a new process P whose execution can be controlled by the continuation P of the process performing the action SCEL: Operational Semantics (sketch) SCEL: Service-Component Ensemble Language c Rosario Pugliese 25
  • 34. Operational Semantics of Processes Processes: P ::= nil a.P P1 + P2 P1 [ P2 ] X A(¯) p ¯ (A(f ) P) Actions: a ::= get(T )@c rtv(T )@c put(t)@c exec(P) new(I, K, Π, P) LTS rules (excerpt) a exec(P) a.P − P → (a = exec(P )) exec(P).P −−−→ P [ P ] α β P − P → Q − Q → α[ β ] P[ Q ] − → P [ Q ] − The semantics of P[ Q ] at the level of processes is absolutely permissive and generates all possible combinations of the commitments of the involved processes; it is then refined at the level of systems to also take polices into account SCEL: Operational Semantics (sketch) SCEL: Service-Component Ensemble Language c Rosario Pugliese 25
  • 35. Operational Semantics of Systems: LTS rules (excerpt) Systems: S ::= I[K, Π, P] S1 S2 (νn)S From process actions to component actions α P − P → Π, I : α λ, σ λ I[K, Π, P] − I[K, Π, P {σ}] → Intra-component withdrawal I:t n I[K, Π, P] − → I[K, Π, P ] − n = I.id K t=K Π, I I:t I τ I[K, Π, P] − I[K , Π, P ] → Inter-component, intra-ensemble withdrawal I:t n I:t J S1 − → S1 − S2 − − S2 −→ n = J .id ens(I, J ) τ S1 S2 − S1 → S2 SCEL: Operational Semantics (sketch) SCEL: Service-Component Ensemble Language c Rosario Pugliese 26
  • 36. Ongoing & Future Work We are assessing to which extent SCEL fits for modelling the behavior of service components and of their ensembles, their interactions, their sensitivity and adaptivity to the environment As testbeds we will use three case studies from different application domains i.e. Robotics (collective transport), Cloud-computing (transiently available computers), and e-Mobility (cooperative e-vehicles) This process might require tuning the language features We will implement SCEL, possibly by exploiting the distributed software framework IMC developed in previous EU projects (MIKADO & SENSORIA) We will develop logics, tools and methodologies for formal reasoning on systems behavior, in order to establish qualitative and quantitative properties of both the individual components and the ensembles Ongoing & Future Work SCEL: Service-Component Ensemble Language c Rosario Pugliese 27
  • 37. Many Thanks! Ongoing & Future Work SCEL: Service-Component Ensemble Language c Rosario Pugliese 28