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

Slides:



Advertisements
Similar presentations
Chapter 19 – Service-oriented Architecture
Advertisements

Omniran TG 1 Cooperation for OmniRAN P802.1CF Max Riegel, NSN (Chair OmniRAN TG)
Architecture Representation
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
OASIS Reference Model for Service Oriented Architecture 1.0
Understand Web Services
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Introduction and Overview “the grid” – a proposed distributed computing infrastructure for advanced science and engineering. Purpose: grid concept is motivated.
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
Using Architecture Frameworks
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
© Copyright Eliyahu Brutman Programming Techniques Course.
Software Architecture in Practice
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
Course Instructor: Aisha Azeem
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Domain-Specific Software Engineering Alex Adamec.
UNIT-V The MVC architecture and Struts Framework.
What is Software Architecture?
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
An Introduction to Software Architecture
DEVS Namespace for Interoperable DEVS/SOA
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 09. Review Introduction to architectural styles Distributed architectures – Client Server Architecture – Multi-tier.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Chapter 13 Architectural Design
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
An Introduction to Software Engineering. Communication Systems.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
1 ECCF Training 2.0 Introduction ECCF Training Working Group January 2011.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a: Architectural Design Software Engineering: A Practitioner’s Approach, 6/e Chapter 10a:
SSE3 Hypertext concepts 1. Agenda Pioneers and evolution Hypermedia – Modern hypermedia technology – Structure domains Architectural evolution The project.
Digital Library The networked collections of digital text, documents, images, sounds, scientific data, and software that are the core of today’s Internet.
16/11/ Semantic Web Services Language Requirements Presenter: Emilia Cimpian
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Unified Modeling Language, Version 2.0 Chapter 2.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
Cooperation & Interoperability Architecture & Ontology.
GRID ANATOMY Advanced Computing Concepts – Dr. Emmanuel Pilli.
Basic Concepts and Definitions
Engr 691 Special Topics in Engineering Science Software Architecture Spring Semester 2004 Lecture Notes.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Chapter 9 Architectural Design. Why Architecture? The architecture is not the operational software. Rather, it is a representation that enables a software.
OO Methodology OO Architecture.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Model-Driven Analysis Frameworks for Embedded Systems
Service-centric Software Engineering
Architecture Description Languages
An Introduction to Software Architecture
Chapter 7 –Implementation Issues
Chapter 9 Architectural Design.
Automated Analysis and Code Generation for Domain-Specific Models
Chapter 5 Architectural Design.
Chapter 6: Architectural Design
From Use Cases to Implementation
Presentation transcript:

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

International Workshop on Web Engineering ACM Hypertext 2004 Santa 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 2004 Santa 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 2004 Santa 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 2004 Santa Cruz, August 9-13 Component-Based Open Hypermedia Systems 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 2004 Santa Cruz, August 9-13 Architecture of CB-OHS

International Workshop on Web Engineering ACM Hypertext 2004 Santa 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 2004 Santa 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 2004 Santa 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 2004 Santa Cruz, August 9-13 CB-OHS life cycle

International Workshop on Web Engineering ACM Hypertext 2004 Santa 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 2004 Santa 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 2004 Santa 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 2004 Santa 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 2004 Santa 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 2004 Santa 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 2004 Santa 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 2004 Santa 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 2004 Santa Cruz, August 9-13 Structural computing environments Themis Construct Callimachus

International Workshop on Web Engineering ACM Hypertext 2004 Santa 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