• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 20
  • 3
  • 2
  • 2
  • 2
  • 2
  • Tagged with
  • 41
  • 41
  • 12
  • 11
  • 9
  • 9
  • 6
  • 6
  • 5
  • 5
  • 5
  • 5
  • 5
  • 5
  • 4
  • 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.
31

Proof-of-concept of Model-based testing based on an UML-model of a water-level measurement system

Alshekhly, Zoubida, Gill, Namra January 2020 (has links)
Software testing is a very important phase in software development as it minimize risks ina software system, however, it consumes time and can be very expensive. With automatictest case generation time consumption and cost can be reduced. Model-based testing isa method to test a software system with a model of the systems behaviour. Automatictest case generation is often considered a favorable support in model-based testing. In thiswork, the concept of model-based testing is explored along with testing the embedded partof a water-level measurement system (WLM) to investigate the efficiency of model-basedtesting on a software system. As a result of this, a model-based testing tool, MoMut::UMLis used to generate the test-cases on the UML model of WLM system that is built ina UML modeling environment, Eclipse-Papyrus. However, MoMut::UML implements aspecial type of model-based testing technique, model-based mutation testing; that injectsfaults in the UML model, and generates test-data on the fault-based model. By this, thebehaviour of system-under-test, only the UML model of water-level measurement system,is tested.
32

[en] EUNOMIA (ΕΥΝΟΜIΑ): A REQUIREMENT ENGINEERING BASED COMPLIANCE FRAMEWORK FOR SOFTWARE SYSTEMS / [pt] EUNOMIA: UM FRAMEWORK DE CONFORMIDADE CONTINUA PARA SISTEMAS DE SOFTWARE BASEADO NA ENGENHARIA DE REQUISITOS

PRISCILA ENGIEL 14 December 2018 (has links)
[pt] Leis e regulamentos afetam o desenvolvimento de software, já que freqüentemente exigem mudanças nos requisitos de software para proteger indivíduos e empresas em relação à segurança, privacidade, governança, sustentabilidade e muito mais. Requisitos legais podem ditar novos requisitos ou restringir os existentes. O problema da conformidade de software é como garantir que o software esteja em conformidade com as normas impostas pela legislação. O problema é particularmente desafiador porque combina etapas difíceis: 1) analisar documentos legais, 2) extrair requisitos desses documentos, 3) identificar requisitos conflitantes com aqueles já implementados em software e 4) garantir que o software permaneça compatível mesmo com as alterações. A conformidade é um processo contínuo: as leis, o software e o contexto no qual o sistema de software opera mudam continuamente. Os trabalhos que lidam com o problema de conformidade concentram-se apenas em um ou dois assuntos: analisar documentos legais ou extrair requisitos ou identificar conflitos ou mudanças. Esta tese trata de todos os problemas ao mesmo tempo; a ideia é extrair requisitos do texto legal, compará-los com o requisito de software, resolver os possíveis conflitos que possam surgir, lidando continuamente as mudanças no ambiente, leis e requisitos. Para tanto, este trabalho propõe um framework que é composto por um processo de compliance e monitoramento contínuo das mudanças ambientais. O processo de conformidade suporta a identificação, extração, comparação e resolução de conflitos para ajudar na conformidade do software, produzindo um conjunto conforme de requisitos. O processo de conformidade é baseado na anotação semântica e no modelo de meta. A anotação semântica ajuda a extrair requisitos do arquivo, usando padrões. O modelo de meta é usado para ajudar na comparação entre requisitos e representar requisitos em uma especificação de requisitos formal e consistente. O processo é suportado por ferramentas; sendo algumas reutilizadas (Desiree e NomosT) para avançar cada etapa. Foi necessário adaptar as ferramentas para o contexto do processo de conformidade, criando diretrizes, padrões e heurísticas. O monitoramento contínuo está preocupado com as mudanças que afetam a conformidade do software e tem o mecanismo para garantir que, mesmo com essas mudanças, o software recupere a conformidade. O monitoramento da conformidade é baseado em agentes e requisitos não funcionais. Os agentes são representados usando em i, a idéia é mostrar a colaboração entre os agentes para garantir a conformidade contínua. A especificação de requisitos de como cada agente deve se comportar também foi gerada usando a linguagem Desiree e BPMN. O catálogo de Requisitos Não Funcionais é usado para ajudar a definir as operações para o reconhecimento de software. A validação do framework foi feita em duas partes: primeiro, o processo de compliance e após todo o framework proposto. Para o processo de conformidade, o esforço e a exatidão foram medidos comparando o uso do processo proposto e um método ad-hoc. Para todo o framework, foi usado o exemplo de monitoramento das mudanças no ambiente quando um carro automatizado cruza a fronteira entre Washington e o Canadá. A contribuição deste trabalho é a estrutura da Eunomia, que tem uma perspectiva de processo e modelo de metas, com ênfase no monitoramento que ajuda a lidar com o desafio da conformidade. O framework equipa a equipe de engenharia de requisitos com um método sistemático e suportado por ferramentas que pode ser reutilizado para reduzir o esforço de tempo e melhorar a qualidade da especificação de requisitos. / [en] Laws and regulation affect software development, as they frequently demand changes in software requirements to protect individuals and businesses regarding security, privacy, governance, sustainability and more. Legal requirements can dictate new requirements or constrain existing ones. The problem of software compliance is how to ensure that the software complies with the norms that the legislation imposes. The problem is particularly challenging because it combines difficultsteps: 1)analyze legal documents, 2) extract requirements from those documents, 3) identify conflictingrequirements with those already implemented in software and 4) ensure that software remains compliant even with the changes. Compliance is a continuous process: laws, software and the context within which software system operates changes continuously. The works dealing with the compliance problem focus only on one or two subjects: analyze legal documents or extract requirements or identify conflicts or changes. This thesis deals with all the problems at the same time; the idea is to extract requirements from legal text, compare them with the software requirement, resolve the possible conflicts that may arise, continuously leading with the changes on environment, laws and requirements. For this, this work proposes a framework that is composed of a compliance process and continuous monitoring of environmental changes. The framework deals with different types of laws (security, privacy, transparency, health care) that are represented in explicit norms. The compliance process supports the identification, extraction, comparison and conflict resolution to help software compliance, by producing a compliant set of requirements. The compliance process is based on the semantic annotation and goal model. The semantic annotation helps to extract requirements from thelaw, using patterns. The goal model is used to help the comparison between requirement and to represent requirements in a formal and consistent requirement specification. The process is tool supported; some tools were reused (Desiree and NomosT) to further each step. It was necessary to adapt the tools for the context of the compliance process, creating a guideline, patterns, and heuristics. The continuous monitoring is concerned about the changes that affect the software compliance and has presented using in i, the idea is to showthe collaboration between the agents to ensure the continuous compliance. The requirement specification of how each agent should behave was also generated using Business Process Modeling Notation and Desiree language. The Non Functional Requirements catalogue is used to help to define operalizations for the software awareness. The framework validation was made in two parts: first, the compliance process and after all the framework proposed. For the compliance process, the effort and correctness were measured comparing the use of the proposed process andan ad-hoc method. For the entire framework, the example of monitoring the changes in the environment when an automated car is crossing the border between Washington and Canada was used. The study shows that context has a strong influence on the software requirements, and nonconformity problems may incur penalties. The contribution of this work is the Eunomia framework that has a process and goal model perspective with emphasis on monitoring that helps to deal with the compliance challenge. The framework equips the requirements engineering team with a systematic method. Eunomia framework is a tool-supported and systematic process which can be reused to reduce the time effort and to improve the quality of the requirement specification that helps to create a compliant software requirement specification that is compliant over the time.
33

Building Energy-efficient Edge Systems

Tumkur Ramesh Babu, Naveen January 2020 (has links)
No description available.
34

Timing verification in transaction modeling

Tsikhanovich, Alena 12 1900 (has links)
Les systèmes Matériels/Logiciels deviennent indispensables dans tous les aspects de la vie quotidienne. La présence croissante de ces systèmes dans les différents produits et services incite à trouver des méthodes pour les développer efficacement. Mais une conception efficace de ces systèmes est limitée par plusieurs facteurs, certains d'entre eux sont: la complexité croissante des applications, une augmentation de la densité d'intégration, la nature hétérogène des produits et services, la diminution de temps d’accès au marché. Une modélisation transactionnelle (TLM) est considérée comme un paradigme prometteur permettant de gérer la complexité de conception et fournissant des moyens d’exploration et de validation d'alternatives de conception à des niveaux d’abstraction élevés. Cette recherche propose une méthodologie d’expression de temps dans TLM basée sur une analyse de contraintes temporelles. Nous proposons d'utiliser une combinaison de deux paradigmes de développement pour accélérer la conception: le TLM d'une part et une méthodologie d’expression de temps entre différentes transactions d’autre part. Cette synergie nous permet de combiner dans un seul environnement des méthodes de simulation performantes et des méthodes analytiques formelles. Nous avons proposé un nouvel algorithme de vérification temporelle basé sur la procédure de linéarisation des contraintes de type min/max et une technique d'optimisation afin d'améliorer l'efficacité de l'algorithme. Nous avons complété la description mathématique de tous les types de contraintes présentées dans la littérature. Nous avons développé des méthodes d'exploration et raffinement de système de communication qui nous a permis d'utiliser les algorithmes de vérification temporelle à différents niveaux TLM. Comme il existe plusieurs définitions du TLM, dans le cadre de notre recherche, nous avons défini une méthodologie de spécification et simulation pour des systèmes Matériel/Logiciel basée sur le paradigme de TLM. Dans cette méthodologie plusieurs concepts de modélisation peuvent être considérés séparément. Basée sur l'utilisation des technologies modernes de génie logiciel telles que XML, XSLT, XSD, la programmation orientée objet et plusieurs autres fournies par l’environnement .Net, la méthodologie proposée présente une approche qui rend possible une réutilisation des modèles intermédiaires afin de faire face à la contrainte de temps d’accès au marché. Elle fournit une approche générale dans la modélisation du système qui sépare les différents aspects de conception tels que des modèles de calculs utilisés pour décrire le système à des niveaux d’abstraction multiples. En conséquence, dans le modèle du système nous pouvons clairement identifier la fonctionnalité du système sans les détails reliés aux plateformes de développement et ceci mènera à améliorer la "portabilité" du modèle d'application. / Hardware/Software (Hw/Sw) systems are likely to become essential in all aspects of everyday life. The increasing penetration of Hw/Sw systems in products and services creates a necessity of their efficient development. However, the productive design of these systems is limited by several factors, some of them being the increasing complexity of applications, the increasing degree of integration, the heterogeneous nature of products and services as well as the shrinking of the time-to-market delay. Transaction Level Modeling (TLM) paradigm is considered as one of the most promising simulation paradigms to break down the design complexity by allowing the exploration and validation of design alternatives at high levels of abstraction. This research proposes a timing expression methodology in TLM based on temporal constraints analysis. We propose to use a combination of two paradigms to accelerate the design process: TLM on one hand and a methodology to express timing between different transactions on the other hand. Using a timing specification model and underlining timing constraints verification algorithms can decrease the time needed for verification by simulation. Combining in one framework the simulation and analytical design exploration methods can improve the analytical power of design verification and validation. We have proposed a new timing verification algorithm based on the linearization procedure and an optimization technique to improve its efficiency. We have completed the mathematical representation of all constraint types discussed in the literature creating in this way a unified timing specification methodology that can be used in the expression of a wider class of applications than previously presented ones. We have developed the methods for communication structure exploration and refinement that permitted us to apply the timing verification algorithms in system exploration at different TLM levels. As there are many definitions of TLM and many development environments proposing TLM in their design cycle with several pro and contra, in the context of our research we define a hardware/software (Hw/Sw) specification and simulation methodology which supports TLM in such a way that several modeling concepts can be seen separately. Relying on the use of modern software engineering technologies such as XML, XSLT, XSD, object oriented programming and others supported by the .Net Framework, an approach that makes an intermediate design model reuse possible in order to cope with time-to-market constraint is presented. The proposed TLM design methodology provides a general approach in system modeling that separates various application modeling aspects from system specification: computational models, used in application modeling, supported by the language used for the functional specification and provided by simulator. As a result, in the system model we can clearly identify system functionality without details related to the development platform thereby leading to a better “portability” of the application model.
35

Timing verification in transaction modeling

Tsikhanovich, Alena 12 1900 (has links)
Les systèmes Matériels/Logiciels deviennent indispensables dans tous les aspects de la vie quotidienne. La présence croissante de ces systèmes dans les différents produits et services incite à trouver des méthodes pour les développer efficacement. Mais une conception efficace de ces systèmes est limitée par plusieurs facteurs, certains d'entre eux sont: la complexité croissante des applications, une augmentation de la densité d'intégration, la nature hétérogène des produits et services, la diminution de temps d’accès au marché. Une modélisation transactionnelle (TLM) est considérée comme un paradigme prometteur permettant de gérer la complexité de conception et fournissant des moyens d’exploration et de validation d'alternatives de conception à des niveaux d’abstraction élevés. Cette recherche propose une méthodologie d’expression de temps dans TLM basée sur une analyse de contraintes temporelles. Nous proposons d'utiliser une combinaison de deux paradigmes de développement pour accélérer la conception: le TLM d'une part et une méthodologie d’expression de temps entre différentes transactions d’autre part. Cette synergie nous permet de combiner dans un seul environnement des méthodes de simulation performantes et des méthodes analytiques formelles. Nous avons proposé un nouvel algorithme de vérification temporelle basé sur la procédure de linéarisation des contraintes de type min/max et une technique d'optimisation afin d'améliorer l'efficacité de l'algorithme. Nous avons complété la description mathématique de tous les types de contraintes présentées dans la littérature. Nous avons développé des méthodes d'exploration et raffinement de système de communication qui nous a permis d'utiliser les algorithmes de vérification temporelle à différents niveaux TLM. Comme il existe plusieurs définitions du TLM, dans le cadre de notre recherche, nous avons défini une méthodologie de spécification et simulation pour des systèmes Matériel/Logiciel basée sur le paradigme de TLM. Dans cette méthodologie plusieurs concepts de modélisation peuvent être considérés séparément. Basée sur l'utilisation des technologies modernes de génie logiciel telles que XML, XSLT, XSD, la programmation orientée objet et plusieurs autres fournies par l’environnement .Net, la méthodologie proposée présente une approche qui rend possible une réutilisation des modèles intermédiaires afin de faire face à la contrainte de temps d’accès au marché. Elle fournit une approche générale dans la modélisation du système qui sépare les différents aspects de conception tels que des modèles de calculs utilisés pour décrire le système à des niveaux d’abstraction multiples. En conséquence, dans le modèle du système nous pouvons clairement identifier la fonctionnalité du système sans les détails reliés aux plateformes de développement et ceci mènera à améliorer la "portabilité" du modèle d'application. / Hardware/Software (Hw/Sw) systems are likely to become essential in all aspects of everyday life. The increasing penetration of Hw/Sw systems in products and services creates a necessity of their efficient development. However, the productive design of these systems is limited by several factors, some of them being the increasing complexity of applications, the increasing degree of integration, the heterogeneous nature of products and services as well as the shrinking of the time-to-market delay. Transaction Level Modeling (TLM) paradigm is considered as one of the most promising simulation paradigms to break down the design complexity by allowing the exploration and validation of design alternatives at high levels of abstraction. This research proposes a timing expression methodology in TLM based on temporal constraints analysis. We propose to use a combination of two paradigms to accelerate the design process: TLM on one hand and a methodology to express timing between different transactions on the other hand. Using a timing specification model and underlining timing constraints verification algorithms can decrease the time needed for verification by simulation. Combining in one framework the simulation and analytical design exploration methods can improve the analytical power of design verification and validation. We have proposed a new timing verification algorithm based on the linearization procedure and an optimization technique to improve its efficiency. We have completed the mathematical representation of all constraint types discussed in the literature creating in this way a unified timing specification methodology that can be used in the expression of a wider class of applications than previously presented ones. We have developed the methods for communication structure exploration and refinement that permitted us to apply the timing verification algorithms in system exploration at different TLM levels. As there are many definitions of TLM and many development environments proposing TLM in their design cycle with several pro and contra, in the context of our research we define a hardware/software (Hw/Sw) specification and simulation methodology which supports TLM in such a way that several modeling concepts can be seen separately. Relying on the use of modern software engineering technologies such as XML, XSLT, XSD, object oriented programming and others supported by the .Net Framework, an approach that makes an intermediate design model reuse possible in order to cope with time-to-market constraint is presented. The proposed TLM design methodology provides a general approach in system modeling that separates various application modeling aspects from system specification: computational models, used in application modeling, supported by the language used for the functional specification and provided by simulator. As a result, in the system model we can clearly identify system functionality without details related to the development platform thereby leading to a better “portability” of the application model.
36

Detecção automática de violações de propriedades de sistemas concorrentes em tempo de execução. / Automatic detection of competing system property violations at run time.

BARBOSA, Ana Emília Victor. 22 August 2018 (has links)
Submitted by Johnny Rodrigues (johnnyrodrigues@ufcg.edu.br) on 2018-08-22T19:52:23Z No. of bitstreams: 1 ANA EMÍLIA VICTOR BARBOSA - DISSERTAÇÃO PPGCC 2007..pdf: 1669761 bytes, checksum: f47054507fe9200c8d1d56d2848ae276 (MD5) / Made available in DSpace on 2018-08-22T19:52:23Z (GMT). No. of bitstreams: 1 ANA EMÍLIA VICTOR BARBOSA - DISSERTAÇÃO PPGCC 2007..pdf: 1669761 bytes, checksum: f47054507fe9200c8d1d56d2848ae276 (MD5) Previous issue date: 2007-04-20 / Capes / Neste trabalho propomos uma técnica que visa detectar violações de propriedades comportamentais automaticamente durante a execução de sistema de software concorrentes. A técnica foi inspirada na metodologia de desenvolvimento Design by Contract (DbC). DbC permite que os desenvolvedores adicionem aos programas asserções para que sejam verificadas em tempo de execução. O uso de asserções para expressar propriedades de programas concorrentes (multithreaded)eparalelos, entretanto,não ésuficiente. Nesses sistemas,muitas das propriedades comportamentais de interesse, como vivacidade e segurança, não podem ser expressas apenas com asserções. Essas propriedades requerem o uso de operadores temporais. Neste trabalho, utilizamos Lógica Linear Temporal (Linear Time Logic - LTL) para expressar o comportamento desejado. Para dar suporte a checagem do comportamento dos programas em tempo de execução, propomos uma técnica baseada em Programação Orientada a Aspectos, que permite que o programa seja continuamente monitorado (o comportamento é checado através do uso de autômatos que permite a deteção de comportamentos inesperados). Associada a cada propriedade comportamental existe um conjunto de pontos de interesse do código-fonte que devem obedece-la. Esses pontos são então monitorados durante a execução do sistema através do uso de aspectos. Entre outros benefícios, a técnica permite que o sistema de software alvo seja instrumentado de maneira não intrusiva, sem alterar o código-fonte — particulamente, nenhum código do software alvo deve ser modificado para execução da monitoração. Para validar este trabalho, desenvolvemos como prova de conceitos um protótipo que implementa a técnica e permite a monitoração de programas Java multi-threaded, chamado DesignMonitor. Essa ferramenta é apresentada e discutida através de um estudo de caso para demonstrar a aplicação da técnica / In this work we propose and develop a technique that allows to detect the violation of behavior properties of concurrent systems. The technique was inspired by the Design by Contract (DbC) programming methodology, which proposes the use of assertions and their evaluation at runtime to check programs behavior. The use of simple assertions to express properties of concurrent and parallel programs, however, is not sufficient. Many of the relevant properties of those systems,s uch as liveness and security, can not be expressed with simple assertions. Thesepropertiesrequiretheuseof temporal operators. In our work, we used Linear Time Logic (LTL) to specify the expected behavior. To support the runtime checking of the program against the expected behavior, we propose a technique, based on Aspect-Oriented Programming, that allows the program to be continuously monitored (behavior is checked against automata that allows the detection of unexpected behaviors). Each property is mapped to a set of points of interest in the target program. Those points are then monitored during the system execution through aspects. Among other benefits, the technique allows the instrumentation of the target software to be performed automatically and in a non-intrusive way — in particular, no code must be changed toturn monitoring on or off. To validate the work, we developed a proof of concept prototype tool that implements the technique and allows the monitoring of multi-threaded Java programs, called DesignMonitor. The tool was used in case study that has allowed the evaluation and the discussion of practical issues related with the technique.
37

Rigorous Design Flow for Programming Manycore Platforms / Flot de conception rigoureux pour la programmation de plates-formes manycore.

Bourgos, Paraskevas 09 April 2013 (has links)
L'objectif du travail présenté dans cette thèse est de répondre à un verrou fondamental, qui est «comment programmer d'une manière rigoureuse et efficace des applications embarquées sur des plateformes multi-coeurs?». Cette problématique pose plusieurs défis: 1) le développement d'une approche rigoureuse basée sur les modèles pour pouvoir garantir la correction; 2) le « mariage » entre modèle physique et modèle de calcul, c'est-à-dire, l'intégration du fonctionnel et non-fonctionnel; 3) l'adaptabilité. Pour s'attaquer à ces défis, nous avons développé un flot de conception rigoureux autour du langage BIP. Ce flot de conception permet l'exploration de l'espace de conception, le traitement à diffèrent niveaux d'abstraction à la fois pour la plate-forme et l'application, la génération du code et le déploiement sur des plates-formes multi-cœurs. La méthode utilisée s'appuie sur des transformations source-vers-source des modèles BIP. Ces transformations sont correctes-par-construction. Nous illustrons ce flot de conception avec la modélisation et le déploiement de plusieurs applications sur deux plates-formes différentes. La première plate-forme considérée est MPARM, une plate-forme virtuelle, basée sur des processeurs ARM et structurée avec des clusters, où chacun contient plusieurs cœurs. Pour cette plate-forme, nous avons considérée les applications suivantes: la factorisation de Cholesky, le décodage MPEG-2, le décodage MJPEG, la Transformée de Fourier Rapide et un algorithme de demosaicing. La seconde plate-forme est P2012/STHORM, une plate-forme multi-cœur, basée sur plusieurs clusters capable d'une gestion énergétique efficace. L'application considérée sur P2012/STHORM est l'algorithme HMAX. Les résultats expérimentaux montrent l'intérêt du flot de conception, notamment l'analyse rapide des performances ainsi que la modélisation au niveau du système, la génération de code et le déploiement. / The advent of many-core platforms is nowadays challenging our capabilities for efficient and predictable design. To meet this challenge, designers need methods and tools for guaranteeing essential properties and determining tradeoffs between performance and efficient resource management. In the process of designing a mixed software/hardware system, functional constraints and also extra-functional specifications should be taken into account as an essential part for the design of embedded systems. The impact of design choices on the overall behavior of the system should also be analyzed. This implies a deep understanding of the interaction between application software and the underlying execution platform. We present a rigorous model-based design flow for building parallel applications running on top of many-core platforms. The flow is based on the BIP - Behavior, Interaction, Priority - component framework and its associated toolbox. The method allows generation of a correct-by-construction mixed hardware/software system model for manycore platforms from an application software and a mapping. It is based on source-to-source correct-by-construction transformations of BIP models. It provides full support for modeling application software and validation of its functional correctness, modeling and performance analysis of system-level models, code generation and deployment on target many-core platforms. Our design flow is illustrated through the modeling and deployment of various software applications on two different hardware platforms; MPARM and platform P2012/STHORM. MPARM is a virtual ARM-based multi-cluster manycore platform, configured by the number of clusters, the number of ARM cores per cluster, and their interconnections. On MPARM, the software applications considered are the Cholesky factorization, the MPEG-2 decoding, the MJPEG decoding, the Fast Fourier Transform and the Demosaicing algorithm. Platform 2012 (P2012/STHORM) is a power efficient manycore computing fabric, which is highly modular and based on multiple clusters capable of aggressive fine-grained power management. As a case study on P2012/STHORM, we used the HMAX algorithm. Experimental results show the merits of the design flow, notably performance analysis as well as correct-by-construction system level modeling, code generation and efficient deployment.
38

Evolvability of Software Systems / Evolvability av programvarusystem

Nasir, Muhammad-Iftikhar, Iqbal, Rizwan January 2008 (has links)
Software evolvability, meeting the future requirements of the customer is one of the emerging challenges which software industry is facing nowadays. Software evolvability is the ability of software system to accommodate future requirements. Studies have shown that software evolvability has large economic benefits but at the same time it’s difficult to assess. Over the time many methods have been derived to assess the software evolvability. Software evolvability depends upon various characteristics of the software system. In this paper we will discuss different characteristics of the software systems on which software evolvability depends. We will also have a look on hierarchy of these characteristics based on their role in the evolvability of software system. Moreover we will find out that what level of qualifications is appropriate for an expert to assess the software evolvability of a software system / Software evolvability plays an important role in the software life cycle. It is ease with which software system can be modified for future requirements. There are different methods for assessing the software evolvability. Mainly, structural measures; expert assessment and combined approach. Structural approach focus on the class level measures i.e. inheritance, modularity, coupling etc. Whereas, the expert assessment approach utilizes experts opinion regarding the software system i.e. how much it is evolvable? Combined approach is a combination of structural measures and expert assessment. According to David E. Peercy software evolvability depends upon six factors i.e. modularity, descriptiveness, consistency, simplicity, expandability and instrumentation. However, David A. Sunday considered five factors which are modularity, descriptiveness, consistency, testability and changeability. Moreover, there are other factors which also influence the software evolvability i.e. skills and qualification of the maintainer, organizational support to evolvability and characteristics of the methods being used for maintenance. The importance of research methodology can't be neglected because it gives us thought about our research before start. It has a positive impact on research. We are able to understand the structure of our work and have rough idea about research procedure. Our research methodology on theme evolvability of software systems is consistent of few steps. These steps are literature review, informal discussions and then development of a questionnaire. Subsequently questionnaire is distributed to the subjects and conclusions are drawn, based on their feedback and analysis of results. We visited different software houses and discussed all the factors related to the survey. Experienced and qualified professionals were selected as subjects. To get the survey feedback we made phone calls, email reminders and personal meetings. Which result in high survey response i.e. 75%. Questionnaire was designed into three parts namely as personal information, characteristics of software evolvability and qualifications required for an expert. Pre-test was also designed to assure that the questions for the survey were properly defined and participants had no difficulty in understanding them. Participants of the survey included software developers, team leads, software testers and research students. Special consideration was given to the ethical issues in design and conduction of survey. We discussed about the response behavior of the participants analysis of the data we collected from survey. Analysis was conducted by different means like standard deviation, mean, medium, mode and variance in survey results. First part of the analysis is about what characteristics of the software which effect software evolvability and their priority. In this part we concluded that there are total eleven characteristics of the software evolvability out of which design and architecture is highly prioritized while technical platform and comments are least prioritized characteristics. In the second part of the analysis we concluded that technical training and quality assurance management experience are most important criteria for an expert while development experience and testing experience is least important In the last part of the thesis we discussed the research work, validity assessment of results and answers to the questions. We used A Lincoln‘s and Cuba’s criterion for validation assessment to support the validity of results. Validity is judged by four aspects credibility, transferability, dependability and conformability.
39

Développement des systèmes logiciels par transformation de modèles : application aux systèmes embarqués et à la robotique / Software systems development by model transformation : application to embedded systems and robotics

Monthe Djiadeu, Valéry Marcial 01 December 2017 (has links)
Avec la construction des robots de plus en plus complexes, la croissance des architectures logicielles robotiques et l’explosion de la diversité toujours plus grande des applications et misions des robots, la conception, le développement et l’intégration des entités logicielles des systèmes robotiques, constituent une problématique majeure de la communauté robotique. En effet, les architectures logicielles robotiques et les plateformes de développement logiciel pour la robotique sont nombreuses, et sont dépendantes du type de robot (robot de service, collaboratif, agricole, médical, etc.) et de son mode d'utilisation (en cage, d’extérieur, en milieu occupé, etc.). L’effort de maintenance de ces plateformes et leur coût de développement sont donc considérables.Les roboticiens se posent donc une question fondamentale : comment réduire les coûts de développement des systèmes logiciels robotiques, tout en augmentant leur qualité et en préservant la spécificité et l’indépendance de chaque système robotique? Cette question induit plusieurs autres : d’une part, comment décrire et encapsuler les diverses fonctions que doit assurer le robot, sous la forme d’un ensemble d’entités logicielles en interaction? Et d’autre part, comment conférer à ces entités logicielles, des propriétés de modularité, portabilité, réutilisabilité, interopérabilité, etc.?A notre avis, l’une des solutions les plus probables et prometteuses à cette question consiste à élever le niveau d’abstraction dans la définition des entités logicielles qui composent les systèmes robotiques. Pour ce faire, nous nous tournons vers l’ingénierie dirigée par les modèles, et plus particulièrement la conception des DSML (Domain Specific Modeling Language).Dans cette thèse, nous réalisons dans un premier temps, une étude comparative des langages de modélisation et de méthodes utilisés dans le développement des systèmes embarqués temps réel en général. L’objectif de ce premier travail étant de voir s’il en existe qui puissent permettre de répondre aux questions susmentionnées des roboticiens. Cette étude, non seulement nous montre que ces approches ne sont pas adaptées à la définition des architectures logicielles robotiques, mais elle aboutit surtout à unFramework, que nous proposons et qui aide à choisir la (les) méthode(s) et/ou le(s) langage(s) de modélisation le(s) plus adapté(s) aux besoins du concepteur. Par la suite, nous proposons un DSML baptisé RsaML (Robotic Software Architecture Modeling Language), pour la définition des architectures logicielles robotiques avec prise en compte de propriétés temps réel. Pour ce faire, un méta-modèle est proposé à partir des concepts que les roboticiens ont l’habitude d’utiliser pour la définition de leurs applications. Il constitue la syntaxe abstraite du langage. Les propriétés temps réel sont identifiées à leur tour et incluses dans les concepts concernés. Des règles sémantiques du domaine de la robotique sont ensuite définies sous forme de contraintes OCL, puis intégrées au méta-modèle, pour permettre que des vérifications de propriétés non fonctionnelles et temps réel soient effectuées sur les modèles construits. Le Framework de modélisation EMF d’Eclipse a été utilisé pour mettre en oeuvre un éditeur qui supporte le langage RsaML.La suite des travaux réalisés dans cette thèse a consisté à définir des transformations de modèles, puis à les utiliser pour implémenter des générateurs. Ces derniers permettent à partir d’un modèle RsaML construit, d’une part, de produire sa documentation et, d’autre part, de produire du code source en langage C. Ces contributions sont validées à travers un cas d’étude décrivant un scénario basé sur le robot Khepera III. / With the construction of increasingly complex robots, the growth of robotic software architectures and the explosion of ever greater diversity of applications and robots missions, the design, development and integration of software entities of robotic systems, constitute a major problem for the robotics community. Indeed, robotic software architectures and software development platforms for robotics are numerous, and are dependent on the type of robot (service robot, collaborative, agricultural, medical, etc.) and its usage mode (In cage, outdoor, environment with obstacles, etc.).The maintenance effort of these platforms and their development cost are therefore considerable.Roboticists are therefore asking themselves a fundamental question: how to reduce the development costs of robotic software systems, while increasing their quality and preserving the specificity and independence of each robotic system? This question induces several others: on the one hand, how to describe and encapsulate the various functions that the robot must provide, in the form of a set of interactive software entities? And on the other hand, how to give these software entities, properties of modularity, portability, reusability, interoperability etc.?In our opinion, one of the most likely and promising solutions to this question, is to raise the level of abstraction in defining the software entities that make up robotic systems. To do this, we turn to model-driven engineering, specifically the design of Domain Specific Modeling Language (DSML).In this thesis, we first realize a comparative study of modeling languages and methods used in the development of embedded real time systems in general. The objective of this first work is to see if there are some that can make it possible to answer the aforementioned questions of the roboticists. This study not only shows that these approaches are not adapted to the definition of robotic software architectures, but mainly results in a framework, which we propose and which helps to choose the method (s) and / or the modeling language (s) best suited to the needs of the designer. Subsequently, we propose a DSML called Robotic Software Architecture Modeling Language (RsaML), for the definition of robotic software architectures with real-time properties. To do this, a meta-model is proposed from the concepts that roboticists are used to in defining their applications. It constitutes the abstract syntax of the language. Real-time properties are identified and included in the relevant concepts. Semantic rules in the field of robotics are then defined as OCL constraints and then integrated into the meta-model, to allow non-functional and realtime property checks to be performed on the constructed models.Eclipse Modeling Framework has been used to implement an editor that supports the RsaML language. The rest of the work done in this thesis involved defining model transformations and then using them to implement generators. These generators make it possible from a RsaML model built, to produce its documentation and source code in C language. These contributions are validated through a case study describing a scenario based on the Khepera III robot.
40

Wertbasierte Portfolio-Optimierung bei Software-Produktlinien / Value-based Portfolio-Optimization of Software Product Lines

Müller, Johannes 25 January 2012 (has links) (PDF)
Das Software Product Line Engineering (SPLE) ist ein ganzheitlicher Ansatz zur Entwicklung und Vermarktung von Software-Produktlinien auf Basis von Software-Systemfamilien. Eine in frühen Phasen des SPLE durchzuführende Aktivität ist das Scoping, bei dem die zu realisierenden Produkte mit den zwischen ihnen bestehenden Wiederverwendungspotentialen identifiziert werden. Bei der Durchführung des Scopings steht der Produkt-Manager vor dem Problem einen Ausgleich zwischen den Bedürfnissen der Kunden und dem Aufwand der Entwicklung zu finden. Durch die bestehenden Wiederverwendungspotentiale bei Software-Systemfamilien wird die Entscheidung zusätzlich erschwert. Aufgrund der bestehenden Komplexität der Entscheidung, wird in Literatur und Praxis eine Unterstützung in Form einer statistisch-mathematischen Optimierung gefordert. Dieser Forderung nimmt sich die vorliegende Arbeit an. In ihr werden mit der Konstruktion eines Modells gewinnbeeinflussender Faktoren, einer Methode zur wertbasierten Portfolio-Optimierung und eines Prototyps zur Unterstützung der wertbasierten Portfolio-Optimierung und der anschließenden Evaluation dieser Artefakte zwei Fragen adressiert. Erstens wird geprüft, ob die Optimierung von Produkt-Portfolios bei Software-Produktlinien mit statistisch-mathematischen Verfahren unterstützt werden kann. Zweitens wird geprüft, ob die statistisch-mathematische Optimierung von Produkt-Portfolios eine akzeptierte Unterstützung von Software-Anbietern sein kann. Die Arbeit ordnet sich mit ihren Fragen in die Forschung zum Produkt-Management bei Software-Produktlinien ein und trägt die vorgenannten Artefakte bei.

Page generated in 0.0854 seconds