WSMX Execution Semantics Executable Software Specification Eyal Oren DERI

Slides:



Advertisements
Similar presentations
Workflow Mining: Concepts and Algorithm Dr. Boleslaw Mikolajczak.
Advertisements

1 Intention of slide set Inform WSMOLX of what is planned for Choreography & Orhestration in DIP CONTENTS Terminology Clarification / what will be described.
Semantic Web Thanks to folks at LAIT lab Sources include :
Reference Implementation WSMX Matthew Moran, (Emilia Cimpian, AdrianMocan, Eyal Oren, Michal Zaremba) Digital Enterprise Research Institute
LIFE CYCLE MODELS FORMAL TRANSFORMATION
Alternate Software Development Methodologies
Semantic Web Services Peter Bartalos. 2 Dr. Jorge Cardoso and Dr. Amit Sheth
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Workflow utilization in composition of complex applications based.
A FRAMEWORK BASED ON WEB SERVICES ORCHESTRATION FOR BIOINFORMATICS WORKFLOW MANAGEMENT Laboratory for Bioinformatics (LBI), Institute of Computing (IC)
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
The WSMO / L / X Approach Michael Stollberg DERI – Digital Enterprise Research Institute Alternative Frameworks for Semantics in Web Services: Possibilities.
TRAVEL RESERVATION SYSTEM USING WEB SERVICES COMPOSITION LANGUAGE
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Kmi.open.ac.uk Semantic Execution Environments Service Engineering and Execution Barry Norton and Mick Kerrigan.
Introduction to Software Testing
1 Adapting BPEL4WS for the Semantic Web The Bottom-Up Approach to Web Service Interoperation Daniel J. Mandell and Sheila McIlraith Presented by Axel Polleres.
Process-oriented System Automation Executable Process Modeling & Process Automation.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
1.Database plan 2.Information systems plan 3.Technology plan 4.Business strategy plan 5.Enterprise analysis Which of the following serves as a road map.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
Špindlerův Mlýn, Czech Republic, SOFSEM Semantically-aided Data-aware Service Workflow Composition Ondrej Habala, Marek Paralič,
*Law and Coordination Rodrigo Paes. © LES/PUC-Rio Agenda Integration Coordination BPEL example Birth *Law and Coordination Further Steps.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Chapter 2 The process Process, Methods, and Tools
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
1 WSMX Web Service Modeling Execution WSMO Deliverable 13 Emilia Cimpian, Adrian Mocan, Matthew Moran, Eyal Oren, Michal Zaremba 3 March 2004.
Overview of the Course Copyright 2003, Keith D. Cooper, Ken Kennedy & Linda Torczon, all rights reserved. Students enrolled in Comp 412 at Rice University.
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Agent Model for Interaction with Semantic Web Services Ivo Mihailovic.
Semantic Web Fred: Project Objectives & SWF Framework Michael Stollberg Reinhold Herzog Peter Zugmann - 07 April
SOFTWARE DESIGN.
Overview of Formal Methods. Topics Introduction and terminology FM and Software Engineering Applications of FM Propositional and Predicate Logic Program.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Web Service Composition workflow patterns in BPEL4WS Eyal Oren DERI 2004/06/02
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Using WSMX to Bind Requester & Provider at Runtime when Executing Semantic Web Services Matthew Moran, Michal Zaremba, Adrian Mocan, Christoph Bussler.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
1 Introduction to Software Engineering Lecture 1.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Rob Smith April 21, /18 GOLD Project Update Meeting GOLD an infrastructural approach to virtual organisations.
Christoph Bussler, Laurentiu Vasiliu Digital Enterprise Research Institute (DERI) National University of Ireland, Galway, Ireland SDK meeting.
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.
A Logical Framework for Web Service Discovery The Third International Semantic Web Conference Hiroshima, Japan, Michael Kifer 1, Rubén Lara.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Engineering and Object-Oriented Design Topics: Solutions Modules Key Programming Issues Development Methods Object-Oriented Principles.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Dynamic RosettaNet Integration on Semantic Web Services Tomas.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
 Copyright 2008 Digital Enterprise Research Institute. All rights reserved. Digital Enterprise Research Institute Semi-automatic Composition.
Sharing personal knowledge over the Semantic Web ● We call personal knowledge the knowledge that is developed and shared by the users while they solve.
WI2003 Automatic Composition of Web Service Workflows Using a Semantic Agent Jarmo Korhonen Helsinki University of Technology 15 October 2003.
1 Ontological Foundations For SysML Henson Graves September 2010.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Algorithms and Problem Solving
Web Service Modeling Ontology (WSMO)
Web Ontology Language for Service (OWL-S)
Lecture 2 of Computer Science II
Introduction to Software Testing
Algorithms and Problem Solving
Workflow Mining: Concepts and Algorithm
ONTOMERGE Ontology translations by merging ontologies Paper: Ontology Translation on the Semantic Web by Dejing Dou, Drew McDermott and Peishen Qi 2003.
Presentation transcript:

WSMX Execution Semantics Executable Software Specification Eyal Oren DERI

WSMX execution semantics2 Background information WSMX: execution environment for dynamic discovery, selection, mediation and invocation of semantic web services WSMX is built on WSMO: services, ontologies, goals and mediators WSMX: manages repository, achieves user’s goal by selecting matching service, mediating and invoking

WSMX execution semantics3 Designing WSMX Conceptual model: what are we talking about Architecture: components, how they interact Execution semantics: system behaviour

WSMX execution semantics4 What did we do? Design of WSMX includes formal specification of system behaviour Reasons: –enlarging developers’ understanding of the system –proving properties of the system –enabling model-driven component execution We present the execution semantics of WSMX Did our approach address the objectives?

WSMX execution semantics5 What are execution semantics? Four phases in software development: requirements, design, implementation, testing Formal methods can be used during design: to improve the design process and the result Formal method: a mathematically-based language for specifying systems Execution semantics: a formal definition of operational behaviour of a system.

WSMX execution semantics6 Why model execution semantics? Formal methods do not make correct programs! Increase understanding and agreement between project members (by explicit specification process) To check properties of the constructed specification: discover future properties of the modelled system

WSMX execution semantics7 Why model execution semantics? Execute the specification –general idea: specification is input for execution engine; engine executes model, informs components to perform a task (workflow management, business process management) –main argument in favour: flexibility, not hard- coding this interplay, no need to translate specification into programming code –main argument against: inefficient implementation; might not be important: if composition is simple and components themselves are implemented efficiently

WSMX execution semantics8 Requirements Enlarge developers’ understanding: technique must be easily readable yet unambiguous Check properties of the system: technique must be formal and have a proof system Automate coordination between components: technique must have operationalisation, and execution procedure for a model

WSMX execution semantics9 How to model execution semantics? We want to automate control flow between components Components treated as black-boxes: we know their functionality but not how they operate Using Petri nets –graphical, supposedly easily understood –formalised, well analysable –executable

WSMX execution semantics10 WSMX execution semantics (see paper)

WSMX execution semantics11 Using execution semantics The goal was: –understandability –model checking –model-driven execution Did this work?

WSMX execution semantics12 Did it work? Understandability –not easily readable: syntax is very simple, but model gets complex –hard to write and time-consuming to maintain –simulation is very helpful Executing specification –technical problems: synchronous invocation from the engine –work in progress – the general idea is ok

WSMX execution semantics13 Did it work? Model checking –large amount of work on problems in Petri nets (algorithms, tools, decidability & complexity results) –however, we did not use this possibility: –during implementation developers had to manually translate the Petri net specification into Java code. –but model is not easily readable: implementation did not strictly follow model! –model checking not very useful

WSMX execution semantics14 Conclusion Specifying execution semantics as part of software development Three objectives: understandability, model checking, component execution Used Petri nets to specify the behaviour of WSMX Petri nets are not a useful technique for this specification: –not easily readable (and not easily writable) –model checking and executability in principle possible

WSMX execution semantics15 Future Investigate other techniques that overcome these problems –take into account: we want to do model checking and execute the specification –UML Activity diagrams: easily readable, more intuitive, no model execution –YAWL: builds on Petri nets, designed for usability, no good tools yet Separate techniques: –use one model for proving and executing –use second model for clarification and understanding –(second would be generated from the first)

WSMX execution semantics16 Questions?