Spelling suggestions: "subject:"5oftware composition"" "subject:"1software composition""
11 |
AdaptiveRME e aspectCompose: um middleware adaptativo e um processo de composição orientado a aspecto para o desenvolvimento de software móvel e ubíquo / AdaptiveRME and aspectCompose: A middleware adaptative and a guided process of composition the aspects for the development of software móvel and ubiquitousRocha, Lincoln Souza January 2007 (has links)
ROCHA, Lincoln Souza. AdaptiveRME e aspectCompose: um middleware adaptativo e um processo de composição orientado a aspecto para o desenvolvimento de software móvel e ubíquo. 2007. 102 f. Dissertação (Mestrado em ciência da computação)- Universidade Federal do Ceará, Fortaleza-CE, 2007. / Submitted by Elineudson Ribeiro (elineudsonr@gmail.com) on 2016-07-11T18:16:05Z
No. of bitstreams: 1
2007_dis_lsrocha.pdf: 2405680 bytes, checksum: 7063a81265f0d1a3757c5dff48a28581 (MD5) / Approved for entry into archive by Rocilda Sales (rocilda@ufc.br) on 2016-07-18T16:10:13Z (GMT) No. of bitstreams: 1
2007_dis_lsrocha.pdf: 2405680 bytes, checksum: 7063a81265f0d1a3757c5dff48a28581 (MD5) / Made available in DSpace on 2016-07-18T16:10:13Z (GMT). No. of bitstreams: 1
2007_dis_lsrocha.pdf: 2405680 bytes, checksum: 7063a81265f0d1a3757c5dff48a28581 (MD5)
Previous issue date: 2007 / Ubiquitous computing is an extensive computational paradigm, which can provide solutions to regular citizens or can be useful to handle complex medical environment data, for example. This paradigm proposes a new human-computer interaction approach based on the proactivity of computers that makes users’ life easier. However, this approach demands a high level of collaboration and communication among the computational elements that compose the mobile and ubiquitous environments. One of the main challenges is related to the way of conceiving software systems capable of dealing with the high variation of resources and services, along with guaranteeing the interoperability among the diversity of computational elements that compose these environments. Therefore, this work proposes an adaptive middleware for móbile and ubiquitous environments that intends to solve heterogeneity and dynamicity problems. This dissertation also proposes a software composition process to reduce coupling between the proposed middleware and applications. The middleware uses dynamic adaptation and support for context-aware software development mechanisms, and the composition process uses Aspect-Oriented Programming (AOP) techniques. A case study is developed to evaluate the adaptive middleware’s functionalities and demonstrate the composing process. Furthermore, a performance analysis is presented to measure the proposed middleware’s impact in a wireless network. / A computação ubíqua é um paradigma computacional de grande abrangência, com aplicabilidades tanto para o cotidiano de um cidadão comum quanto para o tratamento de informações complexas em ambientes hospitalares. Este paradigma propõe uma nova forma de interação homem-computador baseada na proatividade dos computadores para facilitar a vida dos usuários. Entretanto, tal forma de interação demanda um alto grau de colaboração e comunicação entre os elementos computacionais que compõem os ambientes móveis e ubíquos. Um dos principais desafios está relacionado a maneira de como conceber sistemas de software capazes de lidar com a alta variação de recursos e serviços, além de garantir a interoperabilidade entre os diversos elementos computacionais que compõem estes ambientes. Este trabalho propõe, então, um middleware adaptativo para ambientes móveis e ubíquos com o objetivo de solucionar problemas de heterogeneidade e dinamicidade. Para diminuir o acoplamento entre o middleware proposto e as aplicações que o utilizam, esta dissertação também propõe um processo de composição de software. O middleware utiliza mecanismos de adaptação dinâmica e suporte ao desenvolvimento de software sensível ao contexto, e o processo de composição faz uso de técnicas de Programação Orientada a Aspectos (POA). Um estudo de caso é desenvolvido para avaliar a funcionalidade do middleware adaptativo e demonstrar a utilização do processo de composição. Além disso, uma análise de desempenho é apresentada para medir o impacto provocado pelo uso do middleware proposto em um ambiente de rede sem fio.
|
12 |
AdaptiveRME e aspectCompose: um middleware adaptativo e um processo de composiÃÃo orientado a aspecto para o desenvolvimento de software mÃvel e ubÃquo. / AdaptiveRME and aspectCompose: A middleware adaptative and a guided process of composition the aspects for the development of software mÃvel and ubiquitousLincoln Souza Rocha 03 August 2007 (has links)
CoordenaÃÃo de AperfeiÃoamento de Pessoal de NÃvel Superior / A computaÃÃo ubÃqua à um paradigma computacional de grande abrangÃncia, com aplicabilidades tanto para o cotidiano de um cidadÃo comum quanto para o tratamento de informaÃÃes complexas em ambientes hospitalares. Este paradigma propÃe uma nova forma de interaÃÃo homem-computador baseada na proatividade dos computadores para facilitar a vida dos usuÃrios. Entretanto, tal forma de interaÃÃo demanda um alto grau de colaboraÃÃo e comunicaÃÃo entre os elementos computacionais que compÃem os ambientes mÃveis e ubÃquos. Um dos principais desafios està relacionado a maneira de como conceber sistemas de software capazes de lidar com a alta variaÃÃo de recursos e serviÃos, alÃm de garantir a interoperabilidade entre os diversos elementos computacionais que compÃem estes ambientes. Este trabalho propÃe, entÃo, um middleware adaptativo para ambientes mÃveis e ubÃquos com o objetivo de solucionar problemas de heterogeneidade e dinamicidade. Para diminuir o acoplamento entre o middleware proposto e as aplicaÃÃes que o utilizam, esta dissertaÃÃo tambÃm propÃe um processo de composiÃÃo de software. O middleware utiliza mecanismos de adaptaÃÃo dinÃmica e suporte ao desenvolvimento de software sensÃvel ao contexto, e o processo de composiÃÃo faz uso de tÃcnicas de ProgramaÃÃo Orientada a Aspectos (POA). Um estudo de caso à desenvolvido para avaliar a funcionalidade do middleware adaptativo e demonstrar a utilizaÃÃo do processo de composiÃÃo. AlÃm disso, uma anÃlise de desempenho à apresentada para medir o impacto provocado pelo uso do middleware proposto em um ambiente de rede sem fio. / Ubiquitous computing is an extensive computational paradigm, which can provide solutions to regular citizens or can be useful to handle complex medical environment data, for example. This paradigm proposes a new human-computer interaction approach based on the proactivity of computers that makes usersâ life easier. However, this approach demands a high level of collaboration and communication among the computational elements that compose the mobile and ubiquitous environments. One of the main challenges is related to the way of conceiving software systems capable of dealing with the high variation of resources and services, along with guaranteeing the interoperability among the diversity of computational elements that compose these environments. Therefore, this work proposes an adaptive middleware for mÃbile and ubiquitous environments that intends to solve heterogeneity and dynamicity problems. This dissertation also proposes a software composition process to reduce coupling between the proposed middleware and applications. The middleware uses dynamic adaptation and support for context-aware software development mechanisms, and the composition process uses Aspect-Oriented Programming (AOP) techniques. A case study is developed to evaluate the adaptive middlewareâs functionalities and demonstrate the composing process. Furthermore, a performance analysis is presented to measure the proposed middlewareâs impact in a wireless network.
|
13 |
Designing Round-Trip Systems by Change Propagation and Model PartitioningSeifert, Mirko 28 June 2011 (has links)
Software development processes incorporate a variety of different artifacts (e.g., source code, models, and documentation). For multiple reasons the data that is contained in these artifacts does expose some degree of redundancy. Ensuring global consistency across artifacts during all stages in the development of software systems is required, because inconsistent artifacts can yield to failures. Ensuring consistency can be either achieved by reducing the amount of redundancy or by synchronizing the information that is shared across multiple artifacts. The discipline of software engineering that addresses these problems is called Round-Trip Engineering (RTE).
In this thesis we present a conceptual framework for the design RTE systems. This framework delivers precise definitions for essential terms in the context of RTE and a process that can be used to address new RTE applications. The main idea of the framework is to partition models into parts that require synchronization - skeletons - and parts that do not - clothings. Once such a partitioning is obtained, the relations between the elements of the skeletons determine whether a deterministic RTE system can be built. If not, manual decisions may be required by developers. Based on this conceptual framework, two concrete approaches to RTE are presented.
The first one - Backpropagation-based RTE - employs change translation, traceability and synchronization fitness functions to allow for synchronization of artifacts that are connected by non-injective transformations. The second approach - Role-based Tool Integration - provides means to avoid redundancy. To do so, a novel tool design method that relies on role modeling is presented. Tool integration is then performed by the creation of role bindings between role models.
In addition to the two concrete approaches to RTE, which form the main contributions of the thesis, we investigate the creation of bridges between technical spaces. We consider these bridges as an essential prerequisite for performing logical synchronization between artifacts. Also, the feasibility of semantic web technologies is a subject of the thesis, because the specification of synchronization rules was identified as a blocking factor during our problem analysis.
The thesis is complemented by an evaluation of all presented RTE approaches in different scenarios. Based on this evaluation, the strengths and weaknesses of the approaches are identified. Also, the practical feasibility of our approaches is confirmed w.r.t. the presented RTE applications.
|
14 |
Component-Based Model-Driven Software DevelopmentJohannes, Jendrik 07 January 2011 (has links) (PDF)
Model-driven software development (MDSD) and component-based software development are both paradigms for reducing complexity and for increasing abstraction and reuse in software development. In this thesis, we aim at combining the advantages of each by introducing methods from component-based development into MDSD. In MDSD, all artefacts that describe a software system are regarded as models of the system and are treated as the central development artefacts. To obtain a system implementation from such models, they are transformed and integrated until implementation code can be generated from them. Models in MDSD can have very different forms: they can be documents, diagrams, or textual specifications defined in different modelling languages. Integrating these models of different formats and abstraction in a consistent way is a central challenge in MDSD.
We propose to tackle this challenge by explicitly separating the tasks of defining model components and composing model components, which is also known as distinguishing programming-in-the-small and programming-in-the-large. That is, we promote a separation of models into models for modelling-in-the-small (models that are components) and models for modelling-in-the-large (models that describe compositions of model components). To perform such component-based modelling, we introduce two architectural styles for developing systems with component-based MDSD (CB-MDSD).
For CB-MDSD, we require a universal composition technique that can handle models defined in arbitrary modelling languages. A technique that can handle arbitrary textual languages is universal invasive software composition for code fragment composition. We extend this technique to universal invasive software composition for graph fragments (U-ISC/Graph) which can handle arbitrary models, including graphical and textual ones, as components. Such components are called graph fragments, because we treat each model as a typed graph and support reuse of partial models.
To put the composition technique into practice, we developed the tool Reuseware that implements U-ISC/Graph. The tool is based on the Eclipse Modelling Framework and can therefore be integrated into existing MDSD development environments based on the framework.
To evaluate the applicability of CB-MDSD, we realised for each of our two architectural styles a model-driven architecture with Reuseware. The first style, which we name ModelSoC, is based on the component-based development paradigm of multi-dimensional separation of concerns. The architecture we realised with that style shows how a system that involves multiple modelling languages can be developed with CB-MDSD. The second style, which we name ModelHiC, is based on hierarchical composition. With this style, we developed abstraction and reuse support for a large modelling language for telecommunication networks that implements the Common Information Model industry standard.
|
15 |
Component-Based Model-Driven Software DevelopmentJohannes, Jendrik 15 December 2010 (has links)
Model-driven software development (MDSD) and component-based software development are both paradigms for reducing complexity and for increasing abstraction and reuse in software development. In this thesis, we aim at combining the advantages of each by introducing methods from component-based development into MDSD. In MDSD, all artefacts that describe a software system are regarded as models of the system and are treated as the central development artefacts. To obtain a system implementation from such models, they are transformed and integrated until implementation code can be generated from them. Models in MDSD can have very different forms: they can be documents, diagrams, or textual specifications defined in different modelling languages. Integrating these models of different formats and abstraction in a consistent way is a central challenge in MDSD.
We propose to tackle this challenge by explicitly separating the tasks of defining model components and composing model components, which is also known as distinguishing programming-in-the-small and programming-in-the-large. That is, we promote a separation of models into models for modelling-in-the-small (models that are components) and models for modelling-in-the-large (models that describe compositions of model components). To perform such component-based modelling, we introduce two architectural styles for developing systems with component-based MDSD (CB-MDSD).
For CB-MDSD, we require a universal composition technique that can handle models defined in arbitrary modelling languages. A technique that can handle arbitrary textual languages is universal invasive software composition for code fragment composition. We extend this technique to universal invasive software composition for graph fragments (U-ISC/Graph) which can handle arbitrary models, including graphical and textual ones, as components. Such components are called graph fragments, because we treat each model as a typed graph and support reuse of partial models.
To put the composition technique into practice, we developed the tool Reuseware that implements U-ISC/Graph. The tool is based on the Eclipse Modelling Framework and can therefore be integrated into existing MDSD development environments based on the framework.
To evaluate the applicability of CB-MDSD, we realised for each of our two architectural styles a model-driven architecture with Reuseware. The first style, which we name ModelSoC, is based on the component-based development paradigm of multi-dimensional separation of concerns. The architecture we realised with that style shows how a system that involves multiple modelling languages can be developed with CB-MDSD. The second style, which we name ModelHiC, is based on hierarchical composition. With this style, we developed abstraction and reuse support for a large modelling language for telecommunication networks that implements the Common Information Model industry standard.
|
16 |
Well-Formed and Scalable Invasive Software Composition / Wohlgeformte und Skalierbare Invasive SoftwarekompositionKarol, Sven 26 June 2015 (has links) (PDF)
Software components provide essential means to structure and organize software effectively. However, frequently, required component abstractions are not available in a programming language or system, or are not adequately combinable with each other. Invasive software composition (ISC) is a general approach to software composition that unifies component-like abstractions such as templates, aspects and macros. ISC is based on fragment composition, and composes programs and other software artifacts at the level of syntax trees. Therefore, a unifying fragment component model is related to the context-free grammar of a language to identify extension and variation points in syntax trees as well as valid component types. By doing so, fragment components can be composed by transformations at respective extension and variation points so that always valid composition results regarding the underlying context-free grammar are yielded. However, given a language’s context-free grammar, the composition result may still be incorrect.
Context-sensitive constraints such as type constraints may be violated so that the program cannot be compiled and/or interpreted correctly. While a compiler can detect such errors after composition, it is difficult to relate them back to the original transformation step in the composition system, especially in the case of complex compositions with several hundreds of such steps. To tackle this problem, this thesis proposes well-formed ISC—an extension to ISC that uses reference attribute grammars (RAGs) to specify fragment component models and fragment contracts to guard compositions with context-sensitive constraints. Additionally, well-formed ISC provides composition strategies as a means to configure composition algorithms and handle interferences between composition steps.
Developing ISC systems for complex languages such as programming languages is a complex undertaking. Composition-system developers need to supply or develop adequate language and parser specifications that can be processed by an ISC composition engine. Moreover, the specifications may need to be extended with rules for the intended composition abstractions.
Current approaches to ISC require complete grammars to be able to compose fragments in the respective languages. Hence, the specifications need to be developed exhaustively before any component model can be supplied. To tackle this problem, this thesis introduces scalable ISC—a variant of ISC that uses island component models as a means to define component models for partially specified languages while still the whole language is supported. Additionally, a scalable workflow for agile composition-system development is proposed which supports a development of ISC systems in small increments using modular extensions.
All theoretical concepts introduced in this thesis are implemented in the Skeletons and Application Templates framework SkAT. It supports “classic”, well-formed and scalable ISC by leveraging RAGs as its main specification and implementation language. Moreover, several composition systems based on SkAT are discussed, e.g., a well-formed composition system for Java and a C preprocessor-like macro language. In turn, those composition systems are used as composers in several example applications such as a library of parallel algorithmic skeletons.
|
17 |
Well-Formed and Scalable Invasive Software CompositionKarol, Sven 18 May 2015 (has links)
Software components provide essential means to structure and organize software effectively. However, frequently, required component abstractions are not available in a programming language or system, or are not adequately combinable with each other. Invasive software composition (ISC) is a general approach to software composition that unifies component-like abstractions such as templates, aspects and macros. ISC is based on fragment composition, and composes programs and other software artifacts at the level of syntax trees. Therefore, a unifying fragment component model is related to the context-free grammar of a language to identify extension and variation points in syntax trees as well as valid component types. By doing so, fragment components can be composed by transformations at respective extension and variation points so that always valid composition results regarding the underlying context-free grammar are yielded. However, given a language’s context-free grammar, the composition result may still be incorrect.
Context-sensitive constraints such as type constraints may be violated so that the program cannot be compiled and/or interpreted correctly. While a compiler can detect such errors after composition, it is difficult to relate them back to the original transformation step in the composition system, especially in the case of complex compositions with several hundreds of such steps. To tackle this problem, this thesis proposes well-formed ISC—an extension to ISC that uses reference attribute grammars (RAGs) to specify fragment component models and fragment contracts to guard compositions with context-sensitive constraints. Additionally, well-formed ISC provides composition strategies as a means to configure composition algorithms and handle interferences between composition steps.
Developing ISC systems for complex languages such as programming languages is a complex undertaking. Composition-system developers need to supply or develop adequate language and parser specifications that can be processed by an ISC composition engine. Moreover, the specifications may need to be extended with rules for the intended composition abstractions.
Current approaches to ISC require complete grammars to be able to compose fragments in the respective languages. Hence, the specifications need to be developed exhaustively before any component model can be supplied. To tackle this problem, this thesis introduces scalable ISC—a variant of ISC that uses island component models as a means to define component models for partially specified languages while still the whole language is supported. Additionally, a scalable workflow for agile composition-system development is proposed which supports a development of ISC systems in small increments using modular extensions.
All theoretical concepts introduced in this thesis are implemented in the Skeletons and Application Templates framework SkAT. It supports “classic”, well-formed and scalable ISC by leveraging RAGs as its main specification and implementation language. Moreover, several composition systems based on SkAT are discussed, e.g., a well-formed composition system for Java and a C preprocessor-like macro language. In turn, those composition systems are used as composers in several example applications such as a library of parallel algorithmic skeletons.
|
Page generated in 0.075 seconds