+ All Categories
Home > Documents > Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping...

Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping...

Date post: 28-Dec-2015
Category:
Upload: jordan-wilson
View: 221 times
Download: 0 times
Share this document with a friend
Popular Tags:
61
Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium
Transcript
Page 1: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

Easy and Powerful Composition of

XML-based Active Documents

Uwe Assmann

PELAB/RISE

Linköping University, Sweden

EASYCOMP Consortium

Page 2: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Overview

■ Introduction■ XML and Active Documents

■ Future Applications of Active Documents■ Web Objects, Active Paper and Wearables■ Traders, Agents

■ What does Software Engineering look like today?■ Uniform Invasive Composition■ EASYCOMP

Page 3: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Entering the Age of Active Documents

■ XML is the ASCII of the 21st century■ It will represent software and data uniformly ■ Tags will have active semantics <if> <then> <else>

■ XML documents will be active (active documents, active components)

■ Active XML-based documents will penetrate ■ the future Web, ■ future documents, and ■ future software

Page 4: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

■ Vision stems from [Orfali/Harkey: Instant CORBA]

■ Documents■ Hypertext ■ Multimedia, e.g., Courses for Online Learning■ Web sites, server objects■ Simulated objects

■ Traders■ Wearables/Active Paper■ Agents

Everything Will Be An Active Document

Page 5: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

Future Applications of Active Documents

Page 6: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Overview of Active Documents

Stationary(Web sites,Documents)

Shippable(Active paper,

Wearables)

Reflective(Agents)

Introspective(Traders)

MobileReflective

Agents

Page 7: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Stationary Active Documents(Web Objects, Simulated Objects)

■ Why is a web site different from a web page?■ Only a bit more complex

■ Why is a desktop different from a web site?■ Representation

■ What the difference of a web site and ■ a CAD model■ a roller bearing■ a simulated robot?

■ What's the difference between a browser and an active web site?■ Client vs server

Page 8: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Shippable Active Documents (Wearables, Active Paper)

■ A shippable active document can be shipped easily to other phyisical places ■ web page, web site, desktop, browser

■ Problem: Shippable Active Documents can be copied and must be integrated again

■ Examples■ Wearable computers require shippable active

documents■ Active paper require shippable active documents

Page 9: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Active Paper Relies on Composition Technology

■ Mr. Spielberg has married in May, Ms Anita Söderberg, from Linköping, Sweden■ he tries to reuse his E-paper tax form from last year■ His wife Anita has an E-paper tax form from Sweden■ How to both combine their papers?

■ Wearables Rely on Composition Technology■ Prof. Söderberg, Linköping works two months in Karlsruhe■ He carries his active desktop as wrist watch■ In Karlsruhe, many sub-documents change ■ When he comes home, he integrates wrist watch

Page 10: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Active Documents Introspecting Others (Traders)

Trader

ClientService

Mediator Pattern

Import Functionality

ExportFunctionality

Traders deal withcomponents or services

Traders are active documents which reason about other active documents

1 2

3

Page 11: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Introspective Active Documents Rely on Semantic Properties

■ Introspective Active Documents have a meta-level architecture, relying on semantic descriptions■ properties, protocol specifications

■ Traders:■ Services described by semantic properties■ Clients specify desired properties■ Traders match desired and offered properties (e.g., by

DOOD technology)■ Traders delegate to other traders if they do not find

matches■ Similar to book management in libraries

Page 12: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Reflective Active Documents (Agents)

■ Agents are automomous active documents which reflect and reason about themselves and their environment ■ have a meta-level architecture with reflective features

■ Splitt-off self agents are agents that represent a human being and represent him for tasks■ Buying things automatically■ Finding interesting people to meet

■ www.agentlink.org

Page 13: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Overview of Active Documents

Stationary(Web sites,Documents)

Shippable(Active paper,

Wearables)

Reflective(Agents)

Introspective(Traders)

MobileReflective

Agents

Page 14: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

How Do We Build Such Systems?

■ These systems will be complex■ They will migrate■ They will contact other unknown documents■ They will negotiate

■ Reuse of components of active documents would be nice...

■ Semantics is an issue...

■ Activeness is an issue...

Page 15: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Active Documents are Software

Active documents are Software!

Apply Software Engineering Techniques!

But how does Software Engineering look like today?

Page 16: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

What Does Software Engineering Look Like Today?

Page 17: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

The Essence of the 60s-90s:LEGO Software

■ Modular Systems■ Object-oriented Technology and Design Patterns■ Component-based Programming (CORBA,

DCOM, Beans)■ Architecture languages

Now: paradigm shift towards composition systems

Page 18: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Classical Component Systems

CORBADCOMBeans/EJB

Architecture Systems

Aspect Systems

Systems with Composition Operators

Composition Systems

AesopDarwin

Aspect/J

N-calculus

Meta-object compositionInvasive Composition

Standard Components

Architecture as Aspect

Aspect Separation

CompositionOperators

CompositionLanguage

Object-Oriented Systems JavaC++Sather

Objects asRun-Time Components

Modular Systems Ada-85ModulaC..

Modules as Compile-Time Components

Uniform Composition Systems EASYCOMP

Composition FiltersHyperslices

Page 19: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Where Are We Today?

Component systems (CORBA, DCOM, Beans, OO-frameworks) provide a communication and

standard service infrastructure

components ... but nothing more

LEGO Software

Page 20: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

ComponentConnector Component

Port

Interface

Role

Software Architecture Systems

Page 21: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

ConnectorsPorts

Page 22: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1make, shell

Composition connectors

pipe, tee, file

Filter Components

Component-based applications

Black-boxcomposition

Connector-basedProgramming

Page 23: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

The Essence of the Last 5 Years

■ Aspect-oriented Programming■ View-based Programming

Page 24: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Systems with Composition Operators

Darwin

CompositionOperators

Classical Component Systems

CORBADCOMBeans/EJB

Architecture Systems

Composition Systems

Aesop

N-calculus

Standard Components

Architecture as Aspect

CompositionLanguage

Object-Oriented Systems JavaC++Sather

Objects asRun-Time Components

Modular Systems Ada-85ModulaC..

Modules as Compile-Time Components

Uniform Composition Systems EASYCOMP

Aspect Systems Aspect/JAspect Separation

Composition FiltersHyperslices

Meta-object compositionInvasive Composition

Page 25: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

StructureInterfaces

Light Plan

Pipe Plan

Integrated House

Page 26: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Debugging

aspect

Debugging

aspect

Persistence

aspect

Persistence

aspectAlgorithmAlgorithm

Debugging aspect

Persistence aspect

Persistence

aspectDebugging aspect

Weaver-ToolWeaver-Tool

Debugging aspect

Page 27: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1Composition

recipe

Weaver

Components

System constructed in a component- and

composition-based architecture

Aspect-oriented

composition

View-basedcomposition

Page 28: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Entering the Era of Composition: The Essence of the 2000s

■ Composition Systems with Composition Language

■ Uniform Composition Systems■ Everything will be an active

component/document■ Software and documents will be composed

uniformly with composition operators and languages

Page 29: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1Composition

recipe

Composition Language

Components

System constructed in a composition-based

architecture

Invasivecomposition

Uniformcomposition

Page 30: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Classical Component Systems

CORBADCOMBeans/EJB

Architecture Systems

Aspect Systems

Systems with Composition Operators

AesopDarwin

Aspect/J

Composition Filters

N-calculus

Hyperslices

Standard Components

Architecture as Aspect

Aspect Separation

CompositionOperators

Object-Oriented Systems JavaC++Sather

Objects asRun-Time Components

Modular Systems Ada-85ModulaC..

Modules as Compile-Time Components

Composition Systems

CompositionLanguage

Uniform Composition Systems

EASYCOMP

Meta-object compositionInvasive Composition

Page 31: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Requirements for Uniform Composition: Easy and Powerful

■ Uniform composition of software and data with XML as basis■ security

■ Easy system construction by simple composition technology

■ Architecture■ Reuse compositions from libraries and languages■ Aspect orientation ■ Extensibility and integratability

■ Powerful system construction■ Semantics for compositions in XML■ Reflection, introspection

Page 32: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

Invasive Composition - a Uniform Composition Technique

Page 33: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Composition

Component Model Composition Technique

Composition Language

Page 34: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1 12

Invasive Composition

Invasive Composition adapts and extends

componentsat hooks

by transformation

Page 35: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1 12

1. The Component Model of Invasive Composition

■ The basic element is a fragment box■ a set of fragments/tag elements

■ May be the representation of ■ an XML page■ a XML site■ a software component■ a class, a package, a method■ an aspect■ a meta description■ a composition program

Page 36: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1 12

Boxes have Hooks

Hooks are arbitrary elements or spotsof the representation of a boxwhich are subject to change

■ XML Variation Points■ beginning/end of tag lists■ anchors

■ Software Variation Points■ method entries/exits■ generic parameters

Page 37: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Implicit Hooks

Example Method Entry/Exit

m (){

abc.. cde..

}

Method.entry

Method.exit

Given by the programming language, the DTD or Xschema

Page 38: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Declared Hooks

Declarations

Declared Hooks are declared by the box writer as variables in the hook’s tags.

Page 39: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

XSuperClass

<superclasshook> X </superclasshook>

class Set extends genericXSuperClass { }

class Set /* @superClass */

Declaration of Hooks

■ Markup Tags■ Language Extensions (keywords..)■ Standardized Names■ Comment Tags

Page 40: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

2. The Composition Technique of Invasive Composition

A composer is a tag transformer from unbound to bound hooks

composer: box with hooks --> box with tags

Invasive Composition adapts and extends

componentsat hooks

by transformation

Page 41: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

112

List Entry List Entry

LIST ExitList Exit

<UL>

<LI>... </LI> <LI>... </LI>

</UL>

box.findHook(„Entry“).extend(„<LI>... </LI>”);

box.findHook(„Exit“).extend(“<LI>... </LI>”);

<UL> <LI>... </LI> <LI>... </LI> <LI>... </LI> <LI>... </LI></UL>

Page 42: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

112

Method Entry Method Entry

Method ExitMethod Exit

m (){

abc.. cde..

}

m (){ print(“enter m”); abc.. cde.. print(“exit m”);}

box.findHook(„.Entry“).extend(“print(\”enter m\”);”);

box.findHook(„Exit“).extend(“print(\”enter m\”);”);

Page 43: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Composer

Invasively transformed tags

■ Invasive Composition works uniformly over code and data

■ Allows to compose active documents uniformly (stationary, shippable, introspective, reflective)

Invasive Composition

Page 44: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

3. The Composition Language of Invasive Composition

■ Using standard languages and XML itself■ Java or others

■ Meta-composition possible■ Composition of composition programs

Page 45: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

COMPOST –The Invasive Composition System

■ First system to support invasive composition ■ Composition language Java

■ Library of static meta-programs■ Reified concepts Boxes, Hooks, Composers■ Names & Types■ Parsers + pretty printers■ Composers

■ Refactorings■ Inheritance operators■ Connectors■ Aspects

Page 46: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

COMPOST for Everybody

■ 0.74 is out (Uni Linköping/Uni Karlsruhe)

http://i44w3info.uni-karlsruhe.de/~compost.htmlhttp://www.ida.liu.se/~uweas/compost-distributions

■ COMPOST is still on Level 7, but extended in EASYCOMP...

Page 47: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

The EASYCOMP Project

Page 48: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

EASYCOMPs Goal

■ Provide a uniform composition technology (Level 8)

■ Easy■ Powerful

■ EU IST FET Basic Research Project■ 6/2000 - 5/2003 ■ 2.5 Mio Euro Funding■ U Karlsruhe (coordinator), U Hagen, U Linköping,

Ecole des Mines Nantes, TU Vienna, U Twente■ HEI Mannheim, QLABS Paris, ILOG Paris

Page 49: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

EASYCOMP Workplan

■ Core composition operator library■ Composition tools for XML active

components■ Component specifications■ Consistency checkers

■ Aspect Composition■ Event-based AOP

■ Case studies in ■ Multimedia learning■ E-commerce■ Dynamic reconfiguration

Page 50: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

EASYCOMP -Composition of Active Documents

■ Uniform component model UNICOMP ■ Generalized parameter model hooks■ Uniform composition operators

■ Component models for■ XML components

■ XHTML, HeiTML, SVG, SMIL,..■ Software components

■ Java, C, ...■ Build on top of a XML refactorer and Java

refactorer

Page 51: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

UNICOMP Architecture

JavaRecoder

X-HTMLRecoder

JDRUMS

FragmentComponents

Run TimeComponents

Components(Boxes)

PIKERecoder

UNICOMPComponents

.... ....

AbstractComposition

Interfaces forexchange andchecking

Languagespecific

Timespecific

FragmentComponents

Page 52: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

EASYCOMP Component and Composition Specification

■ Component properties in DAML■ Composition validation with DAML www.daml.org ■ Generic Semantics with DAML

Page 53: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Outlook on 2005

■ Uniform XML composition technology■ Tooling■ Components■ Semantic descriptions

■ Simplified construction of Active Documents■ Reuse, Extensibility, Aspect separation■ Composition language■ Reflection

■ Web Sites, Active Paper, Wearables, Traders, Agents easier

Page 54: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

PIKE Composition

■ PIKE refactorer■ based on static metaprogramming

■ Composition programs in PIKE■ composition library■ connectors, parameterizers, extenders

■ Extension of the language?

Page 55: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

The End

■ www.easycomp.org■ www.ida.liu.se/~uweas■ http://i44www.ipd.info.uni-karlsruhe.de/~compost

Page 56: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

Easy Composition of

XML-based Active Documents

Uwe Assmann

PELAB

Linköping University, Sweden

EASYCOMP Consortium

Page 57: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Overview of Active Documents

Stationary(Web sites,Documents)

Shippable(Active paper,

Wearables)

Reflective(Agents)

Introspective(Traders)

MobileReflective

Agents

Page 58: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

Classical Component Systems

CORBADCOMBeans/EJB

Architecture Systems

Aspect Systems

Systems with Composition Operators

Composition Systems

AesopDarwin

Aspect/J

N-calculus

Meta-object compositionInvasive Composition

Standard Components

Architecture as Aspect

Aspect Separation

CompositionOperators

CompositionLanguage

Object-Oriented Systems JavaC++Sather

Objects asRun-Time Components

Modular Systems Ada-85ModulaC..

Modules as Compile-Time Components

Uniform Composition Systems EASYCOMP

Composition FiltersHyperslices

Page 59: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

EASYCOMPs Goal

■ Provide a uniform composition technology (Level 8)■ Easy■ Powerful

■ EU IST FET Basic Research Project■ 6/2000 - 5/2003 ■ 2.5 Mio Euro Funding■ U Karlsruhe (coordinator), U Hagen, U Linköping,

Ecole des Mines Nantes, TU Vienna, U Twente■ HEI Mannheim, QLABS Paris, ILOG Paris

Page 60: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

EASYCOMP Workplan

■ Core composition operator library■ Composition tools for XML active

components■ Component specifications■ Consistency checkers

■ Aspect Composition■ Languages, graph rewriting for automized weaving■ Event-based AOP

■ Case studies in■ Multimedia learning, E-commerce, E-house

■ Composition Ontology

Page 61: Easy and Powerful Composition of XML-based Active Documents Uwe Assmann PELAB/RISE Linköping University, Sweden EASYCOMP Consortium.

1

THE END

■ www.easycomp.org■ www.ida.liu.se/~ uweas■ i44w3.ipd.info.uni-karlsruhe.de/~ compost


Recommended