International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May 27-29 2004 Ilmenau, Germany 1 How to Pay in License.

Slides:



Advertisements
Similar presentations
1 Authenticity Capture Prototype Matt Dunckley, STFC.
Advertisements

2 Introduction A central issue in supporting interoperability is achieving type compatibility. Type compatibility allows (a) entities developed by various.
Money What is money? A medium of exchange
Chapter 05: Evolutionary Requirements Definition : Requirements  “Requirements are capabilities and conditions to which the system, and more broadly.
CoreGRID Workpackage 5 Virtual Institute on Grid Information and Monitoring Services Authorizing Grid Resource Access and Consumption Erik Elmroth, Michał.
International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany Licensing Structured Data.
30. Conference of Directors of EU Paying Agencies Workshop1: The possibilities for optimizing the processes of implementation of direct payments Agency.
OPEN DATA RECOMMENDATIONS: LICENSING IATI Licensing Working Group.
Supporting Design Managing complexity of designing Expressing ideas Testing ideas Quality assurance.
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Requirements Specification
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
Institut für Scientific Computing – Universität WienP.Brezany Fragmentation Univ.-Prof. Dr. Peter Brezany Institut für Scientific Computing Universität.
1 Domain Model: Adding Attributes Chapter 12 Adding Attributes.
Objectives By the end of this class you should be able to… Explain the importance of involving users in requirements gathering Describe various types of.
Chapter Three THE RESEARCH PROCESS
1 © 1999 Citrix Systems Inc Java on Nemesis Tim Harris.
Object-Oriented Development Process Part I: Requirement Gathering Warsun Najib Department of Electrical Engineering Gadjah Mada University.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Fixed-income securities. A variety of fixed-income securities, I Interest-bearing bank deposit: (1) saving account, (2) certificate of deposit (CD, a.
The chapter will address the following questions:
SYSTEM ANALYSIS AND DESIGN
Methodology and Tools for End-to-End SOA Configurations By: Fumiko satoh, Yuichi nakamura, Nirmal K. Mukhi, Michiaki Tatsubori, Kouichi ono.
Towards a Logic for Wide- Area Internet Routing Nick Feamster Hari Balakrishnan.
CS 4310: Software Engineering Lecture 3 Requirements and Design.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Overview of Credit Risk Management practices in banksMarketing Report 1 st Half 2009 Overview of Credit Risk Management practices – The banking perspective.
1 Lesson 3: Choosing from distributions Theory: LLN and Central Limit Theorem Theory: LLN and Central Limit Theorem Choosing from distributions Choosing.
Requirements Engineering CSCU 411 Ch 9. LEARNING OBJECTIVES To understand that requirements engineering is a cyclical process involving three types of.
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
Programming Project (Last updated: August 31 st /2010) Updates: - All details of project given - Deadline: Part I: September 29 TH 2010 (in class) Part.
Architecting Web Services Unit – II – PART - III.
Frascati, October 9th, Accounting in DataGrid Initial Architecture Albert Werbrouck Frascati, October 9, 2001.
Unit III : Introduction To Data Structures and Analysis Of Algorithm 10/8/ Objective : 1.To understand primitive storage structures and types 2.To.
1 WS-Privacy Paul Bui Ryan Dickey. 2 Agenda  WS-Privacy  Introduction to P3P  How P3P Works  P3P Details  A P3P Scenario  Conclusion  References.
Metadata Models in Survey Computing Some Results of MetaNet – WG 2 METIS 2004, Geneva W. Grossmann University of Vienna.
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Chapter 7 Applying UML and Patterns Craig Larman
1 15 quality goals for requirements  Justified  Correct  Complete  Consistent  Unambiguous  Feasible  Abstract  Traceable  Delimited  Interfaced.
SYSTEM ANALYSIS.
What’s MPEG-21 ? (a short summary of available papers by OCCAMM)
Workshop on Information Security Applications (WISA 2004) Jeju Island, Korea 23 Aug – 25 Aug License Protection with a Tamper-Resistant Token C.N.
A Machine Learning Approach to Programming. Agenda Overview of current methodologies. Disadvantages of current methodologies. MLAP: What, Why, How? MLAP:
Partnership for International Research and Education A Global Living Laboratory for Cyberinfrastructure Application Enablement II. International Experience.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
ISO ENVIRONMENTAL MANAGEMENT PROGRAMS.
Computer Science CPSC 322 Lecture 22 Logical Consequences, Proof Procedures (Ch 5.2.2)
OSIA Portal Project developing a portal for the future.
Reasoning about the Behavior of Semantic Web Services with Concurrent Transaction Logic Presented By Dumitru Roman, Michael Kifer University of Innsbruk,
Automatic Video Editing Stanislav Sumec. Motivation  Multiple source video data – several cameras in the meeting room, several meeting rooms in teleconference,
1 An infrastructure for context-awareness based on first order logic 송지수 ISI LAB.
Object Oriented Programming and Data Abstraction Rowan University Earl Huff.
1 Sobah Abbas Petersen Adjunct Associate Professor, NTNU Researcher, Sintef TDT4252 Modelling of Information Systems Advanced Course TDT4252,
Chapter 13: Query Processing
IEEE MEDIA INDEPENDENT HANDOVER DCN: Title: Proposed Presentation for 3GPP Date Submitted: September,
Artificial Intelligence Knowledge Representation.
Assistant Instructor Nian K. Ghafoor Feb Definition of Proposal Proposal is a plan for master’s thesis or doctoral dissertation which provides the.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. Part One INTRODUCTION TO BUSINESS RESEARCH.
Review for Test 2 Chapters 5 (start at 5.4), 6.1, , 12, 13, 15.1, Python.
CSCE 343 – Programming Language Concepts Welcome!.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
WP4 Models and Contents Quality Assessment
Part One INTRODUCTION TO BUSINESS RESEARCH
International Research and Development Institute Uyo
 DATAABSTRACTION  INSTANCES& SCHEMAS  DATA MODELS.
Software Assurance Maturity Model
Relational Algebra Chapter 4, Sections 4.1 – 4.2
Algorithms and Problem Solving
~ Investment Management ~
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 1 How to Pay in License Script C. N. Chong, S. Etalle, and P. Hartel Universiteit Twente, The Netherlands

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 2 Overview Introduction Motivation License Script Language License Script Wallet Payment Policies Examples Conclusions and Future Work

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 3 Introduction Most rights expression languages (RELs) specify rights, terms and conditions. But, they are not designed to capture payment management. We have proposed License Script. We have modeled payment with a simple wallet in our previous work, but: –It is unrealistic. –It is inflexible.

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 4 Motivation To investigate another application domain of License Script. Thereby, to show the flexibility of the License Script. To model the payment from the user’s perspective.

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 5 Motivation (cont’d) We model the payment with License Script. This is useful to verify the payment policies designed. How the payment is made, i.e., the underlying implementation details are abstracted by using primitives at the moment.

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 6 License Script Language License consists of three parts: content, clauses, and bindings. Clause is a Prolog program to decide if the operation is allowed. Bindings store license data. Rule can be thought of as firmware of a system. License Clause Binding Rule

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 7 Wallet Wallet takes the following form: Γ is a set of Prolog clauses. B is a set of bindings. type=bankaccount, money=1500, currency=euro, interest=0.5, bankcharge=1 wallet canload(B1,B2,A):- get_value(B1,money,M), set_value(B1,money,M+A,B2), cantransfer(B1,B2,P,A):- get_value(B1,money,M), get_value(B1,bankcharge,C), C+A<=M, transfer(P,A), set_value(B1,money,M-(A+C),B2)

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 8 Wallet (cont’d) We gather all the wallets of a user in a wallet manager. Ψ contains clauses that operate over wallets, for instance add_wallet and remove_wallet. L is the list of wallets.

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 9 Payment Policies The payment policies aid in deciding how to perform the payments. We need a weight predicate, s.t. weight is a real number in {0,1} inclusive, i.e., p(wallet,weight). Given the list of wallets L from wm(Ψ,L), we say that payment policy policy selects wallet wallet(Γ,B) for payment if predicate p(wallet(Γ,B),W) and W is a maximum weight.

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 10 Brief Implementation Procedure Weight predicate p(Wallet,Weight) assigns weight Weight to wallet Wallet. Clause select(List,Charge,Wallet) will select wallet Wallet with maximum weight according to predicate p that has enough money to pay Charge, from List.

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 11 Examples We can model various payment policies for different scenarios. We can define the predicate p how to assign the weight according to different scenarios. Example 1: Minimum bank charge. Example 2: Paying with loyalty points (e.g. air-miles, money coupon, and bank account).

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 12 Conclusions and Future Work We have proposed a technique to model and specify payment policies to optimize payment strategies from user’s perspective in License Script. We believe this technique blends smoothly with the License Script framework, demonstrating its flexibility. Future Work: 1.To modify select clause. 2.To specify selection policy.

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 13 Rule

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 14 Implementation I select(L,C,W) :- map(L,L’), sort(L’,L”), choose(L”,C,W). map(L,L’) – returns L’ s.t. L’={(w,weight)|w in L ^ p(w,weight)} sort(L’,L”) – sorts list L’ in L”, s.t. L”={(w 1,weight 1 ),…,(w n,weight n )}, where weight i >= weight i+1, for i=1,…,n

International Workshop for Technology, Economy, Social and Legal Aspects of Virtual Goods 2004, May Ilmenau, Germany 15 Implementation II choose([H|T],C,H) :- H = wallet(_,B), get_value(B,money,M), M >= C. choose([H|T],C,Y) :- choose(T,C,Y). Choose the 1 st wallet in the list that has enough money (in W’s money binding) to pay C.