Date post: | 28-Dec-2015 |
Category: |
Documents |
Upload: | jordan-wilson |
View: | 221 times |
Download: | 0 times |
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
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
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
Future Applications of Active Documents
1
Overview of Active Documents
Stationary(Web sites,Documents)
Shippable(Active paper,
Wearables)
Reflective(Agents)
Introspective(Traders)
MobileReflective
Agents
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
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
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
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
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
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
1
Overview of Active Documents
Stationary(Web sites,Documents)
Shippable(Active paper,
Wearables)
Reflective(Agents)
Introspective(Traders)
MobileReflective
Agents
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...
1
Active Documents are Software
Active documents are Software!
Apply Software Engineering Techniques!
But how does Software Engineering look like today?
What Does Software Engineering Look Like Today?
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
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
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
1
ComponentConnector Component
Port
Interface
Role
Software Architecture Systems
1
ConnectorsPorts
1make, shell
Composition connectors
pipe, tee, file
Filter Components
Component-based applications
Black-boxcomposition
Connector-basedProgramming
1
The Essence of the Last 5 Years
■ Aspect-oriented Programming■ View-based Programming
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
1
StructureInterfaces
Light Plan
Pipe Plan
Integrated House
1
Debugging
aspect
Debugging
aspect
Persistence
aspect
Persistence
aspectAlgorithmAlgorithm
Debugging aspect
Persistence aspect
Persistence
aspectDebugging aspect
Weaver-ToolWeaver-Tool
Debugging aspect
1Composition
recipe
Weaver
Components
System constructed in a component- and
composition-based architecture
Aspect-oriented
composition
View-basedcomposition
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
1Composition
recipe
Composition Language
Components
System constructed in a composition-based
architecture
Invasivecomposition
Uniformcomposition
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
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
Invasive Composition - a Uniform Composition Technique
1
Composition
Component Model Composition Technique
Composition Language
1 12
Invasive Composition
Invasive Composition adapts and extends
componentsat hooks
by transformation
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
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
1
Implicit Hooks
Example Method Entry/Exit
m (){
abc.. cde..
}
Method.entry
Method.exit
Given by the programming language, the DTD or Xschema
1
Declared Hooks
Declarations
Declared Hooks are declared by the box writer as variables in the hook’s tags.
1
XSuperClass
<superclasshook> X </superclasshook>
class Set extends genericXSuperClass { }
class Set /* @superClass */
Declaration of Hooks
■ Markup Tags■ Language Extensions (keywords..)■ Standardized Names■ Comment Tags
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
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>
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\”);”);
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
1
3. The Composition Language of Invasive Composition
■ Using standard languages and XML itself■ Java or others
■ Meta-composition possible■ Composition of composition programs
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
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...
The EASYCOMP Project
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
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
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
1
UNICOMP Architecture
JavaRecoder
X-HTMLRecoder
JDRUMS
FragmentComponents
Run TimeComponents
Components(Boxes)
PIKERecoder
UNICOMPComponents
.... ....
AbstractComposition
Interfaces forexchange andchecking
Languagespecific
Timespecific
FragmentComponents
1
EASYCOMP Component and Composition Specification
■ Component properties in DAML■ Composition validation with DAML www.daml.org ■ Generic Semantics with DAML
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
1
PIKE Composition
■ PIKE refactorer■ based on static metaprogramming
■ Composition programs in PIKE■ composition library■ connectors, parameterizers, extenders
■ Extension of the language?
1
The End
■ www.easycomp.org■ www.ida.liu.se/~uweas■ http://i44www.ipd.info.uni-karlsruhe.de/~compost
Easy Composition of
XML-based Active Documents
Uwe Assmann
PELAB
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
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
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
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
1
THE END
■ www.easycomp.org■ www.ida.liu.se/~ uweas■ i44w3.ipd.info.uni-karlsruhe.de/~ compost