53
Easy and Powerful Composition of XML-based Active Documents Dr. U. Aßmann PELAB, Linköpings Universitet Sweden Talk at European Media Lab Heidelberg Feb. 2001

Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

Easy and Powerful Compositionof

XML-based Active Documents

Dr. U. Aßmann

PELAB, Linköpings Universitet

Sweden

Talk at European Media Lab

Heidelberg

Feb. 2001

Page 2: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

2 2

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? A Method for Uniform Composition: Invasive

Composition EASYCOMP

Page 3: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

3

Entering the Age of ActiveDocuments

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, activecomponents)

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

Page 4: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

4

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 ActiveDocument

Page 5: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

Future Applications of ActiveDocuments

Page 6: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

6

Overview of Active Documents

Stationary(Web sites,Documents)

Shippable(Active paper,

Wearables)

Reflective(Agents)

Introspecitve(Traders)

MobileReflective

Agents

Page 7: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

7

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 activeweb site?

Client vs server

Page 8: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

8

Shippable Active Documents(Wearables, Active Paper)

A shippable active document can be shipped easilyto 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 activedocuments

Active paper require shippable active documents

Page 9: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

9

Active Paper Relies onComposition Technology

Mr. Spielberg has married in May, Ms Anita Söderberg,from Linköping, Sweden

Now, it's June and he tries to reuse his E-paper taxform from last year (in 2010, the tax authorities don'taccept paper declarations)

His wife Anita also has an E-paper tax form, but fromSweden

How to both combine their papers?

Page 10: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

10

Wearables Rely on CompositionTechnology

Prof. Assmann works for two months in Karlsruhe

He carries his active desktop as wrist watch

In Karlsruhe, many sub-documents change also those that are edited in parallel in Linköping by his

colleagues

When he comes home to Linköping, he wants tointegrates wrist watch with the others

Page 11: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

11

Active Documents IntrospectingOthers (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 12: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

12

Introspective Active DocumentsRely on Semantic Properties

Introspective Active Documents have a meta-levelarchitecture, 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 13: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

13

Reflective Active Documents(Agents)

Agents are automomous active documents whichreflect and reason about themselves and theirenvironment

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 14: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

14

Overview of Active Documents

Stationary(Web sites,Documents)

Shippable(Active paper,

Wearables)

Reflective(Agents)

Introspecitve(Traders)

MobileReflective

Agents

Page 15: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

15

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 benice...

Semantics is an issue...

Security is an issue...

Activeness is an issue...

Page 16: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

16

Active Documents are Software

Active documents are Software!

Apply Software Engineering Techniques!

But how does Software Engineering look like today?

Page 17: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

What Does SoftwareEngineering Look Like Today?

Page 18: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

18

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 compositionsystems

Page 19: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

19

Classical Component Systems

CORBADCOMBeans/EJB

Architecture Systems

Aspect Systems

Systems with Composition Operators

Composition Systems

AesopDarwin

Aspect/J

SOP

lN-calculus

Invasive Compositionp-calculus

Hyperslices

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

Page 20: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

20

Where Are We Today?

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

standard serviceinfrastructure

components ... but nothing more

LEGO Software

Page 21: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

21Component Connector Component

Port

Interface

Role

Software Architecture Systems

Page 22: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

22

ConnectorsPorts

Page 23: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

23

make, shell

Composition connectors

pipe, tee, file

FilterComponents

Component-basedapplications

Black-boxcomposition

Connector-basedProgramming

Page 24: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

24

The Essence of the Last 5 Years

Aspect-oriented Programming View-based Programming

Page 25: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

25

Systems with Composition Operators

Darwin

SOPHyperslicesComposition

Operators

Classical Component Systems

CORBADCOMBeans/EJB

Architecture Systems

Composition Systems

Aesop

lN-calculus

Invasive Compositionp-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

Page 26: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

26

StructureInterfaces

Light Plan

Pipe Plan

Integrated House

Page 27: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

27

Debugging aspect

Debugging aspect

Persistenceaspect

Persistenceaspect

AlgorithmAlgorithm

Debugging aspect

Persistence aspect

PersistenceaspectDebugging aspect

Weaver-ToolWeaver-Tool

Debugging aspect

Page 28: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

28

Compositionrecipe

Weaver

Components

System constructed in acomponent- and

composition-basedarchitecture

Aspect-oriented

composition

View-basedcomposition

Page 29: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

29

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

Composition Systems with CompositionLanguages

Uniform Composition Systems Everything will be an active component/document Software and documents will be composed

uniformly with composition operators andlanguages

Page 30: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

30

Compositionrecipe

Composition Language

Components

System constructed in acomposition-based

architecture

Invasivecomposition

Uniformcomposition

Page 31: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

31

Classical Component Systems

CORBADCOMBeans/EJB

Architecture Systems

Aspect Systems

Systems with Composition Operators

AesopDarwin

Aspect/J

SOP

lN-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 SystemsInvasive Composition

p-calculusCompositionLanguage

Uniform Composition Systems EASYCOMP

Page 32: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

32

Requirements for UniformComposition: Easy and Powerful

Uniform composition of software and data withXML as basis security

Easy system construction by simple compositiontechnology

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

Powerful system construction Semantics for compositions in XML Reflection, introspection

Page 33: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

Invasive Composition - a Uniform CompositionTechnique

Page 34: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

34 34

Composition

Component Model Composition Technique

Composition Language

Page 35: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

35 35

Invasive Composition

Invasive Composition adapts and extends

componentsat hooks

by transformation

Page 36: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

36 36

1. The Component Model ofInvasive Composition

The basic element is a box, a set of tag elements May be the representation

an XML page a XML site a software component

a class, a package, a method an aspect a meta description a composition program

Page 37: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

37 37

Boxes have Hooks

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

beginning/end of tag lists anchors method entries/exits generic parameters

Page 38: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

38 38

Implicit Hooks

Example Method Entry/Exit

m (){

abc.. cde..

}

Method.entry

Method.exit

Given by the programming language, the DTD or Xschema

Page 39: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

39 39

Declared Hooks

Declarations

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

Page 40: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

40 40

XSuperClass

<superclasshook> X </superclasshook>

class Set extends genericXSuperClass { }

class Set /* @superClass */

Declaration of Hooks

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

Page 41: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

41 41

2. The Composition Technique ofInvasive 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 42: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

4242

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 43: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

4343

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(\”exit m\”);”);

Page 44: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

44

Composer

Invasively transformed tags

Invasive Composition as HookTransformations

Invasive Compositionworks uniformly overcode and data

Allows to compose activedocuments uniformly (stationary, shippable,introspective, reflective)

Page 45: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

45

3 The Composition Language ofInvasive Composition

Using standard languages (Java) and XML itself Meta-composition possible

Page 46: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

46

The COMPOCOMPOsition SSyTTem

COMPOST is the first system to support invasivecomposition for Java

Library of meta-programs Composition language Java Reifies concepts

Boxes, Hooks, Composers and many other things

Names & Types Design Patterns Refactorings Inheritance operators

Page 47: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

47

COMPOST for Everybody

0.63 is out (Uni Karlsruhe/Uni Linköping) parsers + pretty printers, name analysis service boxes and hooks papers

http://i44w3info.uni-karlsruhe.de/~compost.html

COMPOST is still on Level 7, but extended inEASYCOMP...

Page 48: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

The EASYCOMP Project

Page 49: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

49

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, ILOG

Page 50: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

50

EASYCOMP Workplan

Core composition operator library Composition tools for XML-based active

components Component specifications Consistency checkers

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

Evaluation case studies in Multimedia learning E-commerce Dynamic reconfiguration

Page 51: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

51

EASYCOMP Component andComposition Specification

Component properties DAML www.daml.org and OIL www.ontobroker.org Feature logic, F-Logic DOOD technology: deductive object-oriented databases

Composition validation Protocol checking methods

Security? Virus detection Sandbox behavior Compositional Proof-carrying codes

Page 52: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

52

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, Agentseasier

Page 53: Easy and Powerful Composition of XML-based Active …ua1/Talks/2001/...3 Entering the Age of Active Documents XML is the ASCII of the 21st century It will represent software and datauniformly

53

THE END

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