8 research outputs found

    Composable simulation models and their formal validation

    Get PDF
    Ph.DDOCTOR OF PHILOSOPH

    Finite-state control of the hybrid telerobotic system

    Get PDF
    Summarizing the past history of robotics, we find on one hand, the unsuccessful search to give autonomy to robots, and on the other hand, the people who need this autonomy for their applications but are obligated to let man into the control loop while they wait for the successful outcome. The goal of the telerobotics is not only to construct the human - robot systems, but also to find the right balance of their cooperation. The hybrid system theory is one of the methods in modeling and optimization of the telerobotic systems. This thesis describes and analyzes a hybrid telerobotic system, constructs the hybrid system controller using the finite-state automata, and implements the theoretical findings into commercial program as part of the real-time application

    Spacelab system analysis: A study of the Marshall Avionics System Testbed (MAST)

    Get PDF
    An analysis of the Marshall Avionics Systems Testbed (MAST) communications requirements is presented. The average offered load for typical nodes is estimated. Suitable local area networks are determined

    Reusing simulation experiments for model composition and extension

    Get PDF
    This thesis aims to reuse simulation experiments to support developing models via model reuse, with a focus on validating the resulting model. Individual models are annotated with their simulation experiments. Upon reuse of those models for building new ones, the associated simulation experiments are also reused and executed with the new model, to inspect whether the key behavior exhibited by the original models is preserved or not in the new model. Hence, the changes of model behavior resulting from the model reuse are revealed, and insights into validity of the new model are provided

    Conceitos em sistemas de informação: UML e a sua adequação ao FRISCO

    Get PDF
    A área de Sistemas de Informação tem sido invadida de conceitos mal definidos e terminologia mal empregue, juntamente com metodologias e linguagens não solidamente fundamentadas. Tal tem sido motivo de preocupação para a comunidade de sistemas de informação e alvo de estudos no sentido de analisar, sugerir ou propor formas mais correctas e fundamentadas de expressar o conhecimento e de estabelecer a comunicação. O relatório FRISCO (“Framework of Information System Concepts”) realizado pelo “IFIP WG 8.1 Task Group FRISCO” é um destes estudos, no qual se propõe um esquema de conceitos entendidos como relevantes para a área de sistemas de informação, os quais permitam, juntamente com uma terminologia adequada, uma comunicação mais clara, efectiva e não ambígua na área sistemas de informação. Paralelamente, a linguagem UML (“Unified Modeling Language”) surgiu e tornou-se como um standard na modelação de sistemas orientados a objectos, a qual sendo destinada essencialmente para a modelação de sistemas de software, advoga na sua especificação a flexibilidade para ser usada para a modelação de outros sistemas que não de software. Este estudo pretende analisar até que ponto a linguagem UML é adequada para a descrição/modelação de sistemas de informação, com base no esquema de conceitos de sistemas de informação proposto pelo FRISCO. É feita uma breve introdução a como o UML organiza e apresenta o seu metamodelo e, no que respeita ao FRISCO, também é feita uma breve apresentação focando os pressupostos ontológicos que sustentam a sua visão ontológica e a forma como foi construído o seu esquema de conceitos propostos. Para além de uma reflexão sobre várias questões que levantam dificuldades em considerar como suficiente a adequação do UML ao FRISCO, procede-se neste estudo a à análise da adequação do UML para representar cada um dos conceitos propostos pelo FRISCO. Desta análise é apresentada uma síntese das conclusões. Este trabalho enquadra-se nos domínios de ontologias, sistemas de conceitos e linguagens de modelação orientadas a objecto, e constitui um contributo para o esclarecimento de questões relativas a conceitos utilizados na modelação de sistemas de informação. The Information Systems area has been invaded with no sound basis concepts and terminology jointly with methodologies and languages. This has been a motive of concern to the information systems community and several studies are being made in order to analyse, suggest or recommend more correct and well-founded ways of expressing knowledge and establishing communication. The FRISCO (“Framework of Information System Concepts”) report of the IFIP WG 8.1 Task Group FRISCO is one of these studies; it suggests a scheme of concepts viewed as relevant to the information systems area, which may enable, together with the correct terminology, a more clear, effective and not ambiguous communication. At the same time the UML (“Unified Modeling Language”) language appeared and became standard in the modelling of object oriented systems which aims essentially to the modelling of software systems and has in its specification the flexibility to be used in the modelling of other systems. This study has the intention of analysing how well is the UML language suited to be used in the description/modelling of information systems with its basis on the scheme of concepts considered relevant by FRISCO. A brief introduction is done to the organization and to the presentation of the UML metamodel in its specification‟s document and, on what concerns to FRISCO, an introduction is also done focusing the ontological assumptions that sustain its ontological vision and the way the FRISCO built the schema of proposed concepts. Beyond a reflection about several issues that arise difficulties in accepting the UML as compatible to FRISCO‟s concepts, this study proceeds to the analysis of how well UML is suited to represent each of the FRISCO proposed concepts. From this analysis, a synthesis is elaborated. This study is a contribution to the elucidation of questions concerning the usage of concepts in information systems‟ modelling

    A framework for integrated process and object life cycle modeling

    Full text link

    Practical database replication

    Get PDF
    Tese de doutoramento em InformáticaSoftware-based replication is a cost-effective approach for fault-tolerance when combined with commodity hardware. In particular, shared-nothing database clusters built upon commodity machines and synchronized through eager software-based replication protocols have been driven by the distributed systems community in the last decade. The efforts on eager database replication, however, stem from the late 1970s with initial proposals designed by the database community. From that time, we have the distributed locking and atomic commitment protocols. Briefly speaking, before updating a data item, all copies are locked through a distributed lock, and upon commit, an atomic commitment protocol is responsible for guaranteeing that the transaction’s changes are written to a non-volatile storage at all replicas before committing it. Both these processes contributed to a poor performance. The distributed systems community improved these processes by reducing the number of interactions among replicas through the use of group communication and by relaxing the durability requirements imposed by the atomic commitment protocol. The approach requires at most two interactions among replicas and disseminates updates without necessarily applying them before committing a transaction. This relies on a high number of machines to reduce the likelihood of failures and ensure data resilience. Clearly, the availability of commodity machines and their increasing processing power makes this feasible. Proving the feasibility of this approach requires us to build several prototypes and evaluate them with different workloads and scenarios. Although simulation environments are a good starting point, mainly those that allow us to combine real (e.g., replication protocols, group communication) and simulated-code (e.g., database, network), full-fledged implementations should be developed and tested. Unfortunately, database vendors usually do not provide native support for the development of third-party replication protocols, thus forcing protocol developers to either change the database engines, when the source code is available, or construct in the middleware server wrappers that intercept client requests otherwise. The former solution is hard to maintain as new database releases are constantly being produced, whereas the latter represents a strenuous development effort as it requires us to rebuild several database features at the middleware. Unfortunately, the group-based replication protocols, optimistic or conservative, that had been proposed so far have drawbacks that present a major hurdle to their practicability. The optimistic protocols make it difficult to commit transactions in the presence of hot-spots, whereas the conservative protocols have a poor performance due to concurrency issues. In this thesis, we propose using a generic architecture and programming interface, titled GAPI, to facilitate the development of different replication strategies. The idea consists of providing key extensions to multiple DBMSs (Database Management Systems), thus enabling a replication strategy to be developed once and tested on several databases that have such extensions, i.e., those that are replication-friendly. To tackle the aforementioned problems in groupbased replication protocols, we propose using a novel protocol, titled AKARA. AKARA guarantees fairness, and thus all transactions have a chance to commit, and ensures great performance while exploiting parallelism as provided by local database engines. Finally, we outline a simple but comprehensive set of components to build group-based replication protocols and discuss key points in its design and implementation.A replicação baseada em software é uma abordagem que fornece um bom custo benefício para tolerância a falhas quando combinada com hardware commodity. Em particular, os clusters de base de dados “shared-nothing” construídos com hardware commodity e sincronizados através de protocolos “eager” têm sido impulsionados pela comunidade de sistemas distribuídos na última década. Os primeiros esforços na utilização dos protocolos “eager”, decorrem da década de 70 do século XX com as propostas da comunidade de base de dados. Dessa época, temos os protocolos de bloqueio distribuído e de terminação atómica (i.e. “two-phase commit”). De forma sucinta, antes de actualizar um item de dados, todas as cópias são bloqueadas através de um protocolo de bloqueio distribuído e, no momento de efetivar uma transacção, um protocolo de terminação atómica é responsável por garantir que as alterações da transacção são gravadas em todas as réplicas num sistema de armazenamento não-volátil. No entanto, ambos os processos contribuem para um mau desempenho do sistema. A comunidade de sistemas distribuídos melhorou esses processos, reduzindo o número de interacções entre réplicas, através do uso da comunicação em grupo e minimizando a rigidez os requisitos de durabilidade impostos pelo protocolo de terminação atómica. Essa abordagem requer no máximo duas interacções entre as réplicas e dissemina actualizações sem necessariamente aplicá-las antes de efectivar uma transacção. Para funcionar, a solução depende de um elevado número de máquinas para reduzirem a probabilidade de falhas e garantir a resiliência de dados. Claramente, a disponibilidade de hardware commodity e o seu poder de processamento crescente tornam essa abordagem possível. Comprovar a viabilidade desta abordagem obriga-nos a construir vários protótipos e a avaliálos com diferentes cargas de trabalho e cenários. Embora os ambientes de simulação sejam um bom ponto de partida, principalmente aqueles que nos permitem combinar o código real (por exemplo, protocolos de replicação, a comunicação em grupo) e o simulado (por exemplo, base de dados, rede), implementações reais devem ser desenvolvidas e testadas. Infelizmente, os fornecedores de base de dados, geralmente, não possuem suporte nativo para o desenvolvimento de protocolos de replicação de terceiros, forçando os desenvolvedores de protocolo a mudar o motor de base de dados, quando o código fonte está disponível, ou a construir no middleware abordagens que interceptam as solicitações do cliente. A primeira solução é difícil de manter já que novas “releases” das bases de dados estão constantemente a serem produzidas, enquanto a segunda representa um desenvolvimento árduo, pois obriga-nos a reconstruir vários recursos de uma base de dados no middleware. Infelizmente, os protocolos de replicação baseados em comunicação em grupo, optimistas ou conservadores, que foram propostos até agora apresentam inconvenientes que são um grande obstáculo à sua utilização. Com os protocolos optimistas é difícil efectivar transacções na presença de “hot-spots”, enquanto que os protocolos conservadores têm um fraco desempenho devido a problemas de concorrência. Nesta tese, propomos utilizar uma arquitetura genérica e uma interface de programação, intitulada GAPI, para facilitar o desenvolvimento de diferentes estratégias de replicação. A ideia consiste em fornecer extensões chaves para múltiplos SGBDs (Database Management Systems), permitindo assim que uma estratégia de replicação possa ser desenvolvida uma única vez e testada em várias bases de dados que possuam tais extensões, ou seja, aquelas que são “replicationfriendly”. Para resolver os problemas acima referidos nos protocolos de replicação baseados em comunicação em grupo, propomos utilizar um novo protocolo, intitulado AKARA. AKARA garante a equidade, portanto, todas as operações têm uma oportunidade de serem efectivadas, e garante um excelente desempenho ao tirar partido do paralelismo fornecido pelos motores de base de dados. Finalmente, propomos um conjunto simples, mas abrangente de componentes para construir protocolos de replicação baseados em comunicação em grupo e discutimos pontoschave na sua concepção e implementação

    Code generation for event-B

    Get PDF
    Stepwise refinement and Design-by-Contract are two formal approaches for modelling systems. These approaches are widely used in the development of systems. Both approaches have (dis-)advantages: in stepwise refinement a model starts with an abstraction of the system and more details are added through refinements. Each refinement must be provably consistent with the previous one. Hence, reasoning about abstract models is possible. A high level of expertise is necessary in mathematics to have a good command of the underlying languages, techniques and tools, making this approach less popular. Design-by-Contract, on the other hand, works on the program rather than the program model, so developers in the software industry are more likely to have expertise in it. However, the benefit of reasoning over more abstract models is lost. A question arises: is it possible to combine both approaches in the development of systems, providing the user with the benefits of both? This thesis answers this question by translating the stepwise refinement method with EventB to Design-by-Contract with Java and JML, so users can take full advantage of both formal approaches without losing their benefits. This thesis presents a set of syntactic rules that translates Event-B to JML-annotated Java code. It also presents the implementation of the syntactic rules as the EventB2Java tool. We used EventB2Java to translate several Event-B models. The tool generated JML-annotated Java code for all the considered Event-B models that serve as final implementation. We also used EventB2Java for the development of two software applications. Additionally, we compared EventB2Java against two other tools that also generate Java code from Event-B models. EventB2Java enables users to start the software development process in Event-B, where users can model the system and prove its consistency, to then transition to JML-annotated Java code, where users can continue the development process
    corecore