• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 156
  • 15
  • 3
  • 3
  • Tagged with
  • 177
  • 177
  • 42
  • 42
  • 36
  • 30
  • 27
  • 24
  • 24
  • 21
  • 18
  • 18
  • 18
  • 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.
141

Compreensão visual de frameworks através da introspeção de exemplos / Visual understanding of frameworks through instrospection of examples

Campo, Marcelo Ricardo January 1997 (has links)
Os frameworks orientado a objetos oferecem um grande potencial para aumentar a produtividade e a qualidade no desenvolvimento de software. Um framework e uma infra-estrutura ou esqueleto de uma família de aplicações pertencentes a um domínio determinado. Basicamente, aplicações especificas são construídas especializando as classes do framework para fornecer a implementação de alguns métodos, enquanto a maior parte da funcionalidade da aplicação e herdada. Esta característica permite a reutilização tanto do código quanto o projeto das aplicações do domínio, o qual representa um beneficio muito significativo a respeito de outras tecnologias de reutilização. Entretanto, começar a utilizar um framework para construir aplicações especificas e complicado para um usuário que não seja o projetista do framework. Compreender um framework é frequentemente muito mais difícil que compreender bibliotecas de componentes que podem ser reutilizados independentemente. Neste caso, e suficiente compreender sua interface externa. No caso dos frameworks, para aproveitar ao Máximo as possibilidades de reutilização que oferece, e necessário compreender o projeto interno de suas classes, como essas classes colaboram entre si, bem como a forma na qual instancias dessas classes colaboram em tempo de execução. Compreender estes aspectos uma tarefa reconhecidamente complexa e demorada, sendo este e um dos fatores mais limitantes da tecnologia para ser de utilidade efetiva na produção de software. Neste trabalho, apresenta-se uma abordagem reflexiva para a construção de ferramentas de apoio a compreensão de frameworks. Esta abordagem e suportada por Luthier, um framework projetado, e implementado em Smalltalk-80, para a construção de ferramentas de analise dinâmica e visualização de programas orientados a objetos. Luthier introduz três contribuições importantes: Utilização de técnicas de reflexão computacional baseadas no conceito de gerenciadores de meta-objetos, o qual suporta a implementação de metaarquiteturas de meta-objetos especializadas para a análise de aplicações. Controle interativo do grau de detalhe das visualizações (zoom semântico) através do suporte explícito de escalas de abstração. As escalas de abstração são controladas por objetos denominados abstratores. Um abstrator permite encapsular em objetos específicos algoritmos de derivação de abstracões, filtragem e seleção de informação, bem como o controle do nível de detalhe mostrado pelas visualizações. Esta separação de funcionalidade permite implementar complexas funcionalidades de análise de programas, sem a necessidade de modificar as classes que implementam visualizações ou a representação da informação. Suporte de uma estratégia de análise orientada pela visualização da arquitetura. Esta abordagem divide o processo de compreensão em duas fases iterativa: 1) compreensão dos principais aspectos estruturais do framework a partir de da recuperação e visualização da arquitetura,; 2) análise detalhada do comportamento de instâncias envolvidas em pontos específicos da arquitetura, os quais são selecionados pelo usuário a partir da visualização arquitetônica. Luthier fornece suporte flexível para construção de ferramentas de visualização dinamicamente adaptáveis para diferentes funcionalidades de análise, através de quatro subframeworks: LuthierMOPs. o qual fornece o suporte adaptável de meta-objetos para captura de informação das aplicações analisadas; LuthierBooks que fornece suporte genérico de gerenciamento de hiperdocumentos para a representação da informação capturada e gerenciamento de livros persistentes de projeto; LuthierAbstractors, que prove suporte genérico para a derivação de abstrações da informação coletada e escalas de abstração dinamicamente variáveis; e LuthierViews, extensão do framework MVC para a construção de visualizações da informação coletada, com capacidades de manipulação direta e zooming utilizando visualizações alternativas, as quais podem ser dinamicamente selecionadas pelo usuário. Com o suporte fornecido por Luthier, uma ferramenta, especialmente projetada para apoiar a compreensão de frameworks a partir da analise de exemplos, foi desenvolvida. Esta ferramenta fornece um conjunto de visualizações estruturais, com capacidade de animação de fluxo de controle do framework, bem como visualizações alternativas de subsistemas e padrões de projeto. Estas abstrações são reconhecidas através da análise da informação coletada dos exemplos analisados. Através das visualizações providas, o usuário pode explorar um dado framework através de mecanismos de navegação entre diferentes representações visuais, bem como filtragem e consulta acerca de informação relevante a ser visualizada. Este mecanismos são integrados com mecanismos de zoom semântico que habilitam a visualização da informação em diferentes níveis de abstração. Através da representação de hiperdocumento, a ferramenta suporta a construção manual, bem como a geração automática em alguns casos, de livros persistentes de documentação, com capacidade de edição, de importação de diagramas produzidos pelas visualizações, e de navegação sobre diferentes livros e o código fonte do framework. Esta características habilita a geração de documentação durante o processo de compreensão, facilidade não disponível, habitualmente, nas ferramentas de compreensão desenvolvidas até hoje. A capacidade de Luthier para a construção de ferramentas foi testada com a construção de outras ferramentas, como por exemplo, depuradores visuais e de coleta de métricas. A viabilidade e eficácia da abordagem foi testada através de experimentos, os quais mostraram que grupos utilizando a ferramenta de apoio produziram aplicações com maior nível de reutilização do framework que grupos de usuários não utilizando a ferramenta. / Object-oriented frameworks are a powerful reuse technique for building applications in a given domain. A framework works as a template or skeleton for building applications, being composed of a set of classes abstracting the general characteristics of an application domain. Building a specific application requires the specialization of some classes that provide the implementation of methods that will complete the necessary behaviour, while the global control structure is given by the framework. Frameworks offer a great potential to increase the productivity and quality in software development. However, starting to use a framework to build a specific application is complicated for any user other than a framework designer. Understanding a framework is frequently much harder than understanding libraries of components that can be reused independently. To adequately reuse isolated classes of a class library, it is sufficient to understand their external interface. In case of a framework, in contrast, to take full advantage of the services provided, it is necessary to understand the way its classes collaborate, as well as the internal design of some of them. These classes code the complex behaviour of a network of instances dynamically created. Therefore, it is often needed not only to understand how the classes are organized in static inheritance hierarchies, but also how instances collaborate at runtime. This work presents a reflective approach for the construction of tools for framework comprehension. This approach is supported by Luthier, a framework designed, and implemented in Smalltalk-80, which provides a flexible support for building tools for the dynamic analysis and visualization of object-oriented programs. Luthier introduces three important contributions: The use of computational reflection techniques, based on the concept of meta-object managers, which support the implementation of specialized meta-object-based metaarchitectures for the dynamic analysis of applications Support for building visualizations with different levels of abstraction under interactive control of the user (semantic zoom) through the explicit support of abstraction scales. Abstraction scales are controlled by objects called abstractors, which allow the encapsulation, in specific objects, of algorithms for abstraction derivation, filtering and information selection, as well as the interactive control of the detail level to be shown by visualizations. This separation of concerns enables the implementation of complex program analysis functionalities without the need of modifying classes implementing visualizations or information representation. Support for an architecture-driven analysis strategy. This approach divides the understanding process in two iterative phases: I) comprehension of the global structural and behavioural aspects of the framework from the recovery and visualization of its architecture.; 2) detailed analysis of specific instances involved in particular points of the architecture, selected by the user form the architectural view. Luthier provides a flexible support for the construction of visualization tools dynamically adaptable to different analysis functionalities through four sub-frameworks: LuthierMOPs, which provides an adaptable support of meta-objects for information gathering from the analyzed applications; LuthierBooks, which provides generic support for hyperdocument management to represent captured information and management of persistent design books: LuthierAbstractors, which provides generic support for the derivation of abstractions and dynamically variable abstraction-scales: and LuthierViews. extension of the MVC framework for the construction visualizations of the captured information, with capabilities of direct manipulation and zooming using alternative visualizations, dynamically selected by the user. With the support provided by Luthier a tool, specially designed to support framework comprehension from analysis of examples, was developed. This tool provides a set of structural visualizations with control-flow animation capabilities, as well as alternative visualizations of subsystems and design patterns, recognized through the analysis of information gathered from examples. Through these visualizations the user can explore a given framework by using mechanisms for navigating among different visual representations, as well as information filtering and queries about relevant information to be visualized. These functionalities are fully integrated with semantic zoom mechanisms that enable information visualization at different levels of abstraction. With the hyperdocument support, the tool allows for manual construction, as well as automatic generation in some cases, of persistent documentation books. These books offers editing capabilities, importation of diagrams from visualizations, as well as navigation through different books and through the source code of the analyzed framework.. These characteristics allows the support of additional documentation generation during the comprehension process, facility which is not normally available in current understanding tools. The capabilities for tool construction supported by Luthier were tested through the development of different tools, such as, visual debuggers and metrics collectors. The viability of the approach was tested through experiments. These experiments suggest that users using the understanding tool produce applications with a greater re-use level than groups of users not using it.
142

Semântica e uma ferramenta para o método SADT

Ribeiro, Adagenor Lobato January 1991 (has links)
A definição de requisitos tem sido reconhecida como uma das mais críticas e difíceis tarefas em engenharia de software. A necessidade de ferramentas de suporte é essencial. Nos dias de hoje, entre os vários métodos existentes para apoiar a fase de requisitos, destaca-se o SADT (Structured Analysis and Design Techniques) devido a sua capacidade de representar modelos. Este trabalho estabelece semântica para o método SADT, baseando-se na inter-relação do método aos sistemas de fluxo de dados (redes, grafos e máquinas de fluxo). Faz-se, inicialmente, uma abordagem operacional para a semântica de seus construtos básicos e, posteriormente discute-se a possibilidade de executar especificações através de simulação. Uma ferramenta para suportar o método SADT foi projetada e construída e é apresentada. Ela foi definida a partir de um modelo, denotado por uma classe, através de uma sintaxe abstrata. Essa ferramenta foi implementada no ambiente PROSOFT, fornecendo para o usuário mais de quarenta operações de apoio a construção/manipulação de diagramas. O trabalho também apresenta a especificação formal em VDM - Vienna Development Method, da semântica dos principais construtos do método SADT, bem como uma proposição de execução de especificações através de simulação são ainda indicadas direções nas quais o trabalho pode ser estendido. / The definition of systems requirements has been known as one of the most critical and dificult tasks as far as the software engineering is concerned. The need support is essential. Nowadays, among the various methods devised to support the phase of requirements, a special emphasis is given to the SADT method (Structured Analysis and Design Techniques), due to its capability of representing models. This work set semantic for the SADT method, based primarily upon the interrelation of the method to the systems of dataflow (nets, graphs and dataflow machines). It deals with an approach of operational semantics to its basic constructs, and it will, afterwards, discuss the possibility of carry out specifications by simulation. A tool was built to support the SADT method, and it was defined by a model denoted by a class, through an abstract syntax. This tool was implemented in the PROSOFT environment, providing for the user, more than forty support operations for the construction /manipulation of diagrams. This work also presents the formal specification of the semantics of the main constructs of the SADT method in VDM - Vienna Development Method; as well as an execution proposal of specifications through simulation. Directions have been indicated concerning the extension of the research.
143

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.
144

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.
145

Semântica e uma ferramenta para o método SADT

Ribeiro, Adagenor Lobato January 1991 (has links)
A definição de requisitos tem sido reconhecida como uma das mais críticas e difíceis tarefas em engenharia de software. A necessidade de ferramentas de suporte é essencial. Nos dias de hoje, entre os vários métodos existentes para apoiar a fase de requisitos, destaca-se o SADT (Structured Analysis and Design Techniques) devido a sua capacidade de representar modelos. Este trabalho estabelece semântica para o método SADT, baseando-se na inter-relação do método aos sistemas de fluxo de dados (redes, grafos e máquinas de fluxo). Faz-se, inicialmente, uma abordagem operacional para a semântica de seus construtos básicos e, posteriormente discute-se a possibilidade de executar especificações através de simulação. Uma ferramenta para suportar o método SADT foi projetada e construída e é apresentada. Ela foi definida a partir de um modelo, denotado por uma classe, através de uma sintaxe abstrata. Essa ferramenta foi implementada no ambiente PROSOFT, fornecendo para o usuário mais de quarenta operações de apoio a construção/manipulação de diagramas. O trabalho também apresenta a especificação formal em VDM - Vienna Development Method, da semântica dos principais construtos do método SADT, bem como uma proposição de execução de especificações através de simulação são ainda indicadas direções nas quais o trabalho pode ser estendido. / The definition of systems requirements has been known as one of the most critical and dificult tasks as far as the software engineering is concerned. The need support is essential. Nowadays, among the various methods devised to support the phase of requirements, a special emphasis is given to the SADT method (Structured Analysis and Design Techniques), due to its capability of representing models. This work set semantic for the SADT method, based primarily upon the interrelation of the method to the systems of dataflow (nets, graphs and dataflow machines). It deals with an approach of operational semantics to its basic constructs, and it will, afterwards, discuss the possibility of carry out specifications by simulation. A tool was built to support the SADT method, and it was defined by a model denoted by a class, through an abstract syntax. This tool was implemented in the PROSOFT environment, providing for the user, more than forty support operations for the construction /manipulation of diagrams. This work also presents the formal specification of the semantics of the main constructs of the SADT method in VDM - Vienna Development Method; as well as an execution proposal of specifications through simulation. Directions have been indicated concerning the extension of the research.
146

Semantics for an algebraic specification language / Semântica para uma Linguagem de Especificação Algébrica

Azevedo Terceiro, Antonio Soares de January 2006 (has links)
Prosoft é um grupo de pesquisa do Instituto de Informática da UFRGS, desenvolvido pelo grupo de pesquisa homônimo e coordenado pelo Professor Daltro José Nunes. O objetivo do projeto é desenvolver um ambiente de desenvolvimento de software completo, o Ambiente Prosoft, que é baseado nos conceitos de Modelos, Cálculo Lambda, Tipos Abstratos de Dados e Orientação a Objetos. Um dos componentes do Ambiente Prosoft é sua linguagem de especificação algébrica: o Prosoft Algébrico. Apesar de ser base e tema de diversos trabalhos no grupo de pesquisa Prosoft, o Prosoft Algébrico não tem sua semântica devidamente definida. Os trabalhos desenvolvidos até agora foram baseados em noções operacionais, e apresentam diferentes interpretações do Prosoft Algébrico. Esta dissertação apresenta uma especificação de semântica denotacional para o Prosoft Algébrico, compreendendo, entre outras características, sua primitiva de comunicação entre tipos de dados, chamada ICS, e sua notação gráfica para representação de instanciação de tipos abstratos de dados. Essa dissertação apresenta também um estudo sobre prototipação semântica usando a linguagem de programação Haskell. O conceito de Literate Programming e a proximidade entre Cálculo Lambda e Haskell foram cruciais no rápido desenvolvimento de uma implementação protótipo do Prosoft Algébrico, baseada na sua semântica especificada. As principais contribuições dessa dissertação incluem: uma interpretação precisa e sem ambiguidades do Prosoft Algébrico, através da especificação da sua semântica; a definição de semântica para a ICS, um conceito único (até o limite do nosso conhecimento) que fornece um mecanismo de passagem de mensagens entre tipos de dados algébricos; uma implementação protótipo do Prosoft Algébrico, que pode realmente ser utilizada para experimentar e testar a definição da linguagem e a especificação da semântica do Prosoft Algébrico; resultados sobre prototipação semântica de especificações tanto de semântica denotacional quanto de semântica operacional usando a linguagem de programação Haskell para desenvolvimento rápido de protótipos de linguagens baseados na sua semântica. Como grande parte do desenvolvimento do Ambiente Prosoft é realizado através de projetos de cooperação internacional e essa dissertação irá influenciar fortemente o seu desenvolvimento futuro, o texto foi escrito em inglês para facilitar a troca de informação entre o grupo Prosoft e seus parceiros estrangeiros. / Prosoft is a research project at Instituto de Informática da UFRGS, developed by the research group with the same name and coordinated by Professor Daltro José Nunes. The project’s goal is to develop a full software development environment, the Prosoft Environment, based on the concepts of Models, Lambda Calculus, Abstract Data Types and Object orientation. One of the components of the Prosoft Environment is its algebraic specification language: Algebraic Prosoft. Although being the basis and theme of several works in the Prosoft research group, Algebraic Prosoft doesn’t have its semantics properly defined. Works done up to now were based on operational notions and presented different interpretations of Algebraic Prosoft. This thesis presents a denotational semantics specification for Algebraic Prosoft, comprising, among other features, its “inter-data type” communication primitive, called ICS, and its graphical notation for representing instantiations of abstract data types. This thesis also presents a study of semantic prototyping using the Haskell programming language. The concept of Literate Programing and the proximity between lambda calculus and Haskell were crucial to the rapid development of a prototype implementation of Algebraic Prosoft, based on its specified semantics. This thesis’ main contributions include: a precise and unambiguous interpretation of Algebraic Prosoft, through a semantics specification; the definition of semantics to the ICS, a unique (to the best of our knowledge) concept that provides a messagepassing mechanism between algebraic data types; a prototype implementation of Algebraic Prosoft, which can actually be used to experiment and test the Algebraic Prosoft language definition and semantics specification; results regarding semantics prototyping of both denotational and operational semantics specifications using the Haskell programming language for rapid development of semantics-based prototypes of languages. Since a large portion of Prosoft Environment’s development is done through international cooperation projects and this thesis will strongly influence its future development, the text was written in English in order to facilitate the information exchange between the Prosoft research group and its foreign partners.
147

Ambiente integrado de modelagem distribuída para sistemas de informação na internet / Integrated environment for distributed modeling of web information systems

Pompermaier, Leandro Bento January 1999 (has links)
O objetivo principal desta dissertação explora alguns aspectos relacionados ao desenvolvimento colaborativo de sistemas de informação na Internet. E apresentado o Editor Diagramático na Internet (EDI), que suporta a especificação colaborativa de aplicações. Este editor utiliza tecnologia e funcionalidade dos hiperdocumentos, oferecendo características como: compartilhamento de informações, colaboração entre vários autores e varias visões dos dados conceituais armazenados. EDI foi implementado utilizando a linguagem de programação Java e projetada de forma genérica para permitir a criação de editores de diferentes notações diagramáticas. Este trabalho propõe a utilização de anotações em documentos de desenvolvimento de sistemas de informação na Internet. Estas anotações auxiliam no desenvolvimento colaborativo de sistemas, tornando o processo mais colaborativo e com um produto resultante de qualidade superior. As anotações estão baseadas em dois tipos de usuários: o usuário proprietário, responsável pela criação do documento, e o usuário colaborador, que inclui anotações nos documentos. Anotações (identificadas por uma especifica cor) podem ser de inclusão, alteração, remoção de conceitos (visões) ou registro de comentários. / The main goal of this work is to explore some issues related to collaborative development of information systems on the Internet. A Diagrammatic Editor on the Internet (EDI) that supports collaborative specification of applications is described. This editor uses hyperdocument technology and funcionalities, offering features such as information sharing, collaboration between several authors, multiple views of the stored conceptual data, among others. EDI was implemented using the Java language, and designed with the purpose of being generic to enable the easy creation of specific editors for different diagrammatic notations. The use of annotations for the joint development of information systems on the Internet is proposed. With these annotations the development process becomes more collaborative and the quality of the final product may increase. Annotations are based on two types of users: the owner, who is an author responsible for the creation of a document, and the collaborator, who makes annotations on those documents. Annotations (identified by one specific colour) can be of inclusion, change and removal of concepts (views), or recording of comments.
148

A reutilização de modelos de requisitos de sistemas por analogia : experimentação e conclusões / Systems requirements reuse by analogy: examination and conclusions

Zirbes, Sergio Felipe January 1995 (has links)
A exemplo de qualquer outra atividade que se destine a produzir um produto, a engenharia de software necessariamente passa por um fase inicial, onde necessário definir o que será produzido. A análise de requisitos é esta fase inicial, e o produto dela resultante é a especificação do sistema a ser construído. As duas atividades básicas durante a analise de requisitos são a eliciação (busca ou descoberta das características do sistema) e a modelagem. Uma especificação completa e consistente é condição indispensável para o adequado desenvolvimento de um sistema. Muitos tem sido, entretanto, os problemas enfrentados pelos analistas na execução desta tarefa. A variedade e complexidade dos requisitos, as limitações humanas e a dificuldade de comunicação entre usuários e analistas são as principais causas destas dificuldades. Ao considerarmos o ciclo de vida de um sistema de informação, verificamos que a atividade principal dos profissionais em computação é a transformação de uma determinada porção do ambiente do usuário, em um conjunto de modelos. Inicialmente, através de um modelo descritivo representamos a realidade. A partir dele derivamos um modelo das necessidades (especificação dos requisitos), transformando-o a seguir num modelo conceitual. Finalizando o ciclo de transformações, derivamos o modelo programado (software), que ira se constituir no sistema automatizado requerido. Apesar da reconhecida importância da analise dos requisitos e da conseqüente representação destes requisitos em modelos, muito pouco se havia inovado nesta área ate o final dos anos 80. Com a evolução do conceito de reutilização de software para reutilização de especificações ou reutilização de modelos de requisitos, finalmente surge não apenas um novo método, mas um novo paradigma: a reutilização sistemática (sempre que possível) de modelos integrantes de especificações de sistemas semelhantes ao que se pretende desenvolver. Muito se tem dito sobre esta nova forma de modelagem e um grande número de pesquisadores tem se dedicado a tornar mais simples e eficientes várias etapas do novo processo. Entretanto, para que a reutilização de modelos assuma seu papel como uma metodologia de use geral e de plena aceitação, resta comprovar se, de fato, ele produz software de melhor quantidade e confiabilidade, de forma mais produtiva. A pesquisa descrita neste trabalho tem por objetivo investigar um dos aspectos envolvido nesta comprovação. A experimentação viabilizou a comparação entre modelos de problemas construídos com reutilização, a partir dos modelos de problemas similares previamente construídos e postos a disposição dos analistas, e os modelos dos mesmos problemas elaborados sem nenhuma reutilização. A comparação entre os dois conjuntos de modelos permitiu concluir, nas condições propostas na pesquisa, serem os modelos construídos com reutilização mais completos e corretos do que os que foram construídos sem reutilização. A apropriação dos tempos gastos pelos analistas durante as diversas etapas da modelagem, permitiu considerações sobre o esforço necessário em cada um dos dois tipos de modelagem. 0 protocolo experimental e a estratégia definida para a pesquisa possibilitaram também que medidas pudessem ser realizadas com duas series de modelos, onde a principal diferença era o grau de similaridade entre os modelos do problema reutilizado e os modelos do problema alvo. A variação da qualidade e completude dos dois conjuntos de modelos, bem como do esforço necessário para produzi-los, evidenciou uma questão fundamental do processo: a reutilização só terá efeitos realmente produtivos se realizada apenas com aplicações integrantes de domínios específicos e bem definidos, compartilhando, em alto grau, dados e procedimentos. De acordo com as diretrizes da pesquisa, o processo de reutilização de modelos de requisitos foi investigado em duas metodologias de desenvolvimento: na metodologia estruturada a modelagem foi realizada com Diagramas de Fluxo de Dados (DFD's) e na metodologia orientada a objeto com Diagramas de Objetos. A pesquisa contou com a participação de 114 alunos/analistas, tendo sido construídos 175 conjuntos de modelos com diagramas de fluxo de dados e 23 modelos com diagramas de objeto. Sobre estas amostras foram realizadas as analises estatísticas pertinentes, buscando-se responder a um considerável número de questões existentes sobre o assunto. Os resultados finais mostram a existência de uma série de benefícios na análise de requisitos com modelagem baseada na reutilização de modelos análogos. Mas, a pesquisa em seu todo mostra, também, as restrições e cuidados necessários para que estes benefícios de fato ocorram. / System Engineering, as well as any other product oriented activity, starts by a clear definition of the product to be obtained. This initial activity is called Requirement Analysis and the resulting product consists of a system specification. The Requirement Analysis is divided in two separated phases: elicitation and modeling. An appropriate system development definition relies in a complete, and consistent system specification phase. However, many problems have been faced by system analysts in the performance of such task, as a result of requirements complexity, and diversity, human limitations, and communication gap between users and developers. If we think of a system life cycle, we'll find out that the main activity performed by software engineers consists in the generation of models corresponding to specific parts of the users environment. This modeling activity starts by a descriptive model of the portion of reality from which the requirement model is derived, resulting in the system conceptual model. The last phase of this evolving modeling activity is the software required for the system implementation. In spite of the importance of requirement analysis and modeling, very little research effort was put in these activities and none significant improvement in available methodologies were presented until the late 80s. Nevertheless, when the concepts applied in software reuse were also applied to system specification and requirements modeling, then a new paradigm was introduced, consisting in the specification of new systems based on systematic reuse of similar available system models. Research effort have been put in this new modeling technique in the aim of make it usable and reliable. However, only after this methodology is proved to produce better and reliable software in a more productive way, it would be world wide accepted by the scientific and technical community. The present work provides a critical analysis about the use of such requirement modeling technique. Experimental modeling techniques based on the reuse of similar existing models are analyzed. Systems models were developed by system analyst with similar skills, with and without reusing previously existing models. The resulting models were compared in terms of correction, consumed time in each modeling phase, effort, etc. An experimental protocol and a special strategy were defined in order to compare and to measure results obtained from the use of two different groups of models. The main difference between the two selected groups were the similarity level between the model available for reuse and the model to be developed. The diversity of resulting models in terms of quality and completeness, as well in the modeling effort, was a corroboration to the hypothesis that reuse effectiveness is related to similarity between domains, data and procedures of pre-existing models and applications being developed. In this work, the reuse of requirements models is investigated in two different methodologies: in the first one, the modeling process is based on the use of Data Flow Diagrams, as in the structured methodology; in the second methodology, based on Object Orientation, Object Diagrams are used for modeling purposes. The research was achieved with the cooperation of 114 students/analysts, resulting in 175 series of Data Flow Diagrams and 23 series of Object Diagrams. Proper statistical analysis were conducted with these samples, in order to clarify questions about requirements reuse. According to the final results, modeling techniques based on the reuse of analogous models provide an improvement in requirement analysis, without disregarding restrictions resulting from differences in domain, data and procedures.
149

SHPECK : um software de modelagem de especiação geoquímica / SHPECK : a geochemical speciation modeling software

Damiani, Leonardo Hax January 2015 (has links)
Um software de modelagem de especiação geoquímica é responsável pelo cálculo da distribuição das espécies dissolvidas entre solutos e complexos aquosos, e também computar os índices de saturação para diferentes minerais. Neste trabalho nós apresentamos SHPECK, um software desenvolvido para modelar sistemas de equilíbrio geoquímico usando condições de balanço de massa baseadas no conceito da lei de fases (GARRELS; CHRIST, 1965). SHPECK gera um sistema de equações de ação de massa acopladas com restrições de equilíbrio e resolve com a utilização do método se Newton-Raphson. Nosso software aceita qualquer combinação de elementos, espécies e reações, permitindo ao usuário criar diferentes ambientes de simulação e, portanto, controlar qualquet aspecto e configuração do modelo. SHPECK contém uma interface de interação com o usuário e também um banco de dados estruturado que controla todo o gerenciamento dos dados termodinâmicos utilizados para a modelagem geoquímica. Aliado a isso, apresentamos também os conceitos básicos necessários para compreenção da modelagem geoquímica seguida por uma revisão de opções de software disponíveis para modelagem geoquímica. Para finalizar, fizemos uma validação do SHPECK através da modelagem de um sistema de reações diagenéticas observadas em um reservatório asiliclástico e realizamos um estudo comparativo dos resultados do SHPECK com outros software disponíveis. Também para validação, realizamos uma avaliação de tempo de acesso ao banco de dados e pode-se notar um aumento de performance considerável através do uso de um banco de dados relacional comparando-se aos approaches existentes. / A geochemical speciation modeling software is responsible for calculating the distribution of dissolved species between solutes and aqueous complexes, and also computes saturation indexes for different minerals. In this work we introduce SHPECK, a software program developed to model geochemical equilibrium systems using the mass-balance conditions based on the phase rule concept (GARRELS; CHRIST, 1965). SHPECK composes a system of mass-action equations coupled with equilibrium constraints and solve using Newton-Raphson method. Our software accepts any general combination of elements, species, and reactions, allowing the user to create different environments, simulations and, therefore, fully control any aspect and configuration of the model. It provides an interactive user interface as well as the support of a builtfrom- the-ground database structure that handles the management of the whole thermodynamic data used for the geochemical modeling. Also, we present the basic concepts for geochemical modeling followed by a computer science based review about the available geochemical modeling software. Finally, we validate SHPECK by modeling the diagenetic reactions observed in asiliciclastic reservoir and by performing a comparative study with other modelling software package. In addition to this, a database comparison was addressed and the results demonstrate a substantial improvement on the performance by the use of the SHPECK’s relational database comparing to the existent approaches.
150

Model driven engineering methodology for design space exploration of embedded systems / Metodologia de engenharia dirigida por modelos para exploração do espaço de projeto de sistemas embarcados / Modellgetriebene entwicklungsmethodik für die entwurfsraumexploration von eingebetteten systeme

Oliveira, Marcio Ferreira da Silva January 2013 (has links)
Heutzutage sind wir von Geräten umgeben, die sowohl Hardware wie auch Software- Komponenten beinhalten. Diese Geräte unterstützen ein breites Spektrum an verschiedenen Domänen, so zum Beispiel Telekommunikation, Luftfahrt, Automobil und andere. Derartige Systeme sind überall aufzufinden und werden als Eingebettete Systeme bezeichnet, da sie zur Informationsverarbeitung in andere Produkte eingebettet werden, wobei die Informationsverarbeitung des eingebetteten Systems jedoch nicht die bezeichnende Funktion des Produkts ist. Die ständig zunehmende Komplexität moderner eingebettete Systeme erfordert die Verwendung von mehreren Komponenten um die Funktionen von einem einzelnen System zu implementieren. Eine solche Steigerung der Funktionalität führt jedoch ebenfalls zu einem Wachstum in der Entwurfs-Komplexität, die korrekt und effizient beherrscht werden muss. Neben hohen Anforderungen bezüglich Leistungsaufnahme, Performanz und Kosten hat auch Time-to-Market-Anforderungen großen Einfluss auf den Entwurf von Eingebetteten Systemen. Design Space Exploration (DSE) beschreibt die systematische Erzeugung und Auswertung von Entwurfs-Alternativen, um die Systemleistung zu optimieren und den gestellten Anforderungen an das System zu genügen. Bei der Entwicklung von Eingebetteten Systemen, speziell beim Platform-Based Design (PBD) führt die zunehmende Anzahl von Design-Entscheidungen auf mehreren Abstraktionsebenen zu einer Explosion der möglichen Kombinationen von Alternativen, was auch für aktuelle DSE Methoden eine Herausforderung darstellt. Jedoch vermag üblicherweise nur eine begrenzte Anzahl von Entwurfs-Alternativen die zusätzlich formulierten nicht-funktionalen Anforderungen zu erfüllen. Darüber hinaus beeinflusst jede Entwurfs- Entscheidung weitere Entscheidungen und damit die resultierenden Systemeigenschaften. Somit existieren Abhängigkeiten zwischen Entwurfs-Entscheidungen und deren Reihenfolge auf dem Weg zur Implementierung des Systems. Zudem gilt es zwischen einer spezifischen Heuristik für eine bestimmte DSE, welche zu verbesserten Optimierungsresultaten führt, sowie globalen Verfahren, welche ihrerseits zur Flexibilität hinsichtlich der Anwendbarkeit bei verschiedenen DSE Szenarien beitragen, abzuwägen. Um die genannten Herausforderungen zu lösen wird eine Modellgetriebene Entwicklung (englisch Model-Driven Engineering, kurz MDE) Methodik für DSE vorgeschlagen. Für diese Methodik wird ein DSE-Domain-Metamodell eingeführt um relevante DSEKonzepte wie Entwurfsraum, Entwurfs-Alternativen, Auswertungs- und Bewertungsverfahren, Einschränkungen und andere abzubilden. Darüber hinaus modelliert das Metamodell verschiedenen DSE-Frage- stellungen, was zur Verbesserung der Flexibilität der vorgeschlagenen Methodik beiträgt. Zur Umsetzung von DSE-Regeln, welche zur Steuerung, Einschränkung und Generierung der Ent- wurfs-Alternativen genutzt werden, finden Modell-zu-Modell-Transformationen Anwendung. Durch die Fokussierung auf die Zuordnung zwischen den Schichten in einem PBDAnsatz wird eine neuartige Entwurfsraumabstraktion eingeführt, um multiple Entwurfsentscheidungen als singuläres DSE Problem zu repräsentieren. Diese auf dem Categorial Graph Product aufbauende Abstraktion entkoppelt den Explorations-Algorithmus vom Entwurfsraum und ist für Umsetzung in automatisierte Werkzeugketten gut geeignet. Basierend auf dieser Abstraktion profitiert die DSE-Methode durch die eingeführte MDEMethodik als solche und ermöglicht nunmehr neue Optimierungsmöglichkeiten sowie die Verbesserung der Integration von DSE in Entwicklungsprozesse und die Spezifikation von DSE-Szenarien. / Atualmente dispositivos contendo hardware e software são encontrados em todos os lugares. Estes dispositivos prestam suporte a uma varieadade de domínios, como telecomunicações, automotivo e outros. Eles são chamados “sistemas embarcados”, pois são sistemas de processamento montados dentro de produtos, cujo sistema de processamento não faz parte da funcionalidade principal do produto. O acréscimo de funções nestes sistemas implica no aumento da complexidade de seu projeto, o qual deve ser adequadamente gerenciado, pois além de requisitos rigorosos em relação à dissipação de potência, desempenho e custos, a pressão sobre o prazo para introdução de um produto no mercado também dificulta seu projeto. Exploração do espaço de projeto (DSE) é a atividade sistemática de gerar e avaliar alternativas de projetos, com o objetivo de otimizar suas propriedades. No desenvolvimento de sistemas embarcados, especialmente em Projeto Baseado em Plataformas (PBD), metodologias de DSE atuais são desafiadas pelo crescimento do número de decisões de projeto, o qual implica na explosão da combinação de alternativas. Porém, somente algumas destas resultam em projetos que atedem os requisitos nãofuncionais. Além disso, as decisões influenciam umas às outras, de forma que a ordem em que estas são tomadas alteram a implementação final do sistema. Outro desafio é o balanço entre flexibilidade da metodologia e seu desempenho, pois métodos globais de otimização são flexíveis, mas apresentam baixo desempenho. Já heurísticas especialmente desenvolvidas para o cenário de DSE em questão apresentam melhor desempenho, porém dificilmente são aplicáveis a diferentes cenários. Com o intuito de superar os desafios é proposta uma metodologia de projeto dirigido por modelos (MDE) adquada para DSE. Um metamodelo do domínio de DSE é definido para representar conceitos como espaço de projeto, métodos de avaliação e restrições. O metamodelo também representa diferentes problemas de DSE aprimorando a flexibilidade da metodologia. Regras de transformações de modelos implementam as regras de DSE, as quais são utilizadas para restringir e guiar a geração de projetos alternativos. Restringindo-se ao mapeamento entre camadas no PBD é proposta uma abstração para representar o espaço de projeto. Ela representa múltiplas decisões de projeto envolvidas no mapeamento como um único problema de DSE. Esta representação é adequada para a implementação em ferramentas automática de DSE e pode beneficiar o processo de DSE com uma abordagem de MDE, aprimorando a especificação de cenários de DSE e sua integração no processo de desenvolvimento. / Nowadays we are surrounded by devices containing hardware and software components. These devices support a wide spectrum of different domains, such as telecommunication, avionics, automobile, and others. They are found anywhere, and so they are called Embedded Systems, as they are information processing systems embedded into enclosing products, where the processing system is not the main functionality of the product. The ever growing complexity in modern embedded systems requires the utilization of more components to implement the functions of a single system. Such an increasing functionality leads to a growth in the design complexity, which must be managed properly, because besides stringent requirements regarding power, performance and cost, also time-to-market hinders the design of embedded systems. Design Space Exploration (DSE) is the systematic generation and evaluation of design alternatives, in order to optimize system properties and fulfill requirements. In embedded system development, specifically in Platform-Based Design (PBD), current DSE methodologies are challenged by the increasing number of design decisions at multiple abstraction levels, which leads to an explosion of combination of alternatives. However, only a reduced number of these alternatives leads to feasible designs, which fulfill non-functional requirements. Moreover, each design decision influences subsequent decisions and system properties, hence there are inter-dependencies between design decisions, so that the order decisions are made matters to the final system implementation. Furthermore, there is a trade-off between heuristics for specific DSE, which improves the optimization results, and global optimizers, which improve the flexibility to be applied in different DSE scenarios. In order to overcome the identified challenges an MDE methodology for DSE is proposed. For this methodology a DSE Domain metamodel is proposed to represent relevant DSE concepts such as design space, design alternatives, evaluation method, constraints and others. Moreover, this metamodel represents different DSE problems, improving the flexibility of the proposed framework. Model transformations are used to implement DSE rules, which are used to constrain, guide, and generate design candidates. Focusing on the mapping between layers in a PBD approach, a novel design space abstraction is provided to represent multiple design decisions involved in the mapping as a single DSE problem. This abstraction is based on Categorical Graph Product, decoupling the exploration algorithm from the design space and being well suited to be implemented in automatic exploration tools. Upon this abstraction, the DSE method can benefit from the MDE methodology, opening new optimization opportunities, and improving the DSE integration into the development process and specification of DSE scenarios.

Page generated in 0.0797 seconds