FC-DI - Technical Reports
Permanent URI for this collection
The report series seeks scientific reports by members of the Department of Informatics, and include pre-print versions of journal articles, full versions of conference articles, preliminary versions of submissions to conferences and journals, etc.
Collections of articles should be submitted as Workshop Proceedings and not as Technical Report (TR).
Browse
Browsing FC-DI - Technical Reports by Issue Date
Now showing 1 - 10 of 212
Results Per Page
Sort Options
- Connectors for Mobile ProgramsPublication . Wermelinger, Michel; Fiadeiro, JoséSoftware Architecture has put forward the concept of connector to express complex relationships between system components, thus facilitating the separation of coordination from computation. This separation is especially important in mobile computing due to the dynamic nature of the interactions among participating processes. In this paper we present connector patterns, inspired in Mobile UNITY, that describe three basic kinds of transient interactions: action inhibition, action synchronization, and message passing. The connectors are given in COMMUNITY, a UNITY-like program design language which has a semantics in Category Theory. We show how the categorical framework can be used for applying the proposed connectors to specific components and how the resulting architecture can be visualized by a diagram showing the components and the connectors
- Scalable Atomic MulticastPublication . Rodrigues, Luís; Guerraoui, Rachid; Schiper, AndréWe present a new scalable fault-tolerant algorithm which ensures total order delivery of messages sent to multiple groups of processes. The algorithm is scalable in the sense that: (1) any process can multicast a message to one or more groups of processes without being forced to join those groups; (2) inter-group total order is ensured system-wide but, for each individual multicast, the number and size of messages exchanged depends only on the number of addressees; (3) failure detection does not need to be reliable. Our algorithm also exhibits a modular design. It uses two companion protocols, namely a reliable multicast protocol and a consensus protocol, and these protocols are not required to use the same communication channels or to share common variables with the total order protocol. This approach follows a design methodology based on the composition of (encapsulated) micro-protocols
- Core-TyCO, The Language Definition, Version 0.1Publication . Vasconcelos, Vasco T.; Bastos, RuiThis is the second report on TyCO, a (still) experimental strongly and implicitly typed concurrent object oriented programming language based on a predicative polymorphic calculus of objects, featuring asynchronous messages, objects, and process declarations, together with a predicative polymorphic type system
- Dynamic Channels: A New Methodology for Mobile Computing ApplicationsPublication . Afonso, Ana Paula; Regateiro, Francisco S.; Silva, Mário J.We discuss the software engineering of mobile computing information dissemination systems and introduce dynamic channels, a set of extensions to the conceptual models developed for information channels, capturing mobility-specific requirements. These are used for filtering and setting update order priorities for the information that users intend to monitor, which depends on their location and changes as they roam. We also present a new development methodology for a class of mobile computing applications operating under an information dissemination metaphor. The methodology is based on UML, the OMG standard for object-oriented analysis and design
- ACE: Um Agente de Compras na InternetPublication . Neto, Ana Beatriz; Gouveia, Duarte; Silva, Mário J.Electronic commerce through the Internet is a growing business, but there are still some problems to overcome so that every user can become a buyer. Safe transactions are the most discussed problem, but there are other problems that make shopping on the Internet difficult. When we built ACE (which stands for Agente de Compras Especializado) we aimed at solving one of those problems: finding the product or service that best suits your needs. We designed a scalable model for that purpose (since this software could be used to connect every buyer and every seller on the Internet) and we built a prototype that shows how this model works. We describe our proposed model in detail, based on the software agents paradigm, and the methodology we used to develop it. We conclude with a comparison between ACE and a similar commercial product
- A Multi-Agent Architecture for Decision Making under UncertaintyPublication . Ladeira, Marcelo; Coelho, Helder; Viccari, Rosa MariaAn influence diagram represents a decision problem formalisation where the decision-maker is a rational one; i.e. he prefers the decision that maximises the utility function expected value. This formalism models the domain through a single homogeneous network and without considering the existence of specific sub-domains into the domain at hand. The main goal of this research project is to study the application of the multi-agent approach to the evaluation of influence diagrams, motivated by the intention of exploring the locality propriety in large domains. A domain that has locality can be looked by parts because it has specific and natural sub-domains. The decision-maker that reasons and decides based on the domain information can focus on a single sub-domain each time, and occasionally shift his attention to another sub-domain. This technical report was written when the first author was visiting the Computer Science Department of the University of Lisbon. It is the thesis proposal for the Computer Science doctor degree of the first author at the Brazilian Federal University of Rio Grande do Sul, and it was submitted with success last April
- GwB, A Workbench for Natural Language GrammarsPublication . Branco, António HortaAs an intermediate instrumental step in our research on reference processing and binding theory, we built up a grammar workbench which we called GwB. This workbench was primarily designed as a computational tool to help verifying the theoretical consistency and the empirical adequacy of our working hypotheses. In this paper, we report on the architecture underlying GwB and its functionality. Firstly, we present the general language processing framework embodied in the grammar workbench. Secondly, we present a brief survey of the computational systems available for the implementation of that framework and discuss the major aspects of the implementation of GwB in the system we opted for
- Analog Computers and the Iteration FunctionalPublication . Campagnolo, Manuel Lameiras; Moore, Cristopher; Costa, José FélixIn this paper we extend the class of differentially algebraic functions computed by Shannon's General Purpose Analog Computer (GPAC). We relax Pour-El's definition of GPAC to obtain new operators and we use recursion theory on the reals to define a new class of analog computable functions. We show that a function F(t,x) which simulates t time-steps of a Turing machine on input x, and more generally a functional that allows us to define the t'th iterate of a definable function, are definable in this system. Therefore, functions like Gamma which are not generable by GPAC become computable in this extension
- Building a Neural ComputerPublication . Carreira, Paulo J.F.; Rosa, Miguel A.; Neto, João Pedro; Costa, José FélixIn the work of [Siegelmann 95] it was showed that Artificial Recursive Neural Networks have the same computing power as Turing machines. A Turing machine can be programmed in a proper high-level language - the language of partial recursive functions. In this paper we present the implementation of a compiler that directly translates high-level Turing machine programs to Artificial Recursive Neural Networks. The application contains a simulator that can be used to test the resulting networks. We also argue that experiments like this compiler may give us clues on procedures for automatic synthesis of Artificial Recursive Neural Networks from high-level descriptions
- Semantics of Transient Connectors in Rewriting LogicPublication . Fiadeiro, José; Wermelinger, Michel; Meseguer, JoséResearch in Software Architectures has put forward the concept of connector to express complex relationships between system components, thus facilitating the separation of coordination from computation. A system can then be understood, at a given level of abstraction, in terms of its components and the connectors that establish how they interact. However, for systems in which many interconnections exist between their components, the architectures themselves may become very complex due to the high number of connectors in place. This is especially true in the context of mobile systems in which the interconnections are, by nature, transient in the sense that, at a given instant of time, only a subset of the potential connectors are actually effective. In this paper, we formalise a notion of transient connector that allows, at any given moment, for the architecture to depict only the connectors that are active and, in this way, capture the dynamics of architectures themselves. Our approach is based on the use of Community, a Unity-like program design language that has a semantics in Category Theory, and rewriting logic as a means of capturing the dynamic aspects of connectors