Spelling suggestions: "subject:"componentbased 5oftware devevelopment"" "subject:"componentbased 5oftware agentdevelopment""
1 |
Component-based Application Generator : A Designing Methodology for Application ConstructionWang, Chen-Yi 05 July 2004 (has links)
Component-based software is finally taking off in a big way and component-based application generators have been championed because they can be used to shorten a system¡¦s development cycle and therefore lower its development costs. Component-based application generators are standardardized building blocks that can be used to assemble, rather that develop, information systems (IS). This paper presents a component-based application generator in the restaurant food ordering setting and a requirement modeling methodology for IS construction based on the generator presented. A prototype was assembled using the generator and methodology presented to illustrate the concepts and application. With this approach, system developers or end users can more easily build, modify and maintain their applications.
|
2 |
A component-based approach to modelling software product families with explicit variation pointsDi Cola, Simone January 2017 (has links)
In software product line engineering, the construction of an architecture for a product family is still an outstanding engineering challenge. In current practice, a framework is used for configuring individual products by combining solution space artefacts into products with specified features according to a feature model. No architectures are created. In contrast, an architecture for a product family would define the architectures for all the products in the family, allowing engineers to reason at a higher level of abstraction. In this thesis, we present a component model that can be used to define architectures for product families, by incorporating explicit variation points.
|
3 |
A software component model that is both control-driven and data-drivenSafie, Lily Suryani Binti January 2012 (has links)
A software component model is the cornerstone of any Component-based Software Development (CBSD) methodology. Such a model defines the modelling elements for constructing software systems. In software system modelling, it is necessary to capture the three elements of a system's behaviour: (i) control (ii) computation and (iii) data. Within a system, computations are performed according to the flow of control or the flow of data, depending on whether computations are control-driven or data-driven. Computations are function evaluations, assignments, etc., which transform data when invoked by control or data flow. Therefore a component model should be able to model control flow, data flow as well as computations. Current component models all model computations, but beside computations tend to model either control flow only or data flow only, but not both. In this thesis, we present a new component model which can model both control flow and data flow. It contains modelling elements that capture control flow and data flow explicitly. Furthermore, the modelling of control flow is separate from that of data flow; this enables the modelling of both control-driven and data-driven computations. The feasibility of the model is shown by means of an implementation of the model, in the form of a prototype tool. The usefulness of the model is then demonstrated for a specific domain, the embedded systems domain, as well as a generic domain. For the embedded systems domain, unlike current models, our model can be used to construct systems that are both control-driven and data-driven. In a generic domain, our model can be used to construct domain models, by constructing control flows and data flows which together define a domain model.
|
4 |
Managing Extra-Functional Properties in Component-Based Development of Embedded Systems / Gestion des propriétés extra-fonctionnelles dans le développement basé "composant" de systèmes embarquésSentilles, Séverine 11 June 2012 (has links)
L’accroissement continu de la complexité des systèmes embarqués pose un problème majeur pour leur développement lequel doit aussi prendre en compte les exigences extra-fonctionnelles et les contraintes du domaine telles que la limitation et le partage des ressources, la distribution, et les contraintes temporelles et de fiabilité. De ce fait, les systèmes embarqués requièrent de nouvelles solutions pouvant efficacement et de manière prévisible répondre à l’ensemble de ces besoins. L’ingénierie logicielle basée composants est un paradigme qui a déjà démontré des aptitudes pour appréhender la complexité logicielle. Cependant, pour supporter de manière efficace les propriétés extra-fonctionnelles, un modèle de composants doit posséder des mécanismes spécifiques. L’objectif de cette thèse est de construire un tel support. Pour ce faire, nous avons analysé de manière systématique des modèles de composants existants à ce jour et identifié des challenges relatifs à la réalisation d’une approche basée composants dédiée au développement des systèmes embarqués. S’appuyant sur ces challenges, nous avons avancé l’état de l’art en développant ProCom, un nouveau modèle de composants qui répond aux attentes des systèmes embarqués au travers de sa sémantique d’exécution et de sa structuration en niveaux. Centré autour de ProCom, nous avons aussi développé PRIDE, son environnement de développement intégré. PRIDE couvre le procédé de développement des premières phases de spécification jusqu’à la synthèse et le déploiement et fournit des moyens d’intégrer différents outils d’analyse et de vérification. La contribution principale de cette thèse réside dans la modélisation et la réalisation d’un support pour la gestion des propriétés extra-fonctionnelles pour les systèmes embarqués construits à base de composants logiciels. Ce support facilite la spécification, le management et l’intégration de propriétés multi-valuées tenant compte du contexte dans lequel elles ont été établies. Les propriétés peuvent être attachées aux éléments architecturaux des modèles de composants et leurs valeurs peuvent être comparées et raffinées durant le développement. En particulier, le fait d’avoir des valeurs multiples avec leur contexte d’évaluation permet de comparer des valeurs provenant de différentes sources. Les concepts proposés ont été illustrés au travers d’exemples représentatifs de systèmes. / The continuously increasing complexity of embedded systems is a major issue for their development, which, in addition, must also consider specific extra-functional requirements and constraints, such as limited and shared resources, distribution, timing, and dependability. Thus, embedded systems call for development solutions that can efficiently and predictably cope with these issues. Component-based software engineering is a proven paradigm to handle complexity. Yet, for efficiently managing extra-functional properties, a component model needs to have dedicated mechanisms that provide a suitable support for their management. The objective of this thesis is to build this support. We have performed a systematic analysis of existing component models and identified challenges of applying a component-based approach to embedded system development. Based on these challenges we have advanced the current state-of-the-art by developing a new component model, called ProCom, that accommodates the specifics of embedded systems through its well-defined execution semantics and layered structure. Centered around ProCom, we have also developed PRIDE, the ProCom Integrated Development Environment. PRIDE supports the development from early specification to synthesis and deployment, providing the means to aggregate various analysis and verification tools. The main contribution of the thesis is in the design and implementation of an extra-functional property management framework that enables to seamlessly specify, manage and integrate multi-valued context-aware extra-functional properties of component-based embedded systems. Properties can be attached to architectural elements of component models and their values can be compared and refined during the development process. In particular, having multiple context-aware values allows values from different sources to be compared. The proposed concepts have been demonstrated on several representative example systems.
|
5 |
Aspect Analyzer: Ett verktyg för automatiserad exekveringstidsanalys av komponenter och aspekter / Aspect Analyzer: A Tool for Automated WCET Analysis of Aspects and ComponentsUhlin, Pernilla January 2002 (has links)
<p>The increasing complexity in the development of a configurable real-time system has emerged new principles of software techniques, such as aspect-oriented software development and component-based software development. These techniques allow encapsulation of the system's crosscutting concerns and increase the modularity of the software. The properties of a component that influences the systems performance or semantics are specified separately in entities called aspects, while basic functionality of the property still remains in the component. </p><p>When building a real-time system, different sets of configurations of aspects and components can be combined, resulting in different configurations of the system. The temporal behavior of the system changes and a way to ensure the predictability of the system is needed. </p><p>This thesis presents a tool for aspect-level worst-case execution time analysis, which gives a priori information about the temporal behavior of the system, before the process of composing aspects with components.</p>
|
6 |
Verifikation av verktyget aspect analyzer / Aspect analyzer tool verificationBodin, Joakim January 2003 (has links)
<p>Rising complexity in the development of real-time systems has made it crucial to have reusable components and a more flexible way of configuring these components into a coherent system. Aspect-oriented system development (AOSD) is a technique that allows one to put a system’s crosscutting concerns into"modules"that are called aspects. Applying AOSD in real-time and embedded system development one can expect reductions in the complexity of the system design and development. </p><p>A problem with AOSD in its current form is that it does not support predictability in the time domain. Hence, in order to use AOSD in real-time system development, we need to provide ways of analyzing temporal behavior of aspects, components and resulting system (made from weaving aspects and components). Aspect analyzer is a tool that computes the worst-case execution time (WCET) for a set of components and aspects, thus, enabling support for predictability in the time domain of aspect-oriented real-time software. </p><p>A limitation of the aspect analyzer, until now, were that no verification had been made whether the aspect analyzer would produce WCET values that were close to the measured or computed (with another WCET analysis technique) WCET of an aspect-oriented real-time system. Therefore, in this thesis we perform a verification of the correctness of the aspect analyzer using a number of different methods for WCET analysis. These investigations of the correctness of the output from the aspect analyzer gave confidence to the automated WCET analysis. In addition, performing this verification led to the identification of the steps necessary to compute the WCETs of a piece of program, when using a third party tool, which gives the ability to write accurate input files for the aspect analyzer.</p>
|
7 |
Adaptive QoS Management in Dynamically Reconfigurable Real-Time Databases / Adaptive QoS Management in Dynamically Reconfigurable Real-Time DatabasesNilsson, Daniel, Norin, Henrik January 2005 (has links)
<p>During the last years the need for real-time database services has increased due to the growing number of data-intensive applications needing to enforce real-time constraints. The COMponent-based Embedded real-Time database (COMET) is a real-time database developed to meet these demands. COMET is developed using the AspeCtual COmponent-based Real-time system Development (ACCORD) design method, and consists of a number of components and aspects, which can be composed into a number of different configurations depending on system demands, e.g., Quality of Service (QoS) management can be used in unpredictable environments. </p><p>In embedded systems with requirementson high up-time it may not be possible to temporarily shut down the system for reconfiguration. Instead it is desirable to enable dynamic reconfiguration of the system, exchanging components during run-time. This in turn sets demands on the feedback control of the system to adjust to these new conditions, since a new time variant system has been created. </p><p>This thesis project implements improvements in COMET to create a more stable database suitable for further development. A mechanism for dynamic reconfiguration of COMET is implemented, thus, enabling components and aspects to be swapped during run-time. Adaptive feedback control algorithms are also implemented in order to better adjust to workload variations and database reconfiguration.</p>
|
8 |
Towards Aspectual Component-Based Real-Time System DevelopmentTešanović, Aleksandra January 2003 (has links)
<p>Increasing complexity of real-time systems and demands for enabling their configurability and tailorability are strong motivations for applying new software engineering principles such as aspect-oriented and component-based software development. The integration of these two techniques into real-time systems development would enable: (i) efficient system configuration from the components in the component library based on the system requirements, (ii) easy tailoring of components and/or a system for a specific application by changing the behavior (code) of the component by aspect weaving, and (iii) enhanced flexibility of the real-time and embedded software through the notion of system configurability and component tailorability.</p><p>In this thesis we focus on applying aspect-oriented and component-based software development to real-time system development. We propose a novel concept of aspectual component-based real-time system development (ACCORD). ACCORD introduces the following into real-time system development: (i) a design method that assumes the decomposition of the real-time system into a set of components and a set of aspects, (ii) a real-time component model denoted RTCOM that supports aspect weaving while enforcing information hiding, (iii) a method and a tool for performing worst-case execution time analysis of different configurations of aspects and components, and (iv) a new approach to modelling of real-time policies as aspects.</p><p>We present a case study of the development of a configurable real-time database system, called COMET, using ACCORD principles. In the COMET example we show that applying ACCORD does have an impact on the real-time system development in providing efficient configuration of the real-time system. Thus, it could be a way for improved reusability and flexibility of real-time software, and modularization of crosscutting concerns.</p><p>In connection with development of ACCORD, we identify criteria that a design method for component-based real-time systems needs to address. The criteria include a well-defined component model for real-time systems, aspect separation, support for system configuration, and analysis of the composed real-time system. Using the identified set of criteria we provide an evaluation of ACCORD. In comparison with other approaches, ACCORD provides a distinct classification of crosscutting concerns in the real-time domain into different types of aspects, and provides a real-time component model that supports weaving of aspects into the code of a component, as well as a tool for temporal analysis of the weaved system.</p> / Report code: LiU-TEK-LIC-2003:23.
|
9 |
Language Support For Testing CORBA Based ApplicationsVardhan, K Ananda 11 1900 (has links)
Component Based Development has emerged as economical, reusable, scalable way of developing enterprise as well as embedded software applications. Testing distributed component based systems is difficult when third party components are being used in the development. Many testing methodologies that have been proposed for testing object oriented programs in the literature are being imported into component domain directly or by tuning them. But testing components involves much manual work due to the lack of information of the component. Middleware architectures like, DCOM(Distributed COM), Jini and CORBA(Common Object Request Broker Architecture) are being used in developing the distributed component applications in different vertical domains.
In this thesis, a language- Distributed Object Testing Language(DOTL) for specifying the testing process and generation of distributed testing environment for CORBA based applications has been proposed. The language captures required semantics for specifying dummy servers, clients, controlling the testing process, generation of test cases, activating and deactivating objects. Many existing testing techniques can be specified using the semantics provided by the language. Faults occurring in distributed object systems, in addition to the functional errors, can be identifiable using the tool. The language provides abstract types object, argument to specify variables in the testing environment, and operations dealing with these variables to conducts necessary tests.
The DOTL has been implemented on MICO(Mico Is CORBA) orb on Linux OS, with mapping of DOTL to CORBA C++.
|
10 |
Cluster analysis of object-oriented programs : a thesis presented in partial fulfilment of the requirements for the degree of Master of Science in Computer Science at Massey University, Palmerston North, New ZealandYakovlev, Vyacheslav January 2009 (has links)
In this thesis we present a novel approach to the analysis of dependency graphs of object-oriented programs, and we describe a tool that has been implemented for this purpose. A graph-theoretical clustering algorithm is used in order to compute the modular structure of programs. This can be used to assist software engineers to redraw component boundaries in software in order to improve the level of reuse and maintainability. The analysis of the dependency graph of an object-oriented program is useful for assessing the quality of software design. The dependency graph can be extracted from a program using various different methods, including source code, byte code, and dynamic (behavioral) analysis. The nodes in the dependency graph are classes, members, packages and other artifacts, while the edges represent uses and extends relationships between those artifacts. Once the dependency graph has been extracted, it can be analysed in order to quantify certain characteristics of the respective program. Examples include the detection of circular dependencies and measurements of the responsibility or independence of units based on their relationships. Tools like JDepend1 implementing these principles have become very popular in recent years. Our work includes grouping types in dependency graphs using di erent clustering methods: Grouping into namespaces; Grouping into clusters using graph clustering algorithms; Grouping into clusters using rules. The detected mismatches are candidates for refactoring. We have developed a tool for processing dependency graphs clustering and producing results where users can outline possible design violations.
|
Page generated in 0.1081 seconds