@ vub department of computer science. p. department of computer science 80+ researchers 10...
Post on 18-Dec-2015
221 views
TRANSCRIPT
![Page 1: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/1.jpg)
@ VUB
Department ofComputer Science
![Page 2: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/2.jpg)
p.
Department of Computer Science
80+ Researchers• 10 professors• 15 post-doc’s• 55 pre-doc’s
Software andProgrammingLanguageEngineering
PROGSSEL
Artificial Intelligence
ARTICOMOTINF
Multimedia
IRISTELE
Web- and Information Systems
WISESTAR
![Page 3: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/3.jpg)
&Prof. Dr. Theo D’HondtProf. Dr. Viviane JonckersProf. Dr. Wolfgang De Meuter
System andSoftwareEngineering
Programming
Technology
Labs
![Page 4: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/4.jpg)
p.
PROG & SSEL Labs
Prof. Dr. Theo D’Hondthttp://prog.vub.ac.be
Prof. Dr. Viviane Jonckershttp://ssel.vub.ac.be
Prof. Dr. Wolfgang De Meuterhttp://prog.vub.ac.be
30+ Researchers• 3 professors• 8 post-doc’s• 23 pre-doc’s
Language Engineering
LanguageEngineering
SoftwareEngineering
Distribution
![Page 5: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/5.jpg)
p.
Programming Language Engineering
• Aspect-Oriented Programming– Rich pointcut languages
– AOP instantiations (components, workflows, ...)
• Declarative Meta Programming
• Context- & Ambient-Oriented Programming
• Concurrent& Multicore Programming
• Quantum Programming
• Implementation technology– Virtual machines, memory management,
language interpreters, ...
LanguageEngineering
![Page 6: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/6.jpg)
p.
Software Engineering
• Aspect-Oriented Software Development– Aspect mining, pointcut fragility, aspect interaction
– (Visual) IDE
• Model Driven Engineering– Model consistency checking
– Model refinement, extraction, refactoring
• Service Oriented Software Development– Workflow languages
– Service discovery, selection, deployment, management
• Knowledge-Intensive Software– Explicit and active use of domain knowledge (domain =
implementation and business domain)
– Static and dynamic program analysis
SoftwareEngineering
![Page 7: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/7.jpg)
p.
Artefact-driven Research
ContextLContextL
CARMACARMA
LingletsLinglets
SelfSyncSelfSync
BehaveBehave
KALAKALA Pico
FuseJFuseJ
WSMLWSML
JascoJasco
PadusPadus
http://prog.vub.ac.be - http://ssel.vub.ac.be
CDDToolkitCDDToolkit
PacoSuitePacoSuite
SCESCEPlatformKitPlatformKit
UnifyUnify
![Page 8: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/8.jpg)
p.
Project-driven Research
MoVESMoVES
AspectLabAspectLab DyBrowSEDyBrowSE
CoDAMoSCoDAMoS
http://prog.vub.ac.be - http://ssel.vub.ac.be
VariBruVariBru
AOSD-EuropeAOSD-Europe
WIT-CASEWIT-CASE ORIONORION
CaramelosCaramelosCaramelosCaramelosCaramelosCaramelosIWT/FWO
grants
IWT/FWO grants
CaramelosCaramelos
CrypTask
CrypTask
MoVESMoVES
StadiumStadium
Safe-IsSafe-IsRococoRococo
![Page 9: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/9.jpg)
@ VUB
Software Languages Lab
![Page 10: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/10.jpg)
p.
Uniform Modularization of Workflow Concerns using Unify
Niels Joncheere, Dirk Deridder, Ragnhild Van Der Straeten, and Viviane Jonckers
System and Software Engineering Lab (SSEL)
Vrije Universiteit Brussel
Pleinlaan 2, 1050 Brussels, Belgium
![Page 11: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/11.jpg)
p.
Separation of concerns in workflows - motivation
• Workflows address several concerns, e.g. order processing, reporting, billing
• A single, monolithic module is hard to comprehend, maintain, or reuse
![Page 12: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/12.jpg)
p.
Separation of concerns in workflows - AOP to the rescue
• Workflows can be decomposed into sub-workflows– For concerns that align with this decomposition a sub-
workflow construct in the language is called for
– For concerns that end up scattered across the workflow (e.g. crosscutting concerns) an AOP style solution is needed
![Page 13: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/13.jpg)
p.
Separation of concerns in workflows - Early work
• AO4BPEL (Charfi & Mezini 2004) present a first AOP extension for BPEL– Extra functionality can be added
before/after/around each activity– Xpath is used as pointcut language– Advice is expresses in BPEL– A modified BPEL engine is needed
• Courbis&Finkelstein (2005) also propose an extention to BPEL– Advice is expressed in JAVA
![Page 14: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/14.jpg)
p.
PADUS
• Our proposal for an extension of BPEL developed in the context of a telecom service-delivery platform project (2006)– Rich join point model with Prolog as a pointcut
language
– Introduces next to before, after and around advice also in advice to add new behaviour to existing elements (e.g. add a branch to a split)
– Introduces an explicit deployment construct to specify aspect instantiation to a concrete process
– Aspects are statically woven, a regular BPEL engine can run the application
![Page 15: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/15.jpg)
p.
Unify
• Unify supports uniform modularization of workflow concerns: – every concern, regular or crosscutting, is
modeled using a sub-workflow– Sub-workflows are connected by explicit
connector constructs
• Unify is a generic framework, it targets a range of concrete workflow languages
• (Paper and presentation use YAWL concrete syntax for the examples)
![Page 16: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/16.jpg)
p.
Activity connectors
• Specify regular interactions, correspond to the traditional sub-workflow mechanism
• One concern explicitly 'calls' another concern, the concrete link is specified by the connector in order to decouple both concerns
![Page 17: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/17.jpg)
p.
Inversion of control connectors
• Specify aspect-oriented interactions
• One concern is added to another concern, without this other concern being aware of it
• Before, after, and replace connectors correspond to the classic advice types
![Page 18: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/18.jpg)
p.
Inversion of control connectors - IN advice
• in connectors correspond to Padus’s in advice type, and allow inserting a concern as an extra branch to an existing split
![Page 19: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/19.jpg)
p.
The FREE advice type -motivation
• For example, no existing approach supports executing an advice in parallel with a certain part of a workflow if there is not already a split present
![Page 20: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/20.jpg)
p.
The FREE advice type
• The free advice type allows splitting a concern’s control flow into another concern at any point of its execution, and joining at any other point of its execution
• Repeated use of the free advice may show certain patterns in the way it is used, which can lead to the creation of new advice types
![Page 21: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/21.jpg)
p.
Complete Example
![Page 22: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/22.jpg)
p.
Base language meta-model
Arbitrary workflows
Composite pattern
Concerns are modeled using CompositeActivities
Control flow is modeled using Transitions
ControlPorts allowintercepting a concern’s control flow
![Page 23: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/23.jpg)
p.
Mapping to YAWL notation
![Page 24: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/24.jpg)
p.
Base language semantics
• The semantics of the Unify base language is defined in terms of Petri nets
• Petri nets are recognized as a good execution model for workflows
• The mapping from workflows to Petri nets is well-known:– Activities are mapped to Petri net transitions
– StartEvents, EndEvents and Transitions are mapped to Petri net places
– Splits and Joins are mapped to the appropriate combination of Petri net transition(s) and place(s)
![Page 25: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/25.jpg)
p.
Connector meta-model
![Page 26: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/26.jpg)
p.
Connector syntax
<connector> ::= <activity-connector>
| <inversion-of-control-connector>
<activity-connector> ::= "CONNECT" <activity>
"TO" <activity>
<inversion-of-control-connector> ::= "CONNECT" <activity>
<advice>
<advice> ::= "BEFORE" <activity-pointcut>
| "AFTER" <activity-pointcut>
| "REPLACING" <activity-pointcut>
| "IN" <split-pointcut>
| ("AND-" | "XOR-") "SPLITTING WHEN" <control-port-pointcut>
"JOINING BY" <control-port-pointcut>
![Page 27: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/27.jpg)
p.
Connector semantics
Concerns are woven on the abstract syntax level
The weaving is defined using 13 graph transforma-tion rules (2 in paper, all 13 in technical report)
![Page 28: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/28.jpg)
p.
Implementation
• Workflows, connectors and compositions are parsed into Java objects that conform to our meta-model
• Connectors are applied to the main concern in the specified ordering
• Weaving is performed according to the semantics specified by the graph transformations
• The result is transformed into Petri nets and is executed
![Page 29: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/29.jpg)
p.
Future work
• Implement Padus+ a concrete AOP extension of BPEL
• Address data perspective (in context of CAE)
• Address aspect interaction– Supporting the developer in specifying a correct
ordering of connectors – Verification of user-defined constraints
![Page 30: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/30.jpg)
p.
Conclusion
• Unify improves on existing research on the following three points:– It supports uniform modularization of both main
and crosscutting concerns – It provides more expressive advice types than
before, after, and around advice types– It is designed to be independent of a particular
concrete syntax through the use of a base language meta model
![Page 31: @ VUB Department of Computer Science. p. Department of Computer Science 80+ Researchers 10 professors 15 post-doc’s 55 pre-doc’s Software and Programming](https://reader035.vdocument.in/reader035/viewer/2022062407/56649d235503460f949fa3ec/html5/thumbnails/31.jpg)
p.
Thanks!
Niels JoncheereSystem and Software Engineering Lab (SSEL)Vrije Universiteit [email protected]