Inductive programming is concerned with the automated construction of declarative, often functional, recursive programs from incomplete specifications such as input/output examples. The inferred program must be correct with respect to the provided examples in a generalising sense: it should be neither equivalent to them, nor inconsistent. Inductive programming algorithms are guided explicitly or implicitly by a language bias (the class of programs that can be induced) and a search bias (determining which generalised program is constructed first). Induction strategies are either generate-and-test or example-driven. In generate-and-test approaches, hypotheses about candidate programs are generated independently from the given specifications. Program candidates are tested against the given specification and one or more of the best evaluated candidates are developed further. In analytical approaches, candidate programs are constructed in an example-driven way. While generate-and-test approaches can -- in principle -- construct any kind of program, analytical approaches have a more limited scope. On the other hand, efficiency of induction is much higher in analytical approaches. Inductive programming is still mainly a topic of basic research, exploring how the intellectual ability of humans to infer generalised recursive procedures from incomplete evidence can be captured in the form of synthesis methods. Intended applications are mainly in the domain of programming assistance -- either to relieve professional programmers from routine tasks or to enable non-programmers to some limited form of end-user programming. Furthermore, in the future, inductive programming techniques might be applied to further areas such as supporting the inference of lemmata in theorem proving or learning grammar rules. Inductive automated program construction has been originally addressed by researchers in artificial intelligence and machine learning. During the last years, some work on exploiting induction techniques has been started also in the functional programming community. Therefore, the third workshop on |Approaches and Applications of Inductive Programming| took place for the first time in conjunction with the ACM SIGPLAN International Conference on Functional Programming (ICFP 2009). The first and second workshop were associated with the International Conference on Machine Learning (ICML 2005) and the European Conference on Machine Learning (ECML 2007). AAIP´09 aimed to bring together researchers from the functional programming and the artificial intelligence communities, working in the field of inductive functional programming, and advance fruitful interactions between these communities with respect to programming techniques for inductive programming algorithms, the identification of challenge problems and potential applications. For everybody interested in inductive programming we recommend to visit the website: www.inductive-programming.org.
Business-To-Business Integration (B2Bi) is a key mechanism for enterprises to gain competitive advantage. However, developing B2Bi applications is far from trivial. Inter alia, agreement among integration partners about the business documents and the control flow of business document exchanges as well as applying suitable communication technologies for overcoming heterogeneous IT landscapes are major challenges. At the same time, choreography languages such as ebXML BPSS (ebBP), orchestration languages such as WS-BPEL and Web Services are promising to provide the foundations for seamless interactions among business partners. Automatically translating choreography agreements of integration partners into partner-specific orchestrations is an obvious idea for ensuring conformance of orchestration models to choreography models. Moreover, the application of such model-driven development methods facilitates productivity and cost-effectiveness whereas applying a service oriented architecture (SOA) based on WS-BPEL and Web Services leverages standardization and decoupling. By now, the realization of QoS attributes has not yet received the necessary attention that makes such approaches suitable for B2Bi. In this report, we describe a proof-of-concept implementation of the translation of ebBP choreographies into WS-BPEL orchestrations that respects B2Bi-relevant QoS attributes.
Recently, service orientation has strongly influenced the way enterprise applications are built. Service ecosystems, which provide means to trade services between companies like goods, are an evaluation of service orientation. To allow service ordering, discovering, selection, and consumption, a common way to describe services is a necessity. This paper discusses existing approaches to describe certain service aspects. Finally, a Service Description Framework for service ecosystems is proposed and exemplified.
Offering services anonymously on the Internet using so-called location-hidden services requires complex protocols with many different nodes involved. These properties result in performance problems, e.g. a simple website request taking tens of seconds. This work describes a setup to measure the performance of hidden services using the worldwide Tor network. It analyzes the results and proposes changes to the protocol to improve the performance without losing anonymity.
Business Process Management Systems (BPMS) aim to support the Business Process Management paradigm and to ease legacy application integration. Often, they rely on Service-oriented Architecture (SoA). However, do such systems really meet real-world requirements? This paper introduces and discusses a set of criteria which are important for BPMS and applies these criteria in comparing tools from three important vendors, namely IDS Scheer, Oracle and Intalio based on a case study.
PET-CON, the Privacy Enhancing Technologies Convention, is a forum for researchers, students, developers, and other interested people to discuss novel research, current developments and techniques in the area of Privacy Enhancing Technologies. PET-CON was first conceived in June 2007 at the 7th International PET Symposium in Ottawa, Canada. The idea was to set up a bi-annual convention in or nearby Germany to be able to meet more often than only once a year at some major conference.
In recent years peer-to-peer networks have developed from unstructured to structured overlay networks. Structured peer-to-peer overlay networks facilitate a bounded number of messages in the number of peers for querying and publishing content opposed to unstructured networks, which usually flood the network with messages. To prevent the messages from overflooding the network they have a bounded life time, which may cause that some published content will be lost. Structured peer-to-peer networks guarantee that all published content can be found. One well known structured overlay network is the chord distributed hash table. An implementation of chord is only available in C, but not in Java, which is used widely and often in computer science education. This manual describes an open source implementation of chord in Java - called Open Chord - and how it can be used in Java-based applications. It provides a console-based experimentation environment to explore the functionality of chord, as well.
The WS-Agreement Standard as defined in the current proposal does not accommodate negotiation between service provider and requesters to yield an agreement. It is limited to simple offers and acceptances. However, negotiations between service providers and service consumers beyond the basic mechanism are required and are also part of the charter of the GRAAP working group. There are many mechanisms for negotiating agreements between parties for different purposes, having different sets of participants, different economic properties, different interactions patterns, and different information requirements to enter the interaction. Given the generality of the WS-Agreement scope, supporting a single negotiation mechanism would not satisfy the requirements of different application scenarios. Hence, the objective of this thesis is to devise a proposal to extend the WS-Agreement specification to facilitate the integration of arbitrary negotiation protocols into the WS-Agreement interaction. This includes facilities to enable a party to advertise the negotiation protocol it supports, the role that it can take in this protocol, expectations on other roles in the negotiation, and other meta-information that is necessary to start an interaction. This thesis analyzes the scope of negotiation protocols relevant for service level agreement establishment, derives a data structure for negotiation protocol meta-data, a protocol to exchange meta-data and initiate a negotiation protocol, and obtaining the result of the negotiation, the agreement. The new functionality extends the current WS-Agreement specification seamlessly. The thesis demonstrates the viability of the approach using scenarios of specific negotiation mechanisms.
Multi-Agent Systems (MAS) promise a new advance in distributed computing. In MAS autonomous software agents flexibly cooperate, coordinate, and compete to provide the desired function(s) of such a system. If some components of a MAS fail or do not provide the desired functionality, the system is expected to autonomously deal with these situations. It is desirable to reduce occurrences of such situations by selecting trustworthy cooperation partners before cooperating with them. This becomes even more desirable and important in an open MAS where arbitrary heterogeneous software agents, deployed by different parties, participate in the MAS, as it becomes more likely that these agents fail or try to exploit the MAS for their own purposes without reciprocation. In order to monitor agent behavior and enable selection of trustworthy cooperation partners, trust or reputation management services can be applied. As there is no central control in an open MAS and it is completely distributed these services themselves have to be distributed. This paper proposes a fully distributed reputation management service for open MAS based on peer-to-peer technology (especially distributed hash tables). A Java-based implementation of that service, which is intended as a plug-in for multi-agent platforms, is also described.
Information about online presence allows participants of instant messaging (IM) systems to determine whether their prospective communication partners will be able to answer their requests in a timely manner, or not. That is why presence information, combined with the ability to send instant messages, makes IM more personal and closer than other forms of communication such as e-mail. On the other hand, revelation of presence constitutes a potential of misuse by untrustworthy entities. A possible risk is the generation of online logs disclosing user habits. This makes presence information a resource worth protecting. We argue, however, that current IM systems do not take reasonable precautions to protect presence information. We implemented an IM system designed to be robust against attacks to disclose a user’s presence. In contrast to existing systems, it stores presence information in a registry in a way that is only detectable and applicable for intended users and not comprehensible even for the registry itself. We use a distributed hash table (DHT) as registry and apply an anonymous communication network to protect the physical addresses of both senders and receivers of messages.