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
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
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
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
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)
International Workshop on Web Engineering
ACM Hypertext 2004Santa Cruz, August 9-13
Architecture of CB-OHS
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
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
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)
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
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”.
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
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
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
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
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
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
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
International Workshop on Web Engineering
ACM Hypertext 2004Santa Cruz, August 9-13
Structural computing environments
• Themis
• Construct
• Callimachus
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