international workshop on web engineering acm hypertext 2004 santa cruz, august 9-13 an engineering...

20
International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based Open Hypermedia Systems Michail Vaitis, Manolis Tzagarakis and George Gkotsis

Upload: solomon-curtis

Post on 27-Dec-2015

213 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

An Engineering Perspective on Structural Computing:

Developing Component-Based Open Hypermedia Systems

Michail Vaitis, Manolis Tzagarakis and George Gkotsis

Page 2: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Structural Computing: Motivation

Inadequacy of information structuring abstractions:

– Web applications• Links are second class entities

• Starting-points for unidirectional jumps

– Hypermedia applications• Employed for incarnating all information

structuring situations

Page 3: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Research on Hypertext

• Hypermedia domain research– how the human mind perceives structure in

different problem domains

• Hypermedia system research– designing and building the computational

foundations to support people working with structure

Page 4: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Hypermedia domains

Hypermedia domain:– a coherent set of structure abstractions that

solves a particular data organization problem

•Navigational•Taxonomic•Spatial•Argumentation

support

•Configuration management•Workflow•Hyperfiction•Linguistics

Page 5: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Component-Based Open Hypermedia Systems

Client

Infrastructure

Structure Server

Client

Infrastructure

Structure Server

Third-party programs requesting

structure functionality

Provide domain-specific structure services to clients

Fundamental functionality available to all structure servers (persistent storage, naming, event notification control, versioning)

Page 6: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Architecture of CB-OHS

Page 7: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Structure Server

• Domain specifications: specifications about the structure abstractions of the domain– Structure syntax

• Templates / Patterns

– Behavior semantics• Internal operations

• External operations

• Services: Implement the domain-specific interface

Page 8: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Structural Engineering

• Motivation: the lack of an engineering framework guiding the development process, coupled by the appropriate tools

• Definition: a systematic and disciplined approach to the development, operation and maintenance of applications and infrastructures that solve structure-oriented problems

Page 9: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Characteristics of structure servers• Structural completeness (structure abstractions should completely solve

the structure-oriented problems of the domain)• Size (small to medium software projects)• Performance (short response time to clients’ request) • Distribution and Heterogeneity (operate in a distributed environment of

different hardware and software platforms) • Specifications evolution (small possibility for the specifications to be

changed during the development)• Reusability and Extensibility (structure services at a fine granularity

level) • Life time (long duration of structure services)• Robustness, Scalability and Availability (due to a huge number of

applications) • Introspection capabilities (communicate behavior to other applications) • Interoperability (transformation of structures between different

hypermedia domain)

Page 10: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

CB-OHS life cycleScenario

description

RapidPrototyping

ComponentImplementation

Integration

Evaluation

Deployment &Documentation

Structure specification

Syntax Behavior

Structure specification

Syntax Behavior

Maintenance

Page 11: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Scenario description• Goals (name of each goal, plus a description of it)• Characters (the different kind of users of the service)• Data (data examples that may be associated together)• Requirements for third party applications (requests)• Structure configuration (description and constraints

among the structural elements)• Behavior description (operations and propagation of

them, synchronization among elements)• Infrastructure requirements (storage, naming, etc. )

Facilitate discussions among hypermedia application designers and developers

Avoid “reinventing the wheel”.

Page 12: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Structure specifications• Syntax

– Specification of the structure model of the domain– Contain the basic structural elements, their properties and the

connection constraints among them, or to data items– Detection of relevant elements that maybe reused– Structure is a first class entity

• Behavior – Computational aspects of a domain– Tightly coupled with the structure model

Structure syntax and behavior may be considered as different views of the same “whole”, introducing the possibility of specifying both within the same language

Page 13: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Component implementation

• Casting of the neutral structural objects stored by the infrastructure, to the specific structure elements concerning the application domain.

• Abstraction Factory Layer (AFL). Responsible for reifying un-typed structural objects to domain specific abstractions

• Abstraction Utilization Layer (AUL). The domain specific abstractions may be used by clients

Page 14: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Deployment and Documentation

• Structure server in operational mode

• Clients’ ability to discover and locate the required service

• Registration of the structure server to the dedicated directory services

• Configuration of introspection capabilities

Page 15: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Structural Engineering Tools

• Theoretical armory tools– Aim at supporting problem analysis within the

structural computing framework

• Development tools– Attempt to assist developers when working

with CB-OHS

Page 16: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Theoretical tools and armory • Needed primarily by analysts and to a lesser

degree by developers• Required on two important research fronts:

1. Structural completeness: To what degree structure specifications may cover or solve structural problems?

2. Structural analysis and decidability– Comparison of models and determination of their

differences– Decision whether a particular organizational

problem belongs to a hypermedia domain, or not

Page 17: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Development tools

1. Tools for structure model definition• Structure specification formalism

─ Open to extensions,

─ Model-neutral

─ Common ground for cooperation

2. Tools for structure behavior specification• Modelling dynamic and computational aspects

• Controlling structure abstractions’ life-span, interaction and reaction to messages

Page 18: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Development tools (cont’d)

3. Tools for discovering components in CB-OHS

– Aim to locate available structure servers without prior knowledge of their existence or their name

– Special protocols for browsing structure servers according to certain properties, such as:

• the name of the domain

• the interface the structure server is using to receive requests

• the availability of the server

Page 19: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Structural computing environments

• Themis

• Construct

• Callimachus

Page 20: International Workshop on Web Engineering ACM Hypertext 2004 Santa Cruz, August 9-13 An Engineering Perspective on Structural Computing: Developing Component-Based

International Workshop on Web Engineering

ACM Hypertext 2004Santa Cruz, August 9-13

Future Work

• Tools for structural computing– Behavioral modeling

• Stimulus absorption

• Propagation of operators

– Theoretical armory• Structural completeness

• Structural decidability

– Peer-to-peer Hypermedia• Structure services discovery