model -driven development model-driven development with ...€¦ · model-driven development with...

28
Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Tiziana Margaria, Clemens Renner Chair of Service and Software Engineering Universität Potsdam Model-Driven Development with the jABC Model Model - - Driven Development Driven Development with the jABC with the jABC Bernhard Steffen, Ralf Nagel, Sven Jörges, Christian Kubczak Chair of Programming Systems Universität Dortmund

Upload: others

Post on 25-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

Tiziana Margaria, Clemens Renner

Chair of Service and Software Engineering

Universität Potsdam

Model-Driven Development

with the jABC

ModelModel--Driven DevelopmentDriven Development

with the jABCwith the jABC

Bernhard Steffen, Ralf Nagel,Sven Jörges, Christian Kubczak

Chair of Programming SystemsUniversität Dortmund

Page 2: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

jABC FrameworkjABC Framework

• A modelling tool for service-oriented design

• Predecessors range back to 1995

• Used in several industrial projects

– Intelligent Networks

– Web-based distributed decision support systems

– Test automation environments

Page 3: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

jABC Key FeaturesjABC Key Features

• Simplicity

• Agility

• Customisability

• Consistency

• Verification

• Service orientation

• Executability

• Universality

Page 4: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

FeatureFeature--oriented Descriptionoriented Description

1. Feature-oriented service description:base system and optional features

2. Feature and system behaviour:specified as Service Logic Graphs (SLGs)

3. SLGs are realized using a library of reusable Service-Independent Building Blocks (SIBs)

4. Description also includes abstract requirements

5. Temporal logic constraints regulate interactionsbetween features

6. Feature compositions are allowed if no constraints are violated

Page 5: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

jABC ArchitecturejABC Architecture

User Interface

Persistence

Coordination

Process Logic

Technical Expert

Application Expert

Presentation

Application

Services

Components

Business Objects

PersistenceSIBs

Page 6: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

ServiceService--IndependentIndependent

Building Blocks (SIBs)Building Blocks (SIBs)

• Are nodes in the Service Logic Graphs

• Outgoing branches are chosen according to the result of execution

• Placeholders for future functionality can be automatically generated

• Self-documentation options

• Hierarchy via GraphSIBs

• May be as simple as making a library call

• May even alter the control flow

Page 7: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

The structure of SIBs (1)The structure of SIBs (1)

• SIBs are self-contained Java classes• Name is the Java class name

• Parameters are the public fields• Branches are reserved public fields

Page 8: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

The structure of SIBs (2)The structure of SIBs (2)

• SIBs may provide documentation (and an icon)

Page 9: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

The structure of SIBs (3)The structure of SIBs (3)

Page 10: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

SIB TaxonomiesSIB Taxonomies

• Users can specify their own taxonomies on the available SIB repository

• Dynamic arrangement into domain-specificSIB libraries

• No need to stick with the taxonomy given by the packages of the SIB Java classes

Page 11: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

The Big PictureThe Big Picture

Page 12: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

Page 13: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

ModelModel--BasedBased

Lifecycle Management (1)Lifecycle Management (1)

• One tool for the entiredevelopment process Design

Implementation

Testing

Transition

Page 14: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

ModelModel--BasedBased

Lifecycle Management (2)Lifecycle Management (2)

• One tool for several interpretations of the same model viaplug-ins

Workflow

Verificationmodel

Formula

Automaton

Game Graphs

Page 15: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

ModelModel--BasedBased

Lifecycle Management (3)Lifecycle Management (3)

Test

Monitoring

Realisation

Deployment

Design

ValidationSpecification

ITE

LearnLib

jABC Core

Tracer

Code Generator

jETI

jEEWAB

Eclipse Integration

jABC Core

Tracer

DBSchema

Local Checker

Model Checker

jETI

jABC Core

DBSchema

Tracer

FormulaBuilder

Plu

g-i

ns

Page 16: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

Enriching the JavaABCEnriching the JavaABC

functionality using plugfunctionality using plug--insins

• Flexible plug-in framework• Example plug-ins include

– Local and global model verification

– Automaton generation

– Visual modelling of formulas

– Step-wise execution and debugging

– Code generation

– Database schema design

Page 17: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

PlugPlug--ins overview (1)ins overview (1)

XXjETI

XXGEAR

XXXEclipse

XXXDocbook

XXDBSchema

XXFormulaBuilder

XXCode Generator

XXBean Shell

interfaceinternalgloballocalPlug-in

Page 18: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

PlugPlug--ins overview (2)ins overview (2)

XXXTracer

XXTaxonomy Editor

XXSIBCreator

XXLocalChecker

XXLearnLib

XXjMoSeL

XXJEEWAB

interfaceinternalgloballocalPlug-in

Page 19: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

Local model verificationLocal model verification

• LocalCheckerrun-time checking of SIB usage

• Java code written by the SIB expert

Page 20: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

Global model verificationGlobal model verification

• GEARGame-based model checker for the modal µ-calculus

• Rich macro mechanism to extend syntax and semantics

• Several views for different contexts

Page 21: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

Global model verificationGlobal model verification

• GEARGame-based model checker for the modal µ-calculus

• Rich macro mechanism to extend syntax and semantics

• Several views for different contexts

Page 22: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

Visual modelling andVisual modelling and

generation of formulasgeneration of formulas

• FormulaBuilderFormula modelling and generation

• Export to pre-defined logic syntaxes, e.g. GEAR

Page 23: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

StepStep--byby--stepstep

execution and debuggingexecution and debugging

• Tracerstep-wise execution of SIB-Graphs

• Enables debugging and inspection of contexts

• Fork/Join parallelism with threads

Page 24: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

Generating code from SLGsGenerating code from SLGs

• Code GeneratorGenerates code from SLGs

• Modelled using jABC• Bootstrapped via the Tracer plug-in• Builds Java classes or Java servlets

• C++ or J2ME code generation in progress• LEGO Mindstorms RCX

Page 25: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

Generating code from SLGsGenerating code from SLGs

Page 26: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

Generating code from SLGsGenerating code from SLGs

Page 27: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

ConclusionConclusion

• jABC as an LPC-based development method• Improved validation technology

• Application domains cover

– Supply chain management (IKEA)

– Modelling and Execution of Bio-Informatics workflows

– Semantic Web Service Challenge

– Data-Flow Analysis of Java programs

– Management framework for remote intelligent configuration of systems

Page 28: Model -Driven Development Model-Driven Development with ...€¦ · Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006 Model -Based Lifecycle Management (3) Test

Model-Driven Development with the jABC HVC 2006 – Haifa, 24.10.2006

Thank you for your time!Thank you for your time!

• jABC Frameworkhttp://www.jabc.de

• Chair of Programming SystemsUniversität Dortmundhttp://www.ls-5.de

• Chair of Software and Service EngineeringUniversität Potsdamhttp://www.cs.uni-potsdam.de/sse