310 research outputs found

    A Java Middleware for Guaranteeing Privacy of Distributed Tuple Spaces

    Get PDF
    The tuple space communication model, such as the one used in Linda, provides great flexibility for modeling concurrent, distributed and mobile processes. In a distributed setting with mobile agents, particular attention is needed for protecting sites and information. We have designed and developed a Java middleware, Klava, for implementing distributed tuple spaces and operations to support agent interaction and mobility. In this paper, we extend the Klava middleware with cryptographic primitives that enable encryption and decryption of tuple fields. We describe the actual implementation of the new primitives and provide a few examples. The proposed extension is general enough to be applied to similar Java frameworks using multiple distributed tuples spaces possibly dealing with mobility

    Expectation-Oriented Analysis and Design

    Get PDF
    A key challenge for agent-oriented software engineering is to develop and implement open systems composed of interacting autonomous agents. On the one hand, there is a need for permitting autonomy in order to support desirable system properties such as decentralised control. On the other hand, there is a need for restricting autonomy in order to reduce undesirable system properties such as unpredictability. This paper introduces a novel analysis and design method for open agent-oriented software systems that aims at coming up to both of these two contrary aspects. The characteristics of this method, called EXPAND, are as follows: (i) it allows agents a maximum degree of autonomy and restricts autonomous behaviour only if necessary (ii) it uses systemlevel expectations as a key modelling abstraction and as the primary level of analysis and design; and (iii) it is sociologically grounded in Luhmann's systems theory. The application of EXPAND is illustrated in a "car-trading platform" case study

    Modeling Adaptation with Klaim

    Get PDF
    In recent years, it has been argued that systems and applications, in order to deal with their increasing complexity, should be able to adapt their behavior according to new requirements or environment conditions. In this paper, we present an investigation aiming at studying how coordination languages and formal methods can contribute to a better understanding, implementation and use of the mechanisms and techniques for adaptation currently proposed in the literature. Our study relies on the formal coordination language Klaim as a common framework for modeling some well-known adaptation techniques: the IBM MAPE-K loop, the Accord component-based framework for architectural adaptation, and the aspect- and context-oriented programming paradigms. We illustrate our approach through a simple example concerning a data repository equipped with an automated cache mechanism

    Scrum@PA: Tailoring an Agile Methodology to the Digital Transformation in the Public Sector

    Get PDF
    Digital transformation in the public sector provides digital services to the citizens aiming at increasing their quality of life, as well as the transparency and accountability of a public administration. Since adaptation to the citizens changing needs is central for its success, Agile methodologies seem best suited for the software development of digital services in that area. However, as well documented by an attempt to use Scrum for an important Public Administration in Italy, substantial modifications to standard Agile were needed, giving rise to a new proposal called improved Agile (in short, iAgile). Another notable example is the Scrum@IMI method developed by the City of Barcelona for the deployment of its digital services. However, given the importance of digital transformation in the public sector and the scarcity of efforts (documented in the scholarly literature) to effectively bring Agile within it, a strategically important contribution that Computer Science can offer is a general paradigm describing how to tailor Agile methodologies and, in particular, Scrum, for such a specific context. Our proposal, called Scrum@PA, addresses this strategic need. Based on it, a public administration has a technically sound avenue to follow to adopt Scrum rather than a generic set of guidelines as in the current state of the art. We show the validity of our proposal by describing how the quite successful Scrum@IMI approach can be derived from Scrum@PA. Although iAgile can also be derived from our paradigm, we have chosen Scrum@IMI as a pilot example since it is publicly available on GitHub

    Digital Transformation in the Public Administrations: A Guided Tour for Computer Scientists

    Get PDF
    The goal of Digital Transformation of the Public Sector is the achievement of a better quality of life for citizens, via a more responsive and transparent administration and governance. By now it is clear that technological innovation, both in terms of computer architectures and software systems, is a crucial component of it, yet not sufficient. Indeed, a cultural, organizational and legal shift in how public organizations operate and relate to the citizens is also required. Nevertheless, computer scientists can play a key role in such a transformation and, given its impact on Society, it is essential to achieve a broader level of awareness of it and involvement in it of those scientific and professional figures. To this end, a technical map specifically designed for computer scientists, but properly placed in the context of the cultural, organizational and legal changes mentioned above, would be highly beneficial. To date, such a map is missing, to the best of our knowledge. The main contribution of this Tutorial is to provide it, together with a guided tour describing which key technological aspects enable and drive such a transformation. More specifically, based on a careful analysis of the available scholarly literature, that does not seem to include any Computer Science textbook material, a model of such a transformation is proposed, together with carefully selected examples incarnating it to show its validity: the cities of Barcelona and Chicago. Finally, a look at the future of this area is also provided

    "Exhibitionists" and "voyeurs" do it better: A shared environment for flexible coordination with tacit messages

    Get PDF
    Coordination between multiple autonomous agents is a major issue for open multi-agent systems. This paper proposes the notion of Behavioural Implicit Communication (BIC) originally devised in human and animal societies as a new and critical coordination mechanism also for artificial agents. BIC is a parasitical form of communication that exploits both some environmental properties and the agents? capacity to interpret their actions. In this paper we abstract from the agents? architecture to focus on the interaction mediated by the environment. Observability of the environment ? and in particular of agents? actions ? is crucial for implementing BIC-based form of coordination in artificial societies. Accordingly in this paper we introduce an abstract model of environment providing services to enhance observation power of agents, enabling BIC and other form of observation-based coordination. Also, we describe a typology of environments and examples of observation based coordination with and without implicit communication

    Orchestrating Tuple-based Languages

    Get PDF
    The World Wide Web can be thought of as a global computing architecture supporting the deployment of distributed networked applications. Currently, such applications can be programmed by resorting mainly to two distinct paradigms: one devised for orchestrating distributed services, and the other designed for coordinating distributed (possibly mobile) agents. In this paper, the issue of designing a pro- gramming language aiming at reconciling orchestration and coordination is investigated. Taking as starting point the orchestration calculus Orc and the tuple-based coordination language Klaim, a new formalism is introduced combining concepts and primitives of the original calculi. To demonstrate feasibility and effectiveness of the proposed approach, a prototype implementation of the new formalism is described and it is then used to tackle a case study dealing with a simplified but realistic electronic marketplace, where a number of on-line stores allow client applications to access information about their goods and to place orders

    Agile methodologies between software development and music production: an empirical study

    Get PDF
    Over the past 20 years agile methodologies revolutionized Information Technology, oering tremendous opportunities for the development of Software Engineering as an independent discipline. More specifically, agile methodologies contributed to enhancing the eectiveness and the speed of the production process as well as to improving the productivity and motivations of software developers organized in high performing teams. The agile philosophy can be and has been applied in dierent contexts and across several domains. This work analyses the relationship between Agile methodologies used by software engineers and the practices pursued by musicians in their daily lives. Our findings suggests that collaborative, strongly planned software development life cycle models (such as Waterfall, V-model, iterative, and Spiral) are not adequate models to describe the daily practices of musical composers. This is because their work requires a lot of flexibility, which such models intrinsically lack, because they are oriented to ensuring some form of monitorable progress. Interestingly, our findings also show that nine out of 12 Agile Principles are consciously or unconsciously followed by musicians in their practices. This suggests that there are some deep connections between these two prima facie dierent fields, which are both very creative. Even though our findings await replication, possibly with larger statistical samples, they contribute to open up a new strand of research in the fi

    How social interactions can affect Modern Code Review

    Get PDF
    Introduction: Modern Code Review (MCR) is a multistage process where developers evaluate source code written by others to enhance the software quality. Despite the numerous studies conducted on the effects of MCR on software quality, the non-technical issues in the MCR process have not been extensively studied. This study aims to investigate the social problems in the MCR process and to find possible ways to prevent them and improve the overall quality of the MCR process.Methodology: To achieve the research objectives, we applied the grounded theory research shaped by GQM approach to collect data on the attitudes of developers from different teams toward MCR. We conducted interviews with 25 software developers from 13 companies to obtain the information necessary to investigate how social interactions affect the code reviewing process.Results: Our findings show that interpersonal relationships within the team can have significant consequences on the MCR process. We also received a list of possible strategies to overcome these problems.Discussion: Our study provides a new perspective on the non-technical issues in the MCR process, which has not been extensively studied before. The findings of this study can help software development teams to address the social problems in the MCR process and improve the overall quality of their software products.Conclusion: This study provides valuable insights into the non-technical issues in the MCR process and the possible ways to prevent them. The findings of this study can help software development teams to improve the MCR process and the quality of their software products. Future research could explore the effectiveness of the identified strategies in addressing the social problems in the MCR process

    Predicting the results of evaluation procedures of academics

    Get PDF
    Background. The 2010 reform of the Italian university system introduced the National Scientific Habilitation (ASN) as a requirement for applying to permanent professor positions. Since the CVs of the 59,149 candidates and the results of their assessments have been made publicly available, the ASN constitutes an opportunity to perform analyses about a nation-wide evaluation process. Objective. The main goals of this paper are: (i) predicting the ASN results using the information contained in the candidates’ CVs; (ii) identifying a small set of quantitative indicators that can be used to perform accurate predictions. Approach. Semantic technologies are used to extract, systematize and enrich the information contained in the applicants’ CVs, and machine learning methods are used to predict the ASN results and to identify a subset of relevant predictors. Results. For predicting the success in the role of associate professor, our best models using all and the top 15 predictors make accurate predictions (F-measure values higher than 0.6) in 88% and 88.6% of the cases, respectively. Similar results have been achieved for the role of full professor. Evaluation. The proposed approach outperforms the other models developed to predict the results of researchers’ evaluation procedures. Conclusions. Such results allow the development of an automated system for supporting both candidates and committees in the future ASN sessions and other scholars’ evaluation procedures
    corecore