• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 84
  • 3
  • Tagged with
  • 87
  • 87
  • 36
  • 36
  • 30
  • 30
  • 24
  • 18
  • 18
  • 18
  • 15
  • 15
  • 15
  • 15
  • 15
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
71

Ambiente de modelagem e implementação de sistemas tempo real usando o paradigma de orientação a objetos / Modeling and implementation environment for the development of real-time systems using object oriented paradigm

Becker, Leandro Buss January 1999 (has links)
Este trabalho descreve o desenvolvimento de um ambiente integrado para modelagem, simulação e implementação de sistemas de tempo real distribuídos (STRD), especialmente aqueles voltados para automação industrial. O ambiente proposto faz use do paradigma de orientação a objetos, sendo baseado no ambiente SIMOO, desenvolvido no Âmbito de uma tese de doutorado no CPGCC. A motivação para a realizado deste trabalho surgiu através de alguns estudos de caso, que constataram que as ferramentas CASE existentes não incorporavam todas as propriedades desejadas em termos de suporte para modelagem e implementação dos STRD. Dentre estas propriedades, destacam-se a capacidade para especificação de restrições temporais, o suporte a simulação do modelo desenvolvido e a capacidade de geração automática de código para a aplicação final. O ambiente proposto tem por objetivo suprir as carências observadas, adicionando ao ambiente SIMOO original facilidades para a descrição de restrições temporais e facilidades para descried° de comportamento do modelo desenvolvido. Além disso, é incorporada ao ambiente a capacidade de geração automática de código em uma linguagem que suporte as restrições temporais descritas no modelo. Este trabalho foi desenvolvido no contexto do projeto ADOORATA (A Distributed Object-Oriented Architecture for Real-Time Automation), como parte do Programa de Cooperação entre Brasil e Alemanha, financiado pelas agencias CNPq e DLR. / This work describes the development of an integrated object-oriented environment for modeling, simulation and implementation of distributed real-time systems (DRTS), especially those conceived for industrial automation. This work extends the SIMOO environment, conceived as part of a Ph.D. thesis in the CPGCC at Federal University of Rio Grande do Sul. Its motivation began during some case studies, which concluded that existing CASE tools don't incorporate all the desired features for modeling and implementation of DRTS. Among these features, capacities to specify timing constraints, to simulate/animate the model and to automatically generate the final application code are highlighted. The proposed environment intends to overcome these lacks, adding to the original environment features for the specification of timing requirements and the application behavior, allowing the creation of an object-oriented simulation model. Additionally it automatically generates the application executable code, which makes use of the incorporated specifications to guarantee its correctness. This work has been developed within the context of the ADOORATA project (A Distributed Object-Oriented Architecture for Real-Time Automation), as part of the Brazilian-German Cooperation Program, sponsored by CNPq and DLR.
72

Ambiente de modelagem e implementação de sistemas tempo real usando o paradigma de orientação a objetos / Modeling and implementation environment for the development of real-time systems using object oriented paradigm

Becker, Leandro Buss January 1999 (has links)
Este trabalho descreve o desenvolvimento de um ambiente integrado para modelagem, simulação e implementação de sistemas de tempo real distribuídos (STRD), especialmente aqueles voltados para automação industrial. O ambiente proposto faz use do paradigma de orientação a objetos, sendo baseado no ambiente SIMOO, desenvolvido no Âmbito de uma tese de doutorado no CPGCC. A motivação para a realizado deste trabalho surgiu através de alguns estudos de caso, que constataram que as ferramentas CASE existentes não incorporavam todas as propriedades desejadas em termos de suporte para modelagem e implementação dos STRD. Dentre estas propriedades, destacam-se a capacidade para especificação de restrições temporais, o suporte a simulação do modelo desenvolvido e a capacidade de geração automática de código para a aplicação final. O ambiente proposto tem por objetivo suprir as carências observadas, adicionando ao ambiente SIMOO original facilidades para a descrição de restrições temporais e facilidades para descried° de comportamento do modelo desenvolvido. Além disso, é incorporada ao ambiente a capacidade de geração automática de código em uma linguagem que suporte as restrições temporais descritas no modelo. Este trabalho foi desenvolvido no contexto do projeto ADOORATA (A Distributed Object-Oriented Architecture for Real-Time Automation), como parte do Programa de Cooperação entre Brasil e Alemanha, financiado pelas agencias CNPq e DLR. / This work describes the development of an integrated object-oriented environment for modeling, simulation and implementation of distributed real-time systems (DRTS), especially those conceived for industrial automation. This work extends the SIMOO environment, conceived as part of a Ph.D. thesis in the CPGCC at Federal University of Rio Grande do Sul. Its motivation began during some case studies, which concluded that existing CASE tools don't incorporate all the desired features for modeling and implementation of DRTS. Among these features, capacities to specify timing constraints, to simulate/animate the model and to automatically generate the final application code are highlighted. The proposed environment intends to overcome these lacks, adding to the original environment features for the specification of timing requirements and the application behavior, allowing the creation of an object-oriented simulation model. Additionally it automatically generates the application executable code, which makes use of the incorporated specifications to guarantee its correctness. This work has been developed within the context of the ADOORATA project (A Distributed Object-Oriented Architecture for Real-Time Automation), as part of the Brazilian-German Cooperation Program, sponsored by CNPq and DLR.
73

Um modelo de dados temporal orientado a objetos para gerenciar configurações de software / A temporal object-oriented data model to manage software configurations

Silva, Fabrício Ávila da January 2005 (has links)
Gerência de Configuração de Software é a disciplina que define conceitos e métodos baseados nos quais engenheiros de software conseguem manter sob controle a evolução de complexos produtos de software. Todos os princípios básicos da GCS foram implementados com sucesso em diversas ferramentas comerciais, mas as abordagens mais avançadas propostas nos últimos anos ainda não são utilizadas em ambientes reais de desenvolvimento, principalmente pela alta complexidade destas propostas – impedindo a sua implementação e utilização de forma adequada. Com o objetivo de introduzir uma solução simples e flexível para gerenciar configurações de software, este trabalho apresenta o SCM_TOO – Software Configurations Managed using a Temporal Object-Oriented data model, cuja principal característica é o uso da orientação a objeto para modelar o produto de software e as modificações aplicadas a ele durante o seu tempo de vida. Além de disponibilizar mecanismos específicos para manipular arquivos e usuários do sistema, o SCM_TOO aplica técnicas de bancos de dados temporais para suportar a evolução da aplicação e armazenar o histórico de modificações realizadas ao longo do tempo. O modelo define também um mecanismo de versionamento baseado em mudanças, no qual cada alteração realizada no software é identificada como uma entidade lógica no repositório de dados e pode ser utilizada na geração de novas baselines do produto. Esta proposta complementa o tradicional versionamento baseado em estados e aumenta a eficiência e flexibilidade do modelo sem acrescentar uma complexidade desnecessária. / Software Configuration Management is the discipline that defines concepts and methods based on which software engineers keep under control the evolution of complex software products. All the basic SCM principles have been successfully implemented in several commercial tools, but none of the advanced approaches proposed in the last years is currently used in real development environments, due to their high complexity – making the proper implementation and utilization almost impossible. Aiming to introduce a simple, flexible and powerful solution to manage software configurations, this work presents SCM_TOO – Software Configurations Managed using a Temporal Object-Oriented data model, whose main characteristic is using the object-oriented paradigm to model the software product and the modifications applied to it during its lifetime. Along with specific mechanisms to handle files and system users, SCM_TOO applies temporal databases techniques to support the application evolution and store the modifications realized on it. The model also defines a change-based versioning mechanism, in which every modification performed on the software is identified as a logical entity in the data repository and can be used to generate new product baselines. This approach complements the traditional state-based versioning and increases the model efficiency and flexibility without imposing unnecessary complexity.
74

AFIDS : arquitetura para injeção de falhas em sistemas distribuídos / AFIDS - architecture for fault injection in distributed systems

Sotoma, Irineu January 1997 (has links)
Sistemas distribuídos já são de amplo uso atualmente e seu crescimento tende a se acentuar devido a popularização da Internet. Cada vez mais computadores se interligam e trocam informações entre si. Nestes sistemas, requerimentos como confiabilidade, disponibilidade e desempenho são de fundamental importância para a satisfação do usuário. Estes requerimentos podem ser atendidos aproveitando-se da redundância já existente com as maquinas interligadas. Mas para atingir os requisitos de confiabilidade e disponibilidade, protocolos tolerantes a falhas devem ser construídos. Tolerância a falhas visa continuar a fornecer o serviço de algum protocolo, aplicação ou sistema a despeito da ocorrência de falhas durante a sua execução. Tolerância a falhas pode ser implementada por hardware ou por software através de mascaramento ou recuperação de falhas. Recentemente, a injeção de falhas implementada por software tem sido um dos principais métodos utilizados para validar protocolos tolerantes a falhas em sistemas distribuídos, e muitas ferramentas tem sido construídas. Contudo, não ha nenhuma biblioteca de classes orientada a objetos para auxiliar novos pesquisadores na construção da sua própria ferramenta de injeção de falhas. Este trabalho apresenta uma proposta de uma arquitetura orientada a objetos escrita em C++ para sistemas operacionais UNIX usando sockets, de modo a alcançar aquele objetivo. Esta arquitetura é chamada de AFIDS (Architecture for Fault Injection in Distributed Systems). AFIDS pretende fornecer uma estrutura básica que aborda as questões principais no processo de injeção de falhas implementada por software: a) a Geraldo de parâmetros de falhas para o experimento, b) o controle da localização, tipo e tempo da injeção de falhas, c) a coleta de dados do experimento, d) a injeção efetiva da falha e a análise dos dados coletados de modo a obter medidas de dependabilidade sobre o protocolo tolerante a falhas. Ou seja, AFIDS pretende ser um framework para a construed° de ferramentas de injeção de falhas. Segundo [BOO 961: "Através do uso de frameworks maduros, o esforço de desenvolvimento torna-se mais fácil, porque os principais elementos funcionais podem ser reutilizados". AFIDS leva em consideração várias questões de projeto que foram obtidas através da analise de oito ferramentas de injeção de falhas por software para sistemas distribuídos: FIAT [SEG 88], EFA [ECH 92. ECH 94], SFI [ROS 93], DOCTOR [HAN 93], PFI [DAW 94], CSFI [CAR 95a], SockPFI [DAW 95] e ORCHESTRA [DAW 96]. Para auxiliar a construção de AFIDS, é apresentada uma ferramenta de injeção de falhas que utiliza um objeto injetor de falhas por processo do protocolo sob teste. AFIDS e esta ferramenta são implementadas em C++ usando sockets em Linux. Para que AFIDS se tome estável e consistente e necessário que outras ferramentas sejam construídas baseadas nela. Isto é enfatizado porque, segundo [BOO 96]: "Um framework são começa a alcançar maturidade apos a sua aplicação em pelo menos três ou mais aplicações distintas". / Currently, distributed systems are already in wide use. Because of the Internet popularization their growth tend to arise. More and more computers interconnect and share information. In these systems, requirements such as reliability, availability and performance are fundamental in order to satisfy the users. These requirements can be reached taking advantage of the redundancy already associated with the computers interconnected. However, to reach the reliability and availability requirements, fault tolerant protocols must be built. Fault tolerance aims to provide continuous service of some protocol, application or system in despite of fault occurrence during its execution. Fault tolerance can be implemented in hardware or software using fault masking or recovery. Recently, the software-implemented fault injection has been one of the main methods used to validate fault tolerant protocols in distributed systems, and many tools has been built. However, there is no object-oriented class library to aid new researchers on the buildin g of own fault injection tool. This work presents a proposal of an objectoriented architecture written in C++ for UNIX operating systems using sockets, in order to reach that purpose. This architecture is called AFIDS (Architecture for Fault Injection in Distributed Systems). AFIDS intends to provide a basic structure that addresses the main issues of the process of software-implemented fault injection: a) the generation of fault parameters for the experiment, b) the control of the location, type and time of the fault injection, c) the data collection of the experiment, d) the effective injection of the faults, and e) the analysis of collected data in order to obtain dependability measures about the fault tolerant protocol sob test. According to [BOO 96]: "By using mature frameworks, the effort of the development team is made even easier, because now major functional elements can be reused.". AFIDS regards various design issues that were obtained from the analysis of eight tools of software-implemented fault injection for distributed systems: FIAT [SEG 88], EFA [ECH 92, ECH 94], SFI EROS 93], DOCTOR [HAN 93], PFI [DAW 94], CSFI [CAR 95a], SockPFI [DAW 95] e ORCHESTRA [DAW 96]. In order to aid the AFIDS building, a fault injection tool that uses one injector object in each process of protocol under test is shown. AFIDS and this tool are implemented in C++ using sockets on Linux operating system. AFIDS will become stable and consistent after the building of others tools based on it. This is emphasized because, according to [BOO 96]: "A framework does not even begin to reach maturity until it has been applied in at least three or more distinct applications".
75

Programação funcional usando Java / Functional programming using Java

Zavaleta Gavidia, Jorge Juan January 1997 (has links)
Desde a introdução da World Wide Web para o mundo nos inícios de 1990, usando a Internet como uma rede para transferir dados, empregando uma forma de expressão chamada de Hipertexto, a qual liga as informações relacionadas e combinadas com multimídia, os Webs resultantes têm aberto novas possibilidades de expressão e comunicação. A quantidade de tráfego de dados na Web e o número de computadores ofertando informação vem crescendo dramaticamente, mas falta expressividade e qualidade interativa na Web; ainda assim, vem despertando um grande interesse instrutivo e útil. O ilimitado universo de possibilidades da Web para acessar aplicações seguras, portáveis e independentes para cada plataforma em hardware e software e que possam chegar a qualquer lugar sobre a Internet, surge a linguagem Java da Sun Microsystem [DEC 95]. A habilidade de Java para executar código sobre hosts remotos de uma maneira segura é uma necessidade crítica para muitas organizações de desenvolvedores de software e provedores de Internet na atualidade [ARN 96]. A linguagem Java é realmente valiosa para redes de ambientes distribuídos como a Web. Entretanto, Java vai mais longe deste domínio ao fornecer uma linguagem de programação de propósito geral poderosa e adequada para construir uma variedade de aplicações que não dependem das características da rede [ARN 96]. O modelo imperativo tradicional é padrão e quase universal vem tendo uma profunda influência sobre a natureza das linguagens de programação e ainda continua a tendência de sempre ter uma direção para fornecer mais e mais formas abstratas de resolver problemas, tentando mudar a simplicidade na programação com rapidez na execução de programas [FIE 88]. Parece. portanto, natural e quase inevitável o desenvolvimento em tecnologia das linguagens. Os amplos esforços gastos em desenvolver métodos rigorosos para especificar, produzir, verificar software e produtos de hardware, mas os esforços foram restringidos às linguagens convencionais. A aproximação natural de Von Neumann tem contribuído a esta falha desde a noção de um estado global que pode mudar arbitrariamente em cada passo da computação e vem sendo provado ser intuitivamente e matematicamente intratável. Esta falha tem tornado ao software o componente mais caro para muitos sistemas de computação [GLA 84]. Os primeiros passos para solucionar estas falhas foram tomadas pela programação estruturada ao trabalhar nas áreas de especificação formal, verificação de programas e na semântica formal que ainda continuam em pesquisa. O crescimento numeroso de pesquisadores têm certeza de que os problemas originam-se da aproximação fundamental à filosofia de Von Neumann e estão voltando-se para uma linguagem de um novo tipo. Uma de tais aproximações é a tomada pelas linguagens de programação funcional [PLA 93]. Num programa funcional, o resultado de uma função chamada é unicamente determinado pelos valores atuais dos argumentos da função [PLA 93]. As linguagens de programação funcional têm a vantagem que elas oferecem um uso geral das funções, o qual não esta disponível nas linguagens imperativas clássicas. Devido a ausência de efeitos colaterais, as provas de correção dos programas são mais fáceis que nas linguagens imperativas. As funções podem ser avaliadas em qualquer ordem assim como a disponibilidade total das mesmas, a nova geração de linguagens funcionais também oferecem uma elegante noção de uso amigável [PLA 93]. Os padrões e a proteção que fornecem ao usuário um acesso simples a estruturas de dados complexos, basicamente não tendo a preocupação do gerenciamento da memória, como faz a linguagem Java. O objetivo principal deste trabalho é a descrição da implementação de um Construtor de Funções Java (LispJ), usado para gerar funções Lisp em código Java utilizando a linguagem Java da Sun Microsystem como ambiente de desenvolvimento. A descrição compreende a codificação de um Interpretador Lisp da linguagem funcional LISP, e a codificação do Construtor de Funções Java visualizado através de um applet Java utilizado como interface entre o Construtor de Funções Java e o usuário sobre a Internet. / Since the introduction of the World Wide Web to the world in the beginning of the nineties, using the Internet as a network to transfer data, using a form of expression called Hypertext, which connects related and combined information with multimedia, the resulting Webs have opened new possibilities of expression and communication. The amount of data traffic in the Web and the number of computers offering information have been growing dramatically, but there is a lack of interactive expressivity and quality in the Web; nevertheless, its instructive and useful interest is growing wider. From the unlimited universe of possibilities of the Web to access safe, portable and independent applications for each platform in hardware and software and that are able to get anywhere on the Internet, there is the Java Sun Mycrosystem language [DEC 95]. Java's ability to perform code on remote hosts in a safe way is a critical need for many software developing organizations and Internet providers nowadays [ARN 96]. Java language is really valuable for network environments arranged as the Web. However, Java extends further from this domain as it provides a broad programming language that is powerful and adequate to build a variety of applications which do not depend on the characteristics of the network [ARN 96]. The prevailing traditional model is a pattern and almost universal, has had a deep influence on the nature of the programming languages and there is still a trend of one direction to provide more and more abstract ways of solving problems, trying to change the simplicity in the fast programming in programs run [FIE 88]. It seems, therefore, natural and almost inevitable the development in technology of the programming languages. Wide efforts were made to develop strict methods to specify, produce, check software and hardware products, but the efforts were restricted to conventional languages. Von Neumann's natural approximation has contributed to this gap since the notion of a global state which can change arbitrarily in each step of the computer science and has proven to be intuitively and mathematically intractable. This gap has turned the software into the most expensive component for many computing systems [GLA 84]. The first steps to solve these gaps were taken by the structured programming when working on the areas of formal specification, programs checking and the formal semantics, which are still being researched. The ever growing number of researchers are sure that the problems come from the fundamental approximation to Von Neumann's philosophy and are turning to a new kind of language. One of such approximations is the one through the functional programming languages [PLA 93]. In a functional program, the result of a called function is determined only by the present values of the function arguments [PLA 93]. The functional programming languages have the advantage of offering a general use of the functions, which is not available in the classic prevailling lan guages [PLA 93]. Due to absence of side effects, the correction tests in the programs are easier than in the prevailing languages. The functions may be evaluated in any order and so may their total disposal. The new generation of functional languages also offers an elegant notion of friendly use [PLA 93]. The patterns and protection offer the user a simple access to complex data structures, basically by not worrying about memory management, as occurs with the Java language. The main objetive of this work is the description of the implementation of a Java Functions Builder (Lisp1), used do generate Lisp functions in Java code utilizing the Java language from Sun microsystem as a developing environment. The description covers the code of the Lisp Interpreter of the LISP functional language, and the Java Functions Builder code visualized through a Java applet utilized as interface between the Java Functions Builder and the users on the Internet.
76

Um estudo sobre objetos com comportamento inteligente / A study on objects with intelligent behavior

Amaral, Janete Pereira do January 1993 (has links)
Diversos estudos têm sido realizados com o objetivo de definir estruturas para construção de ambientes de desenvolvimento de software. Alguns desses estudos indicam a necessidade de prover inteligência a tais ambientes, para que estes, efetivamente, coordenem e auxiliem o processo de desenvolvimento de software. O paradigma da orientação a objetos (POO) vem sendo utilizado na implementação de sistemas inteligentes, com diferentes enfoques. O POO tem sido experimentado, também, como estrutura para construção de ambientes. A abordagem da construção de sistemas, na qual a inteligência se encontra distribuída, como proposto por Hewitt, Minsky e Lieberman, suscita a idéia de modelar objetos que atuem como solucionadores de problemas, trabalhando cooperativamente para atingir os objetivos do sistema, e experimentar essa abordagem na construção de ambientes inteligentes. Nesta dissertação, é apresentado um estudo sobre a utilização do POO na implementação de sistemas inteligentes, e proposta uma extensão ao conceito de objeto. Essa extensão visa permitir flexibilidade no seu comportamento, autonomia nas suas ações, aquisição de novos conhecimentos e interação com o ambiente externo. A existência de objetos com tais características permite a construção de sistemas inteligentes, modularizados e evolutivos, facilitando, assim, seu projeto, implementação e manutenção. Visando esclarecer os termos utilizados no decorrer desta dissertação, são discutidos os conceitos básicos do POO e suas principais extensões. São apresentadas algumas abordagens sobre inteligência e comportamento inteligente, destacando-se a importância de conhecimento, aprendizado e comportamento flexível. Observa-se que este último decorre da aquisição de novos conhecimentos e da análise das condições do ambiente. Buscando fornecer embasamento para análise das características representacionais do POO, são apresentados os principais esquemas de representação de conhecimento e algumas estratégias para resolução de problemas, utilizados em sistemas inteligentes. E analisado o uso do POO como esquema de representação de conhecimento, destacando-se suas vantagens e deficiências. É sintetizado um levantamento de propostas de utilização do POO na implementação de sistemas inteligentes, realizado com o objetivo de identificar os mecanismos empregados na construção desses sistemas. Observa-se a tendência em apoiar a abordagem da inteligência distribuída, utilizando-se a estruturação do conhecimento propiciado pelo POO e características positivas de outros paradigmas. Propõe-se um modelo de objetos com comportamento inteligente. Nesse modelo, além dos aspectos declarativos e procedimentais do conhecimento, representados através de variáveis de instância e de métodos, são encapsulados mecanismos para prover autonomia e comportamento flexível, permitir a aquisição de novos conhecimentos, e propiciar a comunicação com usuários. Para prover autonomia, foi projetado um gerenciador de mensagens, que recebe solicitações enviadas ao objeto, colocando-as numa fila e atendendo-as segundo seu conhecimento e análise das condições do ambiente. Utilizando-se recursos da programação em lógica, são introduzidas facilidades para flexibilização do comportamento, através de regras comportamentais em encadeamento regressivo. A aquisição de novos conhecimentos é obtida através da inclusão/retirada de fatos, de procedimentos e de regras comportamentais na base de conhecimento do objeto. Para fornecer auxílio e relato de suas atividades, os objetos exibem o status da ativação de suas regras comportamentais, e listas das solicitações atendidas e das mantidas em sua fila de mensagens. Para experimentar o modelo proposto, é implementado um protótipo de um assistente inteligente para as atividades do processo de desenvolvimento de software. Sua implementação utiliza a linguagem Smalltalk/V com recursos da programação em lógica, integrados através de Prolog/V. A experiência obtida na utilização desse modelo mostrou a viabilidade da inclusão de características complementares ao modelo de objetos do POO, e a simplicidade de sua implementação, utilizando-se recursos multiparadigmáticos. Esse modelo constitui, assim, uma alternativa viável para construção de ambientes inteligentes. / Aiming at defining structures for Software Engineering Environments (SEE) much research has been accomplished. Some of this research results have pointed out the need to provide intelligence to coordinate and assist effectively the software development process. The object-oriented paradigm (OOP) has been applied to implement intelligent systems with several approaches. The OOP as SEE structure has been experimented as well. The system construction approach in which the intelligence is distributed among its elements, proposed by Hewitt, Minsky and Lieberman, elicits the idea of modelling objects that act as problem-solvers, working cooperatively to reach the system objectives, and to experiment this approach in the construction of intelligent environments. In this dissertation, a study of the OOP use in the implementation of intelligent systems is presented. An extension to the object concept is proposed to allow objects to exhibit a flexible behavior, to have autonomy in their tasks fulfillment, to acquire new knowledge, and to interact with the external environment. The existence of objects with this ability, enables the construction of modulated and evolutionary intelligent systems, making its design, implementation and maintenance easier. The OOP basic concepts and main extensions are discussed to elucidate the concepts that will be used throughout this dissertation. Some intelligence and intelligent behavior approaches are presented, emphasizing knowledge, learning and flexible behavior. This flexible behavior comes from new knowledge acquisition and from the analysis of environment conditions. The main knowledge representation schemes and several problem solving strategies used in intelligent systems are presented to provide background for representational characteristics analysis of the OOP. The OOP used as a knowledge representation scheme is analyzed and emphasized its advantages and shortcomings. In order to identify mechanisms engaged in the implementation of intelligent systems, a survey of proposals of the OOP used in that systems is synthesized. In that survey the emphasis to support the distributed intelligence approach through the use of the knowledge representation model provided by OOP and positive characteristics of other paradigms is observed. An object model with intelligent behavior is proposed, in which, besides the declarative and procedural aspects of knowledge represented through instance variables and methods, mechanisms are encapsulated to provide autonomy and flexible behavior, to allow new knowledge acquisition, and to promote communications with users. To provide autonomy a message manager which receives requests from other objects was developed. The message manager puts messages in a queue and dispatches them according to its knowledge and the analysis of environment conditions. Using programming in logic resources, facilities are introduced to get behavior flexibility through behavioral rules in backward chaining. Knowledge is acquired through facts, procedures, and behavioral rules asserted/retracted in the object's knowledge-base. To provide assistance and report on their activities, the objects exhibit the status of their behavioral rules firing, and lists of granted requests as well as the ones kept in its message queue. To explore the proposed model properties, one intelligent assistant prototype to support the activities of the system development process was implemented. For its implementation, the Smalltalk/V language with programming in logic resources integrated by Prolog/V was used. The experience acquired in using this model, indicated the feasibility of the inclusion of additional characteristics to the OOP model, and the clearness of its implementation using multiparadigm resources. Therefore, this model is a viable alternative to the construction of intelligent environments.
77

Técnicas diagramáticas para desenvolvimento de software orientado a objetos / Diagramming techniques for object-oriented software development

Yamaguti, Marcelo Hideki January 1993 (has links)
Este trabalho aborda a efetiva utilização de técnicas diagramáticas para o desenvolvimento de software orientado a objetos durante as fases de análise e projeto de sistemas. Durante o desenvolvimento de software normalmente as especificações resultantes das fases de análise e projeto possuem uma forma gráfica. A utilização de diagramas no desenvolvimento de software busca facilitar a criação de especificações de um sistema e ao mesmo tempo torná-las mais compreensíveis. A grande maioria das técnicas diagramáticas que existem atualmente são utilizadas para o apoio ao desenvolvimento de software segundo metodologias fundamentadas no paradigma tradicional de decomposição funcional. Diversas técnicas diagramáticas foram criadas ou adaptadas a fim de suportar os conceitos deste paradigma, acompanhando a própria evolução do mesmo. Neste contexto, são apresentadas as características básicas de técnicas diagramáticas tradicionais que apoiam a este paradigma. A partir da introdução dos conceitos de orientação a objetos no desenvolvimento de software, surge a necessidade de criação de novas técnicas diagramáticas ou adaptação de técnicas diagramáticas tradicionais para o suporte adequado ao desenvolvimento de sistemas sob este paradigma. Neste contexto, são abordados os conceitos envolvidos na orientação a objetos e apresentados os aspectos diferenciais no desenvolvimento de software decorrentes da utilização deste paradigma em contraposição aos paradigmas tradicionais. São também apresentadas as tarefas específicas realizadas durante o desenvolvimento de software, nas fases de análise e projeto, que estão inseridas no ciclo de vida de um software orientado a objetos. É proposto um conjunto de notações diagramáticas inter-relacionadas adequado ao apoio de um esquema de etapas básicas para o desenvolvimento de software orientado a objetos, bem como as metodologias já existentes. Durante a descrição destas notações diagramáticas, são apresentadas as suas características individuais, adaptações realizadas para o suporte a orientação a objetos, suas aplicações específicas no desenvolvimento de sistemas e o inter-relacionamento existente. Finalmente, são definidas as características de recursos e facilidades específicas para o apoio às notações propostas. Dentro dos recursos sugeridos inclui-se a definição da implementação de um editor diagramático que é descrito através das notações sugeridas neste trabalho. / This work tackles the effective use of diagramming techniques for object-oriented software development during analysis and design phases. During software development the specifications produced by analysis and design usually take a graphical form. The use of diagrams in software development occurs because designers and analysts like to express themselves that way to turn the specifications more understandable. Most of diagramming techniques in use nowadays support software development following methodologies based on the conventional functional decomposition paradigm. Various diagramming techniques were created or adapted in order to support the concepts of this paradigm, following its own evolution. With the introduction of object-oriented concepts new diagramming techniques were created or adapted from conventional methodologies. This work introduces the concepts of object orientation, as well as, the changes originated from the use of this paradigm in software development. Specific steps related to the analysis and design stages in the object-oriented software life cycle are also presented. A set of interrelated diagramming techniques for supporting object-oriented software development is presented. A set of interrelated diagramming techniques for supporting object-oriented software development is presented. The description of these diagramming techniques includes new features, discussion of adaptations for object-oriented techniques, specific applications and uses, and their integration. Finally, the features of specific resources and facilities for supporting the proposed notations are defined. The description of the implementation of a diagrammatic editor, using the notations presented in this work, is included.
78

An approach for embedded software generation based in declarative alloy models / Uma abordagem para geração de software embarcado baseada em modelos declarativos alloy

Specht, Emilena January 2008 (has links)
Este trabalho propõe uma nova abordagem para o desenvolvimento de sistemas embarcados, através da combinação da abstração e propriedades de verificação de modelos da linguagem declarativa Alloy com a ampla aceitação de Java na indústria. A abordagem surge no contexto de que a automação de software no domínio embarcado tornou-se extremamente necessária, uma vez que atualmente a maior parte do tempo de desenvolvimento é gasta no projeto de software de produtos tão restritos em termos de recursos. As ferramentas de automação de software embarcado devem atender a demanda por produtividade e manutenibilidade, mas respeitar restrições naturais deste tipo de sistema, tais como espaço de memória, potência e desempenho. As ferramentas de automação de projeto lidam com produtividade e manutenibilidade ao permitir especificações de alto nível, tarefa difícil de atender no domínio embarcado devido ao comportamento misto de muitas aplicações embarcadas. Abordagens que promovem meios para verificação formal também são atrativas, embora geralmente sejam difíceis de usar, e por este motivo não são de grande auxílio na tarefa de reduzir o tempo de chegada ao mercado do produto. Através do uso de Alloy, baseada em lógica de primeira-ordem, é possível obter especificações em altonível e verificação formal de modelos com uma única linguagem. Este trabalho apresenta a poderosa abstração proporcionada pela linguagem Alloy em aplicações embarcadas, assim como regras para obter automaticamente código Java a partir de modelos Alloy. A geração de código Java a partir de modelos Alloy, combinada a uma ferramenta de estimativa, provê exploração de espaço de projeto, atendendo assim as fortes restrições do projeto de software embarcado, o que normalmente não é contemplado pela engenharia de software tradicional. / This work proposes a new approach for embedded software development, by combining the abstraction and model verification properties of the Alloy declarative language with the broad acceptance in industry of Java. The approach comes into play since software automation in the embedded domain has become a major need, as currently most of the development time is spent designing software for such hardconstrained resources products. Design automation tools for embedded systems must meet the demand for productivity and maintainability, but constraints such as memory, power and performance must still be considered. Design automation tools deal with productivity and maintainability by allowing high-level specifications, which is hard to accomplish on the embedded domain due to the mixed behavior nature of many embedded applications. Approaches that provide means for formal verification are also attractive, but their usage is usually not straightforward, and for this reason they are not that helpful in dealing with time-tomarket constraints. By using Alloy, based in first-order logic, it is possible to obtain high-level specifications and formal model verification with a single language. This work shows the powerful abstraction provided by the Alloy language for embedded applications, as well as rules for obtaining automatically Java code from Alloy models. The Java source code generation from Alloy models, combined with an estimation tool, provides design space exploration to match tight embedded software design constraints, what is usually not taken into account by standard software engineering techniques.
79

Sistemas de informação de escritórios : um modelo para especificações temporais / Office information systems: a model for temporal specifications

Edelweiss, Nina January 1994 (has links)
Sistemas de Informação de Escritórios são tipos particulares de sistemas de informação. São sistemas sócio-técnicos, muito complexos, com grande influência humana. O tempo tem grande importância no tratamento das informações, tanto na representação de informações temporais explícitas como em restrições de ordem temporal e em características que são alteradas com a evolução da aplicação. Neste trabalho é apresentado um modelo de dados para ser utilizado como método de especificação de requisitos de sistemas de informação de escritórios. 0 desenvolvimento de especificações é uma tarefa bastante complexa, devendo possibilitar a representação de todas as características da aplicação, tanto as estáticas como as comportamentais. A especificação de uma aplicação geralmente é muito extensa, sendo dispendido um tempo considerável em sua elaboração. Um aspecto importante no desenvolvimento de especificações é a verificação da corretude destas, devido a complexidade que apresentam. Uma maneira de gerar especificações mais corretas e em menor espaço de tempo é através da reutilização de especificações anteriormente construídas e já validadas através de implementações. Neste trabalho optou-se por utilizar um modelo de dados orientado a objetos para especificar os sistemas de informação de escritórios. A utilização do paradigma de orientação a objetos na modelagem permite a definição de uma biblioteca de classes de objetos, classes estas identificadas em diversas especificações realizadas em um determinado domínio de aplicação. As classes constantes desta biblioteca podem ser reutilizadas de maneira bastante eficiente em especificações posteriores. A representação das características dinâmicas de uma aplicação, tais como a evolução dos objetos dentro do escritório, requer a possibilidade de representação de propriedades temporais. O modelo de dados utilizado na especificação deve permitir a representação de aspectos temporais tanto para definição de dados definidos em um domínio temporal como para representar a evolução dos valores assumidos pelos objetos durante sua existência. A possibilidade de representação dos aspectos temporais é um dos principais pontos desenvolvidos na elaboração do modelo de dados apresentado neste trabalho. O modelo apresentado denomina-se TF-ORM (Temporal Fuctionality in Objects with Roles Model), sendo uma extensão do modelo F-ORM (Functionality in Objects with Roles Model) [DEA 91a,b,c]. Foram incorporadas a este modelo os necessários aspectos temporais e foram ampliadas características básicas para captar melhor as particularidades do domínio de sistemas de informação de escritórios, principalmente no que à concerne representação de alguma parcela de trabalho humano. O modelo resultante, TF-ORM, um modelo de dados orientado a objetos, temporal, que utiliza o conceito de papéis para representar os diferentes comportamentos de um objeto. A possibilidade de recuperação de informações de um banco de dados que implemente o modelo de dados proposto foi também considerada. Neste trabalho é apresentada uma linguagem de recuperação de informações (linguagem de consulta) para o modelo de dados TF-ORM. Especial atenção é dada as consultas temporais. Como no modelo proposto são armazenados tanto o tempo de transação como o de validade, a linguagem de recuperação pode ser utilizada para recuperar informações referentes ao estado atual do banco de dados (informações atualmente válidas), a respeito de estados passados e futuros (informações válidas no passado e que serão válidas em estados futuros, de acordo com o atual conhecimento dos dados) e referentes a histórias passadas do banco de dados (informações que se acreditava como válidas em algum momento do passado). É apresentado em estudo de caso completo com o objetivo de validar o modelo de dados proposto e sua eficiência na especificação deste tipo de sistema de informação. O trabalho apresenta ainda a descrição de um ambiente de apoio a especificações que faz use de uma biblioteca de classes. Através deste ambiente, a especificação de uma aplicação é construída gradualmente, estando disponíveis opções de listagem das partes já definidas e de informações da biblioteca de classes para serem reutilizadas. As especificações geradas através deste ambiente apresentam pouca possibilidade de erro, uma vez que são efetuados vários procedimentos de verificação das informações fornecidas. / Office Information Systems constitute special kinds of information systems - very complex socio-technical systems, with large human influence. Time is very important in the information representation, not only for explicit temporal information but also for restrictions on temporal ordering of activities to be executed and to record the temporal evolution of property values. In this work a data model to be used as a requirement specification method for office infoimations systems is presented. Specification development is a complex task. All the possible characteristics of an application, static and behavioral, shall be represented. An applications' specification is usually not a trivial task, and a big amount of time is used to develop it. Specifications are usually very complex and the possibility of verifying the correctness is an important aspect to be considered. The reuse of specifications is a way to obtain a better rate of correctness spending less time, using parts of specifications that were already validated through previous implementations. An object-oriented data model is used in this work to specify office information systems. The use of the object-oriented paradigm allows the definition of a class library containing classes identified in several specifications constructed in a specific application domain. The reuse of classes of such a library in new specifications gives efficiency to the process. To represent the dynamic characteristics of an application, such as the documents evolution within the office, it is necessary to be able to represent temporal properties. The data model used in the specification shall allow the representation of these temporal aspects not only to model data defined in a temporal domain but also to represent the objects values evolution during an objects existence. The representaion of temporal aspects is one of the main issues developed in the data model defined in this work. The data model is called TF-ORM (Temporal Fuctionality in Objects with Roles Model), and is an extention to the F-ORM (Functionality in Objects with Roles Model) model [DEA 91 a,b,c]. To this model the necessary temporal aspects were added and the basic characteristics were enlarged to better capture the particular aspects of the office habilitation systems domain, specially concerning the representation of some parts of human work. The resulting model. TF-ORM, is an object-oriented temporal data model and uses the concept of roles to represent an objects different behaviors. The possibility of retrieving information from a database specified through this data model is also considered and a query language for the TF-ORM data model is presented. Special attention is given to the retrieval of temporal information. The TFORM data model stores both the transaction and the valid time associated to dynamic properties and allows the retrieving of information fettering the databases' actual state (actually valid information), information refering the databases' past and future states (valid information in the past and information that will be valid in the future according to the actual data knowledge) and information about the databases' past history (information that was believed to be true in some moment in the past). A complete case study is presented to validate the TF-ORM data model and its efficiency as a specification method for office information systems. An environment to support specifications using TF-ORM is described. This environment uses a class library. The use of this environment allows stepwise construction of a specification, with the access to listings of the already defined parts and to the information of the class library to be reused. The contructed specifications present a small rate of errors, due to several verification procedures embedded in the environment.
80

An approach for embedded software generation based in declarative alloy models / Uma abordagem para geração de software embarcado baseada em modelos declarativos alloy

Specht, Emilena January 2008 (has links)
Este trabalho propõe uma nova abordagem para o desenvolvimento de sistemas embarcados, através da combinação da abstração e propriedades de verificação de modelos da linguagem declarativa Alloy com a ampla aceitação de Java na indústria. A abordagem surge no contexto de que a automação de software no domínio embarcado tornou-se extremamente necessária, uma vez que atualmente a maior parte do tempo de desenvolvimento é gasta no projeto de software de produtos tão restritos em termos de recursos. As ferramentas de automação de software embarcado devem atender a demanda por produtividade e manutenibilidade, mas respeitar restrições naturais deste tipo de sistema, tais como espaço de memória, potência e desempenho. As ferramentas de automação de projeto lidam com produtividade e manutenibilidade ao permitir especificações de alto nível, tarefa difícil de atender no domínio embarcado devido ao comportamento misto de muitas aplicações embarcadas. Abordagens que promovem meios para verificação formal também são atrativas, embora geralmente sejam difíceis de usar, e por este motivo não são de grande auxílio na tarefa de reduzir o tempo de chegada ao mercado do produto. Através do uso de Alloy, baseada em lógica de primeira-ordem, é possível obter especificações em altonível e verificação formal de modelos com uma única linguagem. Este trabalho apresenta a poderosa abstração proporcionada pela linguagem Alloy em aplicações embarcadas, assim como regras para obter automaticamente código Java a partir de modelos Alloy. A geração de código Java a partir de modelos Alloy, combinada a uma ferramenta de estimativa, provê exploração de espaço de projeto, atendendo assim as fortes restrições do projeto de software embarcado, o que normalmente não é contemplado pela engenharia de software tradicional. / This work proposes a new approach for embedded software development, by combining the abstraction and model verification properties of the Alloy declarative language with the broad acceptance in industry of Java. The approach comes into play since software automation in the embedded domain has become a major need, as currently most of the development time is spent designing software for such hardconstrained resources products. Design automation tools for embedded systems must meet the demand for productivity and maintainability, but constraints such as memory, power and performance must still be considered. Design automation tools deal with productivity and maintainability by allowing high-level specifications, which is hard to accomplish on the embedded domain due to the mixed behavior nature of many embedded applications. Approaches that provide means for formal verification are also attractive, but their usage is usually not straightforward, and for this reason they are not that helpful in dealing with time-tomarket constraints. By using Alloy, based in first-order logic, it is possible to obtain high-level specifications and formal model verification with a single language. This work shows the powerful abstraction provided by the Alloy language for embedded applications, as well as rules for obtaining automatically Java code from Alloy models. The Java source code generation from Alloy models, combined with an estimation tool, provides design space exploration to match tight embedded software design constraints, what is usually not taken into account by standard software engineering techniques.

Page generated in 0.4657 seconds