Extending WISE with Contract Management

Size: px
Start display at page:

Download "Extending WISE with Contract Management"

Transcription

1 Extending WISE with Contract Management Aaron Calafato Dept. of Computer Science University of Malta Abstract Nowadays transactions require an increasing amount of critical information, therefore the architecture is expected to be reliable. Trusting services involved in such sensitive transactions is an issue tackled in the semantic web with the creation of description languages including semantics and runtime veriefication by monitoring a system s behaviour. The problem in these areas is that the former does not directly lead towards monitoring systems whilst the latter may be difficult to create for a user. Here we present an approach to generate an easy to use and expressive web service workbench. This will generate and monitor web services with the use of a graphical representation tool. This work creates a Java skeleton for the web services, as well as the monitoring mechanism to handle the intermediate method calls. The monitoring mechanism is intended to be deployed on a third party service. Thus both the client and the server can declare and increase restrictions in the process flow. 1 Introduction Accessibility of remote services is a field that has been researched for quite some time. Technologies such as COM 1, CORBA 2 and Java RMI 3 have been created for this specific reason. A prevailing technology, which is widely in use nowadays is Web Services. The major advantage of using web services is that they may be invoked programmatically. Web services has been further more enhanced by ontologies (10) to be described better, like in OWL-S (13) and WSM* (12). BPEL (5) is an approach dedicated towards the modelling of web services compositions. These approaches focus in describing web services, whilst in this paper we focus on executing and monitor web services and interlinking communication. Monitoring web services method calls induces a more trustworthy environment. Runtime verification is an area where monitoring and planning of contracts are tackled. These contracts deal with the possible flow of events which may or may not occur in the system s communication. Whilst many separate studies are being carried out on semantic web services and runtime verification in a separate manner, our approach is to combine these two areas into a single framework. This is done to combine the benefits of semantic definitions and the increase in security which comes with runtime verification. Creation of web services will require little expert knowledge on the part of the user. For this reason a mechanism is required which may define as many constructs as possible. The tools provided should allow for the creation of a non trivial web service which is composed of several features. In conjunction with the web service creation, another aspect which this system aims to handle is the generation of contracts. Furthermore, contracts have to be editable and exposed to all users. Therefore the chosen mechanism has to enable sharing of contracts to all the participating parties. WISE is a user friendly tool which maps SAWSDL to OWL-S by using BPMN to model process flows. On the monitoring mechanism aspect, Larva is a runtime verification tool which is able to handle temporal logic. We here present a tool which is inspired by WISE (9), it takes a description created in BPMN, and generate (i) Java code for a web service and (ii) the monitoring mechanism script in Larva (3). Finally we present a prototype to dynamically invoke web services using a single invoking engine. 2 Background Our perspective to execute and monitor web services is to merge the two areas of semantic web and runtime verification. As the basic description language, WSDL (2) provides the least number of

2 constructs to consume services. The need to compose a flow of services is required. Thus, a number of description languages have emerged to deal with composition of services. These vary from defining I/Os, pre-conditions and post-conditions like WSM* to defining solely the expected flow of events such as BPEL. As a mature language, BPEL has evolved to express a wide range of constructs defining both the flow of events and events attached to tasks such as rollbacks. Also, having its graphical notation (BPMN), this language has proved to be very expressive and easy to understand. The problem with using only BPEL is that the existing technology only aids in executing an already existing web service. The lack of assurance is highly visible in this area, especially when both client and service should define the contract with properties of what should or should not happen. The lack of assurance is tackled by the use of runtime verification. Runtime verification is a methodology which deals with planning, verifying and monitoring contracts. The main mechanisms used in verification are static and dynamic modes. The former checks for possible traces of flow of events whilst the latter checks for the current trace at runtime. Also, for the dynamic verification mode, two ways to use this are via immediate verification or logging information to be monitored later on. In verifying the behaviour of a system, it is common to detect bugs by testing, a criticism of this methodology is that a well tested program only shows that no bugs have been encountered rather than the fact that no bugs exist. Two types of testing exist, these being white and black box testing. Within the web service environment, testing for communication may be seen as black box testing as the internal server s code is not known at the client s side like in web services. Also, automated tests like unit testing enhance the number of paths which are tested which however in most situations do not cover all possible ones. With runtime verification, monitoring a system is done by hooking extra code to the actual program, having methods pre-checked by runtime verification s checks. Similarly to Unit testing, runtime verification retrieves the required logic but instead of simulating the system with stand alone methods, the logic works in parallel to the running system. This paradigm has advantages which are required to handle most of the checking for the web services message passing; this is called dynamic runtime verification and will be used for its advantages over testing and static verification. As a runtime verification engine, Larva (3) has been set as our target engine. Larva is based on automata models, whilst being extended to the DATE model. DATEs extend automata with the use of variables, channels, clocks and numerous number of events type like pre and post events. In (1) section , the number of extensions are illustrated with a special emphasis on the benefits in using variables. For instance, figure 1 shows the automata representation of a property stating that the system should only have from 0 to 2 logged users. Without variables, the number of states would be proportional to the maximum number of users and two extra states for the error states, which does not scale up efficiently. Figure 1: Automata with variables taken from (3) 3 Execution and Monitoring of Web Services In order to deal with both ease of use and expressivity in constructs, the BPMN (8) graphical notation has been chosen to express the web service composition. Helping in executing and monitoring web services has led to create two mechanisms these being (i) generating a number of files with the described service Java code and (ii) generating a Larva script to monitor the service calls. As a general architecture regarding the Java code generation, our mechanism is designed to generate a modular web services separating the exposed method calls with the internal executing ones as shown in figure 2. As both client and server should have the possibility to generate their own mechanisms, the 2

3 Figure 2: Generated code: exposed methods (left) and internal method calls (right) BPMN mechanism has been mapped to satisfy this issue. With these mappings, the contract written in BPMN pools can be extended by any party whilst hosted on an intermediate party(the Broker) to monitor the messages passed as shown in figure BPMN to Java Our primary goal is to aid the user to create an executable from a BPMN diagram. We therefore have created a mapping mechanism which generates Java code including method stubs, conditions, threads and other elements to help in creating a structure for the implementation of a web service. An advantage of creating a separate monitoring mechanism is that the execution is only concerned with its prescribed execution. Generated Code Architecture The different Java code classes and methods have to be designed to maximize modularity, reduce redundancy and therefore reduce chance for inconsistencies. It also splits methods to be exposed to the web and those that should be handled internally. Elements that affect this architecture are as follows: Exposed services Internal methods composing the services Classes for polymorphism Figure 3: Runtime verification using an intermediate party Decoupling of Java and Larva Handling both Java and Larva script generation with a single graphical representation, various mechanisms to represent both have been evaluated. Two approaches which could have been used were: Use a single diagram with tasks representing Larva properties and sub tasks representing the internal mechanism Use multiple pools, some of which reflect the Larva and others the Java code. With the first option, to create a task or service, it has to be monitored. The second option is highly decoupled, by not linking Larva and Java tasks to each other, therefore can be used separately for both aims. Also, if a task is to be monitored by two rules, for the first option, the task has to be redesigned by the user, inducing the chance for inconsistencies. Due to these and other advantages, our mechanism treats the two mapping independently. Classes for concurrency using threads We propose a mechanism to create a main class of exposed services making use of another class, consisting of internal methods which in turn consists of the services. In addition to this, other classes are generated for the parallel composition. With this addition, expressivity is added to make use of threads whilst synchronising when all threads are terminated. For more expressivity, BPMN events have been added to represent message returns. For instance, if a method named getrole may return a ManagerRole or an EmployeeRole, where their attributes are different. Instead of creating a condition based on the attributes, we enable the chance to define conditions based on return types. To do so, a superclass is created and these two roles are listed as subclass of this new class, whilst the method is set to return the superclass type. This approach is able to overcome a consistency issue, where methods are only created once. If multiple services require the use of a common internal method, this is found in a common class, thus implemented once by the user. Mappings The mappings of BPMN elements to Java code are listed in Table 1. The first three mappings correspond to the basic elements whilst the others are the sequence and the various gateways. 3

4 BPMN Element Task Cancel Event Looping Task Sequence Data-based Explicit, cond. c1 (default) and c2 Data-based Implicit, cond. c1 (default) and c2 Event-based Explicit, events e1 and e2 Parallel, X and Y processes Java Code (i) Method creation (ii) method call System.out.exit(0); (i) Method creation (ii) While(false) loop Sequence of method calls if(c1 (!c1 &&!c2))... else if (c2)... if(c1 (!c1 &&!c2))... if (c2)... (i) Create classes (ii) Get result (E) (iii) if(e1.getclass() == E.getClass())... else if (e2.getclass()==e.getclass())... (i) Create classes (ii) Collect threads (iii) Loop to initiate threads (iv) Loop to synchronise threads Table 1: Mappings of BPMN to Java code 3.2 BPMN to Larva Parallel to the execution of a service, the monitoring of the service behaviour has to be automatically generated to avoid typing errors. In doing so, we have generated a mapping mechanism of BPMN elements subset to Larva. The databased inclusive gateways has not been mapped as this generates non determinism which is not handled in Larva. DATEs contain a number of state types which define the kind of state the current position is in. This is opposed to the actual position which will be needed to identify states upon which these rules will function. We are here interested mostly in three state types; starting, accepting and bad states drawn respectively as shown in figure 4. Figure 4: State Types initial, accepting and bad states Merging Error States Two options in error states were to either merge error states, which reduces the number of states whilst always showing the same error, or leaving all error states spread out. Our choice was to leave the separate error states so that if a violation is detected, the point of violation can be detected. As an example, having a property tackling posting a number of messages, possible bad states could be: User not yet logged in Number of posts exceeding a limit Positive vs. Negative directing automata For the user to define a number of rules (or properties) within the contract, a mechanism represented by BPMN is chosen. Four variations were considered to define basic elements, variations were: 1. If an event happens, a violation should occur 2. If an event does not happen, a violations should occur 3. Defining what can and cannot happen in the same rule (or property) 4. Having both options in 1 and 2 in different rules The difference in the first two options is that for a large scale system, the number of possible paths may be difficult to bind. Therefore we opted to define what causes violations, thus option 1. Options 3 and 4 both express more constructs. However option 3 could misguide the user due to its complexity by declaring what can and what cannot happen, whilst option 4 could have been the better option whilst not implemented due to time restriction. The generated DATE for a task or event is shown in figure 5. Merging Mechanism In merging the BPMN elements, two approaches were studied. These are using direct transitions or channel transitions. The former reduces the number of states whilst cannot cover for parallel composition whilst the latter handles all compositions whilst increases slightly the number of states. Our choice was to develop mappings using channel transitions to create a uniform mechanism. Figure 5: BPMN (left) to Larva (right) Events and Task mappings Mapping Elements In mapping and merging elements, the two step process includes (i) generating a number of separate DATEs and (ii) merging the DATEs with their respective starting and bad 4

5 states. Therefore the overall structure consists of a set of dates and a pointer towards the starting and bad states. Our approach maps a number of BPMN elements to DATEs which are later on merged into a number of linking DATEs. For instance, having a BPMN pool with two tasks, RejectLogin linking to PostMessage. Our proposed work first recognises the two tasks as leading towards violations, whilst later on merges the DATEs such that if a RejectLogin occurs, a PostMessage cannot occur. This type of merging mechanism is uniform throughout all merging mechanisms. To create a more expressing mechanism, the list of gateways which have been mapped are (i) Sequence, (ii) Data-based explicit, (iii) Event-based explicit and (iv) Parallel compositions. Also, besides the basic element/task, a looping event and a complement of an event have been mapped. For temporal logic, two constructs have been implemented, these are what cannot happen before and after a time period. For example defining If a login happens, another login cannot happen before 5 seconds or If a request happens, a reply cannot happen after 5 seconds The only BPMN gateway which was not mapped to Larva, is the Data-based Implicit gateway. This gateway induces non-determinism which is not supported by Larva. 3.3 Dynamic Invocation The third part of this work consists of invoking web services automatically, independent of the description language with which these are described. Due to the time restriction, based on the study carried out, only the design was created. It has been concluded that a two layer mechanism would have been created. The upper layer should handle constructs about (i)the basic constructs such as parameters, (ii) flow of processes defined by languages such as OWL-S and BPEL and (iii) choreography constructs such as pre and post conditions defined by languages like WSML. For the second layer, the collected processes should be executed individually by another mechanism. The mechanism should use a native method such as Apache Axis 4 or Axis2 5 which gives flexibility to invoke services which are not yet bound with the system OWL-S OWLS2MVC Mapping Our Mapping Composite process Servlet class Method in main class Atomic process Method Method in separate class Sequence of tasks Sequence of code Sequence of code If-then-else If-then-else Exclusive (if... else if..) or Inclusive (if... if...) Choice Switch N/A Repeat While While While Repeat Until Do-while N/A Input Arguments N/A Output Return N/A Parameter type Type of attribute In loops or event-based Table 2: Constructs expressed by OWLS2MVC 4 Evaluation and Related Work Java Mappings First hand constructs which have not been implemented in the system were the return types, parameters, and exception handling mechanisms. We focused our work to provide constructs representing the flow of events. We have created a mapping for every existing BPMN gateway. To our knowledge no other similar work has been conducted which maps such a number of constructs to Java. The most relevant work was identified as OWLS2MVC (4) which has a mixture of mechanisms involving processes, flows and data types. The expressivity of the OWLS2MVC s constructs is shown in table 2. On the other hand, various constructs which we defined were not mapped in OWLS2MVC. These being: Cancel event Use of polymorphic classes Parallel composition Comparing Properties Expressivity A comparison to the constructs found in (11) and (6) has been done. These two approaches tackle different construct types. In (6), constructs are built with respect to states in time. For example a construct Becomes(X ) is defined by: when X is true in the current state and false in the previous state. In (11), the mechanism is of the form Head Body, where if the Head happens, the Body is expected to happen. Therefore, both approaches define different constructs, which we try to express. We pointed out that both approaches defined their constructs in a bounded environment such as after(a,b) which means that if a happens, b should happen. This cannot be proved true or false at runtime. Thus a number of constructs could not 5

6 Construct in (11) Definition Mapping in BPMN absence(a) a must not execute A blocks(a,b) if a happens, b cannot happen A B notbetween(a,b,a) if a happens and then b happens, a A B A cannot happen again rightafter(a,b) if a happens, b has to immediately happen next A!B Table 3: Constructs in (11) expressed well by our mechanism have been mapped by our mechanism. Table 3 illustrates the constructs (11) which were expressed successfully. Case Study To demonstrate better the expressivity of our mechanism we have used the scenario found in (7). The scenario and rules were not intended for our use. The case study was implemented in the form of Head Body, where if the former event happens, the latter should occur. The proposed mechanism, is based on what should not happen. With some alterations, the monitoring mechanism has been generated equally expressive. Also, the Java code has been generated for the three entities, namely the customer, supplier and warehouse. We refer the reader to (1) chapter 11 for the full case study. Finally, the mechanism has been shown to users varying from no background to professional Java and Larva users. The feedback was that whilst the Java code is understandable for all users, the monitoring mechanism using negative approach may be misleading with the use of temporal logics. 5 Conclusions Our mechanism has resulted as an overall intuitive system which is capable to map constructs in BPMN to be mapped to Java code and Larva script. The expressivity has been evaluated to be sufficient to create a non trivial web service. Limitations were induced mainly by two factors; (i) BPMN elements restriction which are mostly focused towards flow of events and (ii) Time restrictions which stopped us from enriching the system with more constructs. The target of dynamic invocation of web services had to be reduced due to time restrictions. [2] Erik Christensen, Francisco Curbera, Greg Meredith, and Sanjiva Weerawarana. Web Services Description Language (WSDL) 1.1. IBM Research and Microsoft, 15 March [3] Cristian Colombo. Dynamic analysis overview and a proposed verification tool for temporal properties in security-critical software. Master s thesis, University of Malta, [4] Cássio Prazeres V. S. et al. Semantic web services: from owl-s via uml to mvc applications. In SAC 09: Proceedings of the 2009 ACM symposium on Applied Computing, pages , New York, NY, USA, ACM. [5] Charlton Barreto et al. Web Services Business Process Execution Language Version 2.0. Adobe Systems, Amberpoint, SOA Systems, Microsoft, IBM, Oracle, iway Software, Sun, SAP ansd TIBCO Software, 09 May [6] Luciano Baresi et al. Keep it small, keep it real: Efficient run-time verification of web service compositions. In FMOODS 09/FORTE 09: Proceedings of the Joint 11th IFIP WG 6.1 International Conference FMOODS 09, pages 26 40, Berlin, Heidelberg, Springer- Verlag. [7] Marco Alberti et al. Computation logic for run-time verification of web services choreographies: Exploiting the socs-si tool, September [8] Object Management Group Inc. Business Process Model and Notation (BPMN) 1.1. Object Management Group Inc., January [9] Keith Lia. Web service workbench - a service composition editing suite. In WICT Proceedings, University of Malta, November [10] Natalya F. Noy and Deborah L. McGuinness. Ontology Development 101: A Guide to Creating Your First Ontology. Stanford Knowledge Systems Laboratory Technical Report KSL and Stanford Medical Informatics Technical Report SMI , March [11] Dumitru Roman and Michael Kifer. Semantic web service choreography: Contracting and enactment. In ISWC 08: Proceedings of the 7th International Conference on The Semantic Web, pages , Berlin, Heidelberg, Springer-Verlag. [12] Nathalie Steinmetz, Ioan Toma, and the WSML working group members. D16.1v1.0 WSML Language Reference. The WSML working group members, 8 August [13] David Martin wt al. OWL-S: Semantic Markup for Web Services. SRI International, BBN Technologies, USC Information Sciences Institute, Nokia, University of Toronto, Yale,Carnegie Mellon, Maryland and Southampton, and International Institute of Computer Science, 22 November References [1] Aaron Calafato. Extending wise with contract management. In B.Sc.IT(Hons) Thesis, University of Malta, May

A BPEL Engine and Editor for the.net framework

A BPEL Engine and Editor for the.net framework A BPEL Engine and Editor for the.net framework Matthew Buckle 1, Charlie Abela 1, Matthew Montebello 1 1 Department of Computer Science and AI, University of Malta mbuckle@crimsonwing.com, charlie.abela@um.edu.mt,

More information

Business Process Modelling & Semantic Web Services

Business Process Modelling & Semantic Web Services Business Process Modelling & Semantic Web Services Charlie Abela Department of Artificial Intelligence charlie.abela@um.edu.mt Last Lecture Web services SOA Problems? CSA 3210 Last Lecture 2 Lecture Outline

More information

UniLFS: A Unifying Logical Framework for Service Modeling and Contracting

UniLFS: A Unifying Logical Framework for Service Modeling and Contracting UniLFS: A Unifying Logical Framework for Service Modeling and Contracting RuleML 2103: 7th International Web Rule Symposium July 11-13, 2013 Dumitru Roman 1 and Michael Kifer 2 1 SINTEF / University of

More information

1 Executive Overview The Benefits and Objectives of BPDM

1 Executive Overview The Benefits and Objectives of BPDM 1 Executive Overview The Benefits and Objectives of BPDM This is an excerpt from the Final Submission BPDM document posted to OMG members on November 13 th 2006. The full version of the specification will

More information

Incorporating applications to a Service Oriented Architecture

Incorporating applications to a Service Oriented Architecture Proceedings of the 5th WSEAS Int. Conf. on System Science and Simulation in Engineering, Tenerife, Canary Islands, Spain, December 16-18, 2006 401 Incorporating applications to a Service Oriented Architecture

More information

Experiences with OWL-S, Directions for Service Composition:

Experiences with OWL-S, Directions for Service Composition: Experiences with OWL-S, Directions for Service Composition: The Cashew Position Barry Norton 1 Knowledge Media Institute, Open University, Milton Keynes, UK b.j.norton@open.ac.uk Abstract. Having used

More information

Data and Process Modelling

Data and Process Modelling Data and Process Modelling 8a. BPMN - Basic Modelling Marco Montali KRDB Research Centre for Knowledge and Data Faculty of Computer Science Free University of Bozen-Bolzano A.Y. 2014/2015 Marco Montali

More information

Test-Driven Development Metodology Proposal for Web Service Choreographies

Test-Driven Development Metodology Proposal for Web Service Choreographies Test-Driven Development Metodology Proposal for Web Service Choreographies Felipe M. Besson, Pedro M. B. Leal, Fabio Kon Department of Computer Science Institute of Mathematics and Statistics University

More information

City, University of London Institutional Repository

City, University of London Institutional Repository City Research Online City, University of London Institutional Repository Citation: Foster, H. & Spanoudakis, G. (2012). Taming the cloud: Safety, certification and compliance for software services - Keynote

More information

Towards a Task-Oriented, Policy-Driven Business Requirements Specification for Web Services

Towards a Task-Oriented, Policy-Driven Business Requirements Specification for Web Services Towards a Task-Oriented, Policy-Driven Business Requirements Specification for Web Services Stephen Gorton and Stephan Reiff-Marganiec Department of Computer Science, University of Leicester University

More information

AUTOMATED BEHAVIOUR REFINEMENT USING INTERACTION PATTERNS

AUTOMATED BEHAVIOUR REFINEMENT USING INTERACTION PATTERNS MASTER THESIS AUTOMATED BEHAVIOUR REFINEMENT USING INTERACTION PATTERNS C.J.H. Weeïnk FACULTY OF ELECTRICAL ENGINEERING, MATHEMATICS AND COMPUTER SCIENCE SOFTWARE ENGINEERING EXAMINATION COMMITTEE dr.

More information

CLAN: A Tool for Contract Analysis and Conflict Discovery

CLAN: A Tool for Contract Analysis and Conflict Discovery CLAN: A Tool for Contract Analysis and Conflict Discovery Stephen Fenech 1, Gordon J. Pace 1, and Gerardo Schneider 2 1 Dept. of Computer Science, University of Malta, Malta 2 Dept. of Informatics, University

More information

Business process modeling and automation IDU0330 Lecture 3 BPMN Enn Õunapuu ICT-643

Business process modeling and automation IDU0330 Lecture 3 BPMN Enn Õunapuu ICT-643 Business process modeling and automation IDU0330 Lecture 3 BPMN Enn Õunapuu enn.ounapuu@ttu.ee ICT-643 Agenda for BPMN BPM reference model BPMN basic elements Modelling methodology BPMN diagramming style

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Service Modeling Doctor Guangyu Gao Some contents and notes selected from Service Oriented Architecture by Michael McCarthy 1. Place in Service Lifecycle 2 Content

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

Grounding OWL-S in SAWSDL

Grounding OWL-S in SAWSDL Grounding OWL-S in SAWSDL Massimo Paolucci 1, Matthias Wagner 1, and David Martin 2 1 DoCoMo Communications Laboratories Europe GmbH {paolucci,wagner}@docomolab-euro.com 2 Artificial Intelligence Center,

More information

Joint Entity Resolution

Joint Entity Resolution Joint Entity Resolution Steven Euijong Whang, Hector Garcia-Molina Computer Science Department, Stanford University 353 Serra Mall, Stanford, CA 94305, USA {swhang, hector}@cs.stanford.edu No Institute

More information

20. Business Process Analysis (2)

20. Business Process Analysis (2) 20. Business Process Analysis (2) DE + IA (INFO 243) - 31 March 2008 Bob Glushko 1 of 38 3/31/2008 8:00 AM Plan for Today's Class Process Patterns at Different Levels in the "Abstraction Hierarchy" Control

More information

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) APPLYING SEMANTIC WEB SERVICES. Sidi-Bel-Abbes University, Algeria)

INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) APPLYING SEMANTIC WEB SERVICES. Sidi-Bel-Abbes University, Algeria) INTERNATIONAL JOURNAL OF COMPUTER ENGINEERING & TECHNOLOGY (IJCET) ISSN 0976 6367(Print) ISSN 0976 6375(Online) Volume 4, Issue 2, March April (2013), pp. 108-113 IAEME: www.iaeme.com/ijcet.asp Journal

More information

Executing Evaluations over Semantic Technologies using the SEALS Platform

Executing Evaluations over Semantic Technologies using the SEALS Platform Executing Evaluations over Semantic Technologies using the SEALS Platform Miguel Esteban-Gutiérrez, Raúl García-Castro, Asunción Gómez-Pérez Ontology Engineering Group, Departamento de Inteligencia Artificial.

More information

A Meta-Model for Composition Techniques in Object-Oriented Software Development

A Meta-Model for Composition Techniques in Object-Oriented Software Development A Meta-Model for Composition Techniques in Object-Oriented Software Development Bedir Tekinerdogan Department of Computer Science University of Twente P.O. Box 217, 7500 AE Enschede, The Netherlands E-Mail:

More information

FedX: A Federation Layer for Distributed Query Processing on Linked Open Data

FedX: A Federation Layer for Distributed Query Processing on Linked Open Data FedX: A Federation Layer for Distributed Query Processing on Linked Open Data Andreas Schwarte 1, Peter Haase 1,KatjaHose 2, Ralf Schenkel 2, and Michael Schmidt 1 1 fluid Operations AG, Walldorf, Germany

More information

AN AGENT-ORIENTED EXECUTIVE MODEL FOR SERVICE CHOREOGRAPHY

AN AGENT-ORIENTED EXECUTIVE MODEL FOR SERVICE CHOREOGRAPHY AN AGENT-ORIENTED EXECUTIVE MODEL FOR SERVICE CHOREOGRAPHY MOHAMMAD ZAHIRI, MOHAMMAD R. KHAYYAMBASHI Department of Computer Eng. and Information Technology, University of Sheikh Bahaei, Isfahan, Iran Computer

More information

Static analysis and testing of executable DSL specification

Static analysis and testing of executable DSL specification Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:

More information

Lecture Notes on Arrays

Lecture Notes on Arrays Lecture Notes on Arrays 15-122: Principles of Imperative Computation July 2, 2013 1 Introduction So far we have seen how to process primitive data like integers in imperative programs. That is useful,

More information

Ontology Refinement and Evaluation based on is-a Hierarchy Similarity

Ontology Refinement and Evaluation based on is-a Hierarchy Similarity Ontology Refinement and Evaluation based on is-a Hierarchy Similarity Takeshi Masuda The Institute of Scientific and Industrial Research, Osaka University Abstract. Ontologies are constructed in fields

More information

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG

WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES. Introduction. Production rules. Christian de Sainte Marie ILOG WHY WE NEED AN XML STANDARD FOR REPRESENTING BUSINESS RULES Christian de Sainte Marie ILOG Introduction We are interested in the topic of communicating policy decisions to other parties, and, more generally,

More information

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

2 nd UML 2 Semantics Symposium: Formal Semantics for UML 2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany

More information

How Developers Use the Dynamic Features of Programming Languages: The Case of Smalltalk

How Developers Use the Dynamic Features of Programming Languages: The Case of Smalltalk How Developers Use the Dynamic Features of Programming Languages: The Case of Smalltalk Oscar Callaú, Romain Robbes, Éric Tanter (University of Chile) David Röthlisberger (University of Bern) Proceedings

More information

International Journal of Computer Science Trends and Technology (IJCST) Volume 3 Issue 4, Jul-Aug 2015

International Journal of Computer Science Trends and Technology (IJCST) Volume 3 Issue 4, Jul-Aug 2015 RESEARCH ARTICLE OPEN ACCESS Multi-Lingual Ontology Server (MOS) For Discovering Web Services Abdelrahman Abbas Ibrahim [1], Dr. Nael Salman [2] Department of Software Engineering [1] Sudan University

More information

Configuration Management for Component-based Systems

Configuration Management for Component-based Systems Configuration Management for Component-based Systems Magnus Larsson Ivica Crnkovic Development and Research Department of Computer Science ABB Automation Products AB Mälardalen University 721 59 Västerås,

More information

University of Groningen. Towards Variable Service Compositions Using VxBPEL Sun, Chang-ai; Aiello, Marco

University of Groningen. Towards Variable Service Compositions Using VxBPEL Sun, Chang-ai; Aiello, Marco University of Groningen Towards Variable Service Compositions Using VxBPEL Sun, Chang-ai; Aiello, Marco Published in: International Conference on Software Reuse IMPORTANT NOTE: You are advised to consult

More information

XRay Views: Understanding the Internals of Classes

XRay Views: Understanding the Internals of Classes XRay Views: Understanding the Internals of Classes Gabriela Arévalo, Stéphane Ducasse, Oscar Nierstrasz Software Composition Group University of Bern (Switzerland) {arevalo, ducasse, oscar}@iam.unibe.ch

More information

Process Mediation in Semantic Web Services

Process Mediation in Semantic Web Services Process Mediation in Semantic Web Services Emilia Cimpian Digital Enterprise Research Institute, Institute for Computer Science, University of Innsbruck, Technikerstrasse 21a, A-6020 Innsbruck, Austria

More information

Business Process Modelling

Business Process Modelling CS565 - Business Process & Workflow Management Systems Business Process Modelling CS 565 - Lecture 2 20/2/17 1 Business Process Lifecycle Enactment: Operation Monitoring Maintenance Evaluation: Process

More information

Modelling and verification of BPEL business processes

Modelling and verification of BPEL business processes Modelling and verification of BPEL business processes Marina Mongiello Dipartimento di Elettronica ed Elettrotecnica Politecnico di Bari, Italy mongiello@poliba.it Daniela Castelluccia Dipartimento di

More information

Towards a formal model of object-oriented hyperslices

Towards a formal model of object-oriented hyperslices Towards a formal model of object-oriented hyperslices Torsten Nelson, Donald Cowan, Paulo Alencar Computer Systems Group, University of Waterloo {torsten,dcowan,alencar}@csg.uwaterloo.ca Abstract This

More information

Reflective Java and A Reflective Component-Based Transaction Architecture

Reflective Java and A Reflective Component-Based Transaction Architecture Reflective Java and A Reflective Component-Based Transaction Architecture Zhixue Wu APM Ltd., Poseidon House, Castle Park, Cambridge CB3 0RD UK +44 1223 568930 zhixue.wu@citrix.com ABSTRACT In this paper,

More information

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz

AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development

More information

Best Practices for Deploying Web Services via Integration

Best Practices for Deploying Web Services via Integration Tactical Guidelines, M. Pezzini Research Note 23 September 2002 Best Practices for Deploying Web Services via Integration Web services can assemble application logic into coarsegrained business services.

More information

Service-Oriented Programming

Service-Oriented Programming Service-Oriented Programming by Guy Bieber, Lead Architect, ISD C4I, Motorola ABSTRACT - The Service-Oriented Programming (SOP) model is the most exciting revolution in programming since Object Oriented

More information

Modeling and Execution of Data-aware Choreographies: An Overview Michael Hahn, Uwe Breitenbücher, Oliver Kopp, Frank Leymann

Modeling and Execution of Data-aware Choreographies: An Overview Michael Hahn, Uwe Breitenbücher, Oliver Kopp, Frank Leymann Institute of Architecture of Application Systems Modeling and Execution of Data-aware Choreographies: An Overview Michael Hahn, Uwe Breitenbücher, Oliver Kopp, Frank Leymann 1 Institute of Architecture

More information

BPEL Research. Tuomas Piispanen Comarch

BPEL Research. Tuomas Piispanen Comarch BPEL Research Tuomas Piispanen 8.8.2006 Comarch Presentation Outline SOA and Web Services Web Services Composition BPEL as WS Composition Language Best BPEL products and demo What is a service? A unit

More information

Security Requirements Modeling Tool

Security Requirements Modeling Tool Security Requirements Modeling Tool SecBPMN2 Elements Reference Guide (rev 1.0) For STS-Tool Version 2.1 Contact: ststool@disi.unitn.it Table of contents BPMN 2.0... 5 Connections... 5 Association... 5

More information

ABSTRACT. Web Service Atomic Transaction (WS-AT) is a standard used to implement distributed

ABSTRACT. Web Service Atomic Transaction (WS-AT) is a standard used to implement distributed ABSTRACT Web Service Atomic Transaction (WS-AT) is a standard used to implement distributed processing over the internet. Trustworthy coordination of transactions is essential to ensure proper running

More information

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS ABSTRACT Ashraf A. Shahin 1, 2 1 College of Computer and Information Sciences, Al Imam Mohammad Ibn Saud Islamic University (IMSIU) Riyadh, Kingdom

More information

Business Information Systems Lecture 3 BPMN. Enn Õunapuu

Business Information Systems Lecture 3 BPMN. Enn Õunapuu Business Information Systems Lecture 3 BPMN Enn Õunapuu enn@cc.ttu.ee Lecture plan Overall approach BPMN Examples 3 Business process definition The word process is defined in the dictionary as a series

More information

Distributed Systems Programming (F21DS1) Formal Verification

Distributed Systems Programming (F21DS1) Formal Verification Distributed Systems Programming (F21DS1) Formal Verification Andrew Ireland Department of Computer Science School of Mathematical and Computer Sciences Heriot-Watt University Edinburgh Overview Focus on

More information

What are the characteristics of Object Oriented programming language?

What are the characteristics of Object Oriented programming language? What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is

More information

UNIT 5 - UML STATE DIAGRAMS AND MODELING

UNIT 5 - UML STATE DIAGRAMS AND MODELING UNIT 5 - UML STATE DIAGRAMS AND MODELING UML state diagrams and modeling - Operation contracts- Mapping design to code UML deployment and component diagrams UML state diagrams: State diagrams are used

More information

BPAL: A Platform for Managing Business Process Knowledge Bases via Logic Programming

BPAL: A Platform for Managing Business Process Knowledge Bases via Logic Programming BPAL: A Platform for Managing Business Process Knowledge Bases via Logic Programming Fabrizio Smith, Dario De Sanctis, Maurizio Proietti National Research Council, IASI Antonio Ruberti - Viale Manzoni

More information

Lecture 3 Notes Arrays

Lecture 3 Notes Arrays Lecture 3 Notes Arrays 15-122: Principles of Imperative Computation (Summer 1 2015) Frank Pfenning, André Platzer 1 Introduction So far we have seen how to process primitive data like integers in imperative

More information

An Annotation Tool for Semantic Documents

An Annotation Tool for Semantic Documents An Annotation Tool for Semantic Documents (System Description) Henrik Eriksson Dept. of Computer and Information Science Linköping University SE-581 83 Linköping, Sweden her@ida.liu.se Abstract. Document

More information

METEOR-S Process Design and Development Tool (PDDT)

METEOR-S Process Design and Development Tool (PDDT) METEOR-S Process Design and Development Tool (PDDT) Ranjit Mulye LSDIS Lab, University of Georgia (Under the Direction of Dr. John A. Miller) Acknowledgements Advisory Committee Dr. John A. Miller (Major

More information

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

Whole Platform Foundation. The Long Way Toward Language Oriented Programming Whole Platform Foundation The Long Way Toward Language Oriented Programming 2008 by Riccardo Solmi made available under the Creative Commons License last updated 22 October 2008 Outline Aim: Engineering

More information

Overview of lectures today and Wednesday

Overview of lectures today and Wednesday Model-driven development (MDA), Software Oriented Architecture (SOA) and semantic web (exemplified by WSMO) Draft of presentation John Krogstie Professor, IDI, NTNU Senior Researcher, SINTEF ICT 1 Overview

More information

Introduction to Web Services & SOA

Introduction to Web Services & SOA References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Service-Oriented Programming (SOP) SOP A programming paradigm that

More information

A Formal Model for Web-Service Composition

A Formal Model for Web-Service Composition Simon Foster Department of Computer Science University of Sheffield http://www.dcs.shef.ac.uk/~simonf BCTCS 2006 Outline 1 Composing Web-Services Current Technologies 2 3 4 Outline

More information

Semi-automatic Creation of Adapters for Legacy Application Migration to Integration Platform Using Knowledge

Semi-automatic Creation of Adapters for Legacy Application Migration to Integration Platform Using Knowledge Semi-automatic Creation of Adapters for Legacy Application Migration to Integration Platform Using Knowledge Jan Pieczykolan 1,2,BartoszKryza 1, and Jacek Kitowski 1,2 1 Academic Computer Center CYFRONET-AGH,

More information

Managing test suites for services

Managing test suites for services Managing test suites for services Kathrin Kaschner Universität Rostock, Institut für Informatik, 18051 Rostock, Germany kathrin.kaschner@uni-rostock.de Abstract. When developing an existing service further,

More information

MUSIC: an interactive MUltimedia ServIce Composition environment for distributed systems.

MUSIC: an interactive MUltimedia ServIce Composition environment for distributed systems. MUSIC: an interactive MUltimedia ServIce Composition environment for distributed systems. Piergiorgio Bosco, Giovanni Martini, Giovanni Reteuna CSELT - Via G.Reiss Romoli 274, 10148 - Torino - Italy {Piergiorgio.Bosco,Giovanni.Martini}@cselt.it

More information

Reasoning on Business Processes and Ontologies in a Logic Programming Environment

Reasoning on Business Processes and Ontologies in a Logic Programming Environment Reasoning on Business Processes and Ontologies in a Logic Programming Environment Michele Missikoff 1, Maurizio Proietti 1, Fabrizio Smith 1,2 1 IASI-CNR, Viale Manzoni 30, 00185, Rome, Italy 2 DIEI, Università

More information

Introduction to Web Services & SOA

Introduction to Web Services & SOA References: Web Services, A Technical Introduction, Deitel & Deitel Building Scalable and High Performance Java Web Applications, Barish Web Service Definition The term "Web Services" can be confusing.

More information

Enriching UDDI Information Model with an Integrated Service Profile

Enriching UDDI Information Model with an Integrated Service Profile Enriching UDDI Information Model with an Integrated Service Profile Natenapa Sriharee and Twittie Senivongse Department of Computer Engineering, Chulalongkorn University Phyathai Road, Pathumwan, Bangkok

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

Dependability Analysis of Web Service-based Business Processes by Model Transformations

Dependability Analysis of Web Service-based Business Processes by Model Transformations Dependability Analysis of Web Service-based Business Processes by Model Transformations László Gönczy 1 1 DMIS, Budapest University of Technology and Economics Magyar Tudósok krt. 2. H-1117, Budapest,

More information

Consumption and Composition of Web Services and non web services

Consumption and Composition of Web Services and non web services Consumption and Composition of Web Services and non web services Rohit Kishor Kapadne Computer Engineering Department, RMD Sinhgad School of Engineering, Warje Pune, Maharashtra, India Abstract Nowadays

More information

Message Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1

Message Passing vs. Distributed Objects. 5/15/2009 Distributed Computing, M. L. Liu 1 Message Passing vs. Distributed Objects 5/15/2009 Distributed Computing, M. L. Liu 1 Distributed Objects M. L. Liu 5/15/2009 Distributed Computing, M. L. Liu 2 Message Passing versus Distributed Objects

More information

MDA & Semantic Web Services Integrating SWSF & OWL with ODM

MDA & Semantic Web Services Integrating SWSF & OWL with ODM MDA & Semantic Web Services Integrating SWSF & OWL with ODM Elisa Kendall Sandpiper Software March 30, 2006 Level Setting An ontology specifies a rich description of the Terminology, concepts, nomenclature

More information

Exam in TDDB84: Design Patterns,

Exam in TDDB84: Design Patterns, Exam in TDDB84: Design Patterns, 2014-10-24 14-18 Information Observe the following, or risk subtraction of points: 1) Write only the answer to one task on one sheet. Use only the front side of the sheets

More information

Implicit vs. Explicit Data-Flow Requirements in Web Service Composition Goals

Implicit vs. Explicit Data-Flow Requirements in Web Service Composition Goals Implicit vs. Explicit Data-Flow Requirements in Web Service Composition Goals Annapaola Marconi, Marco Pistore, and Paolo Traverso ITC-irst Via Sommarive 18, Trento, Italy {marconi, pistore, traverso}@itc.it

More information

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering?

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering? Q2a. What are the key challenges being faced by software engineering? Ans 2a. The key challenges facing software engineering are: 1. Coping with legacy systems, coping with increasing diversity and coping

More information

A Technical Comparison of XPDL, BPML and BPEL4WS

A Technical Comparison of XPDL, BPML and BPEL4WS A Technical Comparison of XPDL, BPML and BPEL4WS Robert Shapiro 1 Introduction XML-based business process languages represent a new approach to expressing abstract and executable processes that address

More information

Runtime assertion checking of multithreaded Java programs

Runtime assertion checking of multithreaded Java programs Master Thesis Runtime assertion checking of multithreaded Java programs An extension of the STROBE framework Author: Jorne Kandziora Supervisors: dr. M. Huisman dr. C.M. Bockisch M. Zaharieva-Stojanovski,

More information

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties Why testing and analysis Software Testing Adapted from FSE 98 Tutorial by Michal Young and Mauro Pezze Software is never correct no matter what developing testing technique is used All software must be

More information

Lecture Notes on Programming Languages

Lecture Notes on Programming Languages Lecture Notes on Programming Languages 85 Lecture 09: Support for Object-Oriented Programming This lecture discusses how programming languages support object-oriented programming. Topics to be covered

More information

Predicting and Learning Executability of Composite Web Services

Predicting and Learning Executability of Composite Web Services Predicting and Learning Executability of Composite Web Services Masahiro Tanaka and Toru Ishida Department of Social Informatics, Kyoto University Kyoto 606-8501 Japan mtanaka@ai.soc.i.kyoto-u.ac.jp, ishida@i.kyoto-u.ac.jp

More information

COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY

COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY AFRL-IF-RS-TR-2002-61 Final Technical Report April 2002 COMPOSABILITY, PROVABILITY, REUSABILITY (CPR) FOR SURVIVABILITY Kestrel Institute Sponsored by Defense Advanced Research Projects Agency DARPA Order

More information

SUMMARY: MODEL DRIVEN SECURITY

SUMMARY: MODEL DRIVEN SECURITY SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,

More information

Model-checking with the TimeLine formalism

Model-checking with the TimeLine formalism Model-checking with the TimeLine formalism Andrea Zaccara University of Antwerp Andrea.Zaccara@student.uantwerpen.be Abstract A logical model checker can be an effective tool for verification of software

More information

Design Patterns. SE3A04 Tutorial. Jason Jaskolka

Design Patterns. SE3A04 Tutorial. Jason Jaskolka SE3A04 Tutorial Jason Jaskolka Department of Computing and Software Faculty of Engineering McMaster University Hamilton, Ontario, Canada jaskolj@mcmaster.ca November 18/19, 2014 Jason Jaskolka 1 / 35 1

More information

1 Version management tools as a basis for integrating Product Derivation and Software Product Families

1 Version management tools as a basis for integrating Product Derivation and Software Product Families 1 Version management tools as a basis for integrating Product Derivation and Software Product Families Jilles van Gurp, Christian Prehofer Nokia Research Center, Software and Application Technology Lab

More information

Interface Automata and Actif Actors

Interface Automata and Actif Actors Interface Automata and Actif Actors H. John Reekie Dept. of Electrical Engineering and Computer Science University of California at Berkeley johnr@eecs.berkeley.edu Abstract This technical note uses the

More information

JavaScript. Training Offer for JavaScript Introduction JavaScript. JavaScript Objects

JavaScript. Training Offer for JavaScript Introduction JavaScript. JavaScript Objects JavaScript CAC Noida is an ISO 9001:2015 certified training center with professional experience that dates back to 2005. The vision is to provide professional education merging corporate culture globally

More information

Trust4All: a Trustworthy Middleware Platform for Component Software

Trust4All: a Trustworthy Middleware Platform for Component Software Proceedings of the 7th WSEAS International Conference on Applied Informatics and Communications, Athens, Greece, August 24-26, 2007 124 Trust4All: a Trustworthy Middleware Platform for Component Software

More information

Scrivania: Public services execution and Semantic Search

Scrivania: Public services execution and Semantic Search Scrivania: Public services execution and Semantic Search Riccardo Cognini, Damiano Falcioni, Marco Maccari, Alberto Polzonetti and Barbara Re Computer Science Division University of Camerino Camerino (MC),

More information

INFORMATICS RESEARCH PROPOSAL REALTING LCC TO SEMANTIC WEB STANDARDS. Nor Amizam Jusoh (S ) Supervisor: Dave Robertson

INFORMATICS RESEARCH PROPOSAL REALTING LCC TO SEMANTIC WEB STANDARDS. Nor Amizam Jusoh (S ) Supervisor: Dave Robertson INFORMATICS RESEARCH PROPOSAL REALTING LCC TO SEMANTIC WEB STANDARDS Nor Amizam Jusoh (S0456223) Supervisor: Dave Robertson Abstract: OWL-S as one of the web services standards has become widely used by

More information

Modularizing Web Services Management with AOP

Modularizing Web Services Management with AOP Modularizing Web Services Management with AOP María Agustina Cibrán, Bart Verheecke { Maria.Cibran, Bart.Verheecke@vub.ac.be System and Software Engineering Lab Vrije Universiteit Brussel 1. Introduction

More information

Hierarchical Pointer Analysis for Distributed Programs

Hierarchical Pointer Analysis for Distributed Programs Hierarchical Pointer Analysis for Distributed Programs Amir Kamil Computer Science Division, University of California, Berkeley kamil@cs.berkeley.edu April 14, 2006 1 Introduction Many distributed, parallel

More information

be used for more than one use case (for instance, for use cases Create User and Delete User, one can have one UserController, instead of two separate

be used for more than one use case (for instance, for use cases Create User and Delete User, one can have one UserController, instead of two separate UNIT 4 GRASP GRASP: Designing objects with responsibilities Creator Information expert Low Coupling Controller High Cohesion Designing for visibility - Applying GoF design patterns adapter, singleton,

More information

Practical Methods for Adapting Services Using Enterprise Service Bus *

Practical Methods for Adapting Services Using Enterprise Service Bus * Practical Methods for Adapting s Using Enterprise Bus * Hyun Jung La, Jeong Seop Bae, Soo Ho Chang, and Soo Dong Kim Department of Computer Science Soongsil University, Seoul, Korea 511 Sangdo-Dong, Dongjak-Ku,

More information

Black Box Testing. EEC 521: Software Engineering. Specification-Based Testing. No Source Code. Software Testing

Black Box Testing. EEC 521: Software Engineering. Specification-Based Testing. No Source Code. Software Testing Black Box Testing EEC 521: Software Engineering Software Testing Black-Box Testing Test-Driven Development Also known as specification-based testing Tester has access only to running code and the specification

More information

Building Distributed Access Control System Using Service-Oriented Programming Model

Building Distributed Access Control System Using Service-Oriented Programming Model Building Distributed Access Control System Using Service-Oriented Programming Model Ivan Zuzak, Sinisa Srbljic School of Electrical Engineering and Computing, University of Zagreb, Croatia ivan.zuzak@fer.hr,

More information

Alternatives to programming

Alternatives to programming Alternatives to programming Wednesday, December 05, 2012 11:06 AM Alternatives to programming Force provides a radically different model of "programming" Web forms. Privilege-based access. Event-Condition-Action

More information

Towards Automatic Web Service Discovery and Composition in a Context with Semantics, Messages, and Internal Process Flow (A Position Paper)

Towards Automatic Web Service Discovery and Composition in a Context with Semantics, Messages, and Internal Process Flow (A Position Paper) Towards Automatic Web Service Discovery and Composition in a Context with Semantics, Messages, and Internal Process Flow (A Position Paper) Daniela Berardi, Diego Calvanese, Giuseppe De Giacomo, Richard

More information

Using Component-oriented Process Models for Multi-Metamodel Applications

Using Component-oriented Process Models for Multi-Metamodel Applications Using Component-oriented Process Models for Multi-Metamodel Applications Fahad R. Golra Université Européenne de Bretagne Institut Télécom / Télécom Bretagne Brest, France Email: fahad.golra@telecom-bretagne.eu

More information

How to Draw BPMN 2.0 Business Process Diagram? Written Date : March 9, 2016

How to Draw BPMN 2.0 Business Process Diagram? Written Date : March 9, 2016 Written Date : March 9, 2016 Business Process Modeling Notation 2.0 makes a great improvement in business process modeling. There are number of new notations introduced in BPMN 2.0. In this tutorial we

More information

R/3 System Object-Oriented Concepts of ABAP

R/3 System Object-Oriented Concepts of ABAP R/3 System Object-Oriented Concepts of ABAP Copyright 1997 SAP AG. All rights reserved. No part of this brochure may be reproduced or transmitted in any form or for any purpose without the express permission

More information

Conservative re-use ensuring matches for service selection

Conservative re-use ensuring matches for service selection Conservative re-use ensuring matches for service selection M. Baldoni, C. Baroglio, V. Patti, and C. Schifanella Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 I-10149

More information

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems

On Object Orientation as a Paradigm for General Purpose. Distributed Operating Systems On Object Orientation as a Paradigm for General Purpose Distributed Operating Systems Vinny Cahill, Sean Baker, Brendan Tangney, Chris Horn and Neville Harris Distributed Systems Group, Dept. of Computer

More information