Spelling suggestions: "subject:"computer software devevelopment."" "subject:"computer software agentdevelopment.""
181 |
Langage de modélisation spécifique au domaine pour les architectures logicielles auto-adaptatives / Domain-specific modeling language for self-adaptive software system architecturesKřikava, Filip 22 November 2013 (has links)
Le calcul autonome vise à concevoir des logiciels qui prennent en compte les variations dans leur environnement d'exécution. Les boucles de rétro-action (FCL) fournissent un mécanisme d'auto-adaptation générique, mais leur intégration dans des systèmes logiciels soulève de nombreux défis. Cette thèse s'attaque au défi d'intégration, c.à.d. la composition de l'architecture de connexion reliant le système logiciel adaptable au moteur d'adaptation. Nous proposons pour cela le langage de modélisation spécifique au domaine FCDL. Il élève le niveau d'abstraction des FCLs, permettant l'analyse automatique et la synthèse du code. Ce langage est capable de composition, de distribution et de réflexivité, permettant la coordination de plusieurs boucles de rétro-action distribuées et utilisant des mécanismes de contrôle variés. Son utilisation est facilitée par l'environnement de modélisation ACTRESS qui permet la modélisation, la vérification et la génération du code. La pertinence de notre approche est illustrée à travers trois scénarios d'adaptation réels construits de bout en bout. Nous considérons ensuite la manipulation de modèles comme moyen d'implanter ACTRESS. Nous proposons un Langage Spécifique au Domaine interne qui utilise Scala pour implanter une famille de DSLs. Il permet la vérification de cohérence et les transformations de modèles. Les DSLs résultant ont des propriétés similaires aux approches existantes, mais bénéficient en plus de la souplesse, de la performance et de l'outillage associés à Scala. Nous concluons avec des pistes de recherche découlant de l'application de l'IDM au domaine du calcul autonome. / The vision of Autonomic Computing and Self-Adaptive Software Systems aims at realizing software that autonomously manage itself in presence of varying environmental conditions. Feedback Control Loops (FCL) provide generic mechanisms for self-adaptation, however, incorporating them into software systems raises many challenges. The first part of this thesis addresses the integration challenge, i.e., forming the architecture connection between the underlying adaptable software and the adaptation engine. We propose a domain-specific modeling language, FCDL, for integrating adaptation mechanisms into software systems through external FCLs. It raises the level of abstraction, making FCLs amenable to automated analysis and implementation code synthesis. The language supports composition, distribution and reflection thereby enabling coordination and composition of multiple distributed FCLs. Its use is facilitated by a modeling environment, ACTRESS, that provides support for modeling, verification and complete code generation. The suitability of our approach is illustrated on three real-world adaptation scenarios. The second part of this thesis focuses on model manipulation as the underlying facility for implementing ACTRESS. We propose an internal Domain-Specific Language (DSL) approach whereby Scala is used to implement a family of DSLs, SIGMA, for model consistency checking and model transformations. The DSLs have similar expressiveness and features to existing approaches, while leveraging Scala versatility, performance and tool support. To conclude this thesis we discuss further work and further research directions for MDE applications to self-adaptive software systems.
|
182 |
Semantic Database Model Language (SDML): grammar specification and parserLane, Richard Vernon. January 1986 (has links)
Call number: LD2668 .T4 1986 L364 / Master of Science / Computing and Information Sciences
|
183 |
Gestion de la variabilité et automatisation des processus de développement logiciel / Variability management and automation of software development processesRouillé, Emmanuelle 01 April 2014 (has links)
De nombreux outils existent afin de faire face à la complexité des logiciels et des projets de développement logiciel. Leur utilisation est cependant à l'origine de tâches manuelles répétitives, sources d'erreurs et coûteuses en temps. L'automatisation de ces tâches permet de gagner en productivité. Mais la difficulté est de déterminer quand une automatisation de tâche manuelle répétitive doit être réutilisée, ainsi que de créer des automatisations réutilisables à travers leurs différents cas d'utilisation. Nous proposons donc une approche outillée pilotant la réutilisation des automatisations de tâches manuelles répétitives par les processus de développement logiciel, où un processus de développement logiciel décrit les étapes à réaliser pour mener à bien un projet de développement logiciel. Cette approche consiste à capitaliser sur un ensemble de processus et à réutiliser des processus de cet ensemble en fonction des exigences des projets, indépendamment du formalisme utilisé pour définir les processus. Des automatisations de tâches manuelles répétitives sont liées aux étapes des processus qu'elles automatisent. Ce lien permet de savoir quelles automatisations utiliser pour un projet donné et quand. Il permet également d'expliciter les différents cas d'utilisation de chaque automatisation. Cette information est utilisée afin de créer des automatisations réutilisables à travers leurs différents cas d'utilisation. L'approche ainsi que l'outillage associé ont été appliqués sur une famille de processus industriels de développement Java ainsi que sur une famille de processus consistant à définir et outiller un langage de modélisation. / Many tools have been developped in order to manage the complexity of the software and of the software development projects. However, using these tools is the source of manual recurrent tasks that are error prone and time consuming. Automating these tasks enables to improve the productivity. But the difficulties are i) to determine when the automation of a manual recurrent task must be used, and ii) to create automations that are reusable across their different use cases. We propose a tool-supported approach that drives the reuse of the automations of the manual recurrent tasks by software processes. A software process defines the sequence of steps to perform in order to realize a software engineering project. This approche consists of capitalizing on a set of software processes and of reusing processes from this set according to projects' requirements and independently of the formalism used to define the processes. The automations of the manual recurrent tasks are bound to the processes' steps they automate. This binding enables to know which automations to reuse for a specific project and when to reuse these automations during the project. This binding also enables to explicit the different use cases of each automation. We use this information to create automations that are reusable across their different use cases. We applied this tool-supported approach on a family of Java development processes coming from the industry as well as on a family of processes consisting of designing and implementing a modeling language.
|
184 |
Decision-making criteria for software requirements selection: an empirical study in ChinaHu, Ganglan, Information Systems, Technology & Management, Australian School of Business, UNSW January 2006 (has links)
This study aims to explore the decision-making criteria for requirements selection in market-driven software development projects in China. Requirements selection decisions are made by reconciling the conflicting stakeholders??? value propositions into a mutually-agreed set through the negotiation and communication process between stakeholders. Firstly, this study identified decision-making criteria according to different stakeholders??? value propositions, and then evaluated the importance of the criteria when making the decisions of requirements selection. Moreover, the study determined the degree to which the stakeholders from business, product, and project perspectives influence the decision-making process. Furthermore, the study explored the communication between major stakeholders in requirements selection process, as a foundation to support and guide the process. A Delphi survey was applied in this study. Opinions from experienced industrial experts were obtained to achieve reliable consensus among them on the criteria and relative importance of the criteria in requirements selection process. The Delphi survey in this study included four phases of data collection by a series of intensive questionnaires interspersed with controlled opinion feedback and follow-up interviews. 132 Experts from 11 companies were recruited by following the rigid procedure to ensure the validity and reliability of the research. The study indicated that criteria from the business perspective had a major influence on decision-making of requirements selection, while project- and product-perspective criteria were relatively lower in priority. However, there were some inconsistencies among the opinions of the recruited experts regarding the importance of the criteria. The inconsistencies may result from a number of different factors, for example; different software development projects; different size, culture, organizational structure or maturity level of the companies; or different working positions of the experts surveyed. In addition, the study found three different types of communication in requirements selection in the companies surveyed. Further, Chinese culture was believed to have effects on the communication process between stakeholders. While informal communication was highlighted in Chinese context, the Chinese culture of strictly hierarchical communication could lead to problems in the communication process. Further research is recommended to gain deeper insight into these issues.
|
185 |
Statistical causal analysis for fault localizationBaah, George Kofi 08 August 2012 (has links)
The ubiquitous nature of software demands that software is released without faults. However, software developers inadvertently introduce faults into software during development. To remove the faults in software, one of the tasks developers perform is debugging. However, debugging is a difficult, tedious, and time-consuming process. Several semi-automated techniques have been developed to reduce the burden on the developer during debugging. These techniques consist of experimental, statistical, and program-structure based techniques. Most of the debugging techniques address the part of the debugging process that relates to finding the location of the fault, which is referred to as fault localization. The current fault-localization techniques have several limitations. Some of the limitations of the techniques include (1) problems with program semantics, (2) the requirement for automated oracles, which in practice are difficult if not impossible to develop, and (3) the lack of theoretical basis for addressing the fault-localization problem.
The thesis of this dissertation is that statistical causal analysis combined with program analysis is a feasible and effective approach to finding the causes of software failures. The overall goal of this research is to significantly extend the state of the art in fault localization. To extend the state-of-the-art, a novel probabilistic model that combines program-analysis information with statistical information in a principled manner is developed. The model known as the probabilistic program dependence graph (PPDG) is applied to the fault-localization problem. The insights gained from applying the PPDG to fault localization fuels the development of a novel theoretical framework for fault localization based on established causal inference methodology. The development of the framework enables current statistical fault-localization metrics to be analyzed from a causal perspective. The analysis of the metrics show that the metrics are related to each other thereby allowing the unification of the metrics. Also, the analysis of metrics from a causal perspective reveal that the current statistical techniques do not find the causes of program failures instead the techniques find the program elements most associated with failures. However, the fault-localization problem is a causal problem and statistical association does not imply causation. Several empirical studies are conducted on several software subjects and the results (1) confirm our analytical results, (2) demonstrate the efficacy of our causal technique for fault localization. The results demonstrate the research in this dissertation significantly improves on the state-of-the-art in fault localization.
|
186 |
Techniques to facilitate symbolic execution of real-world programsAnand, Saswat 11 May 2012 (has links)
The overall goal of this research is to reduce the cost of software development and improve the quality of software. Symbolic execution is a program-analysis technique that is used to address several problems that arise in developing high-quality software. Despite the fact that the symbolic execution technique is well understood, and performing symbolic execution on simple programs is straightforward, it is still not possible to apply the technique to the general class of large, real-world software. A symbolic-execution system can be effectively applied to large, real-world software if it has at least the two features: efficiency and automation. However, efficient and automatic symbolic execution of real-world programs is a lofty goal because of both theoretical and practical reasons. Theoretically, achieving this goal requires solving an intractable problem (i.e., solving constraints). Practically, achieving this goal requires overwhelming effort to implement a symbolic-execution system that can precisely and automatically symbolically execute real-world programs.
This research makes three major contributions.
1. Three new techniques that address three important problems of symbolic execution. Compared to existing techniques, the new techniques
* reduce the manual effort that may be required to symbolically execute those programs that either generate complex constraints or parts of which cannot be symbolically executed due to limitations of a symbolic-execution system.
* improve the usefulness of symbolic execution (e.g., expose more bugs in a program) by enabling discovery of more feasible paths within a given time budget.
2. A novel approach that uses symbolic execution to generate test inputs for Apps that run on modern mobile devices such as smartphones and tablets.
3. Implementations of the above techniques and empirical results obtained from applying those techniques to real-world programs that demonstrate their effectiveness.
|
187 |
Modeling dynamic interactions in a software development project [electronic resource] / by Chetan D. Vajre.Vajre, Chetan D. January 2003 (has links)
Title from PDF of title page. / Document formatted into pages; contains 83 pages. / Thesis (M.S.I.E.)--University of South Florida, 2003. / Includes bibliographical references. / Text (Electronic thesis) in PDF format. / ABSTRACT: Software industry is getting very competitive in the wake of recession. In most cases, an organization that quotes a lower price and promises to deliver the product at the earliest walks away with the project. But the factor of quality of the product delivered is also very important because that in turn determines the reputation of an organization, which also plays an important role in getting the next project. Interactions in a software development are dynamic in nature and involve human factors. Models are built taking into account all possible factors so as to present a realistic picture of the development process. System dynamics methodology is used to build these models in Vensim. / ABSTRACT: Three models have been proposed to help manager estimate an approximate time and cost of the project, monitor the project once the timeline is set and monitor the project development to change various factors as the development process goes through various phases of development and testing. / System requirements: World Wide Web browser and PDF reader. / Mode of access: World Wide Web.
|
188 |
Domain modelling: with a case study in air traffic梁秉雄, Leung, Ping Hung, Karl Richard. January 1997 (has links)
published_or_final_version / Computer Science / Doctoral / Doctor of Philosophy
|
189 |
Decision-making criteria for software requirements selection: an empirical study in ChinaHu, Ganglan, Information Systems, Technology & Management, Australian School of Business, UNSW January 2006 (has links)
This study aims to explore the decision-making criteria for requirements selection in market-driven software development projects in China. Requirements selection decisions are made by reconciling the conflicting stakeholders??? value propositions into a mutually-agreed set through the negotiation and communication process between stakeholders. Firstly, this study identified decision-making criteria according to different stakeholders??? value propositions, and then evaluated the importance of the criteria when making the decisions of requirements selection. Moreover, the study determined the degree to which the stakeholders from business, product, and project perspectives influence the decision-making process. Furthermore, the study explored the communication between major stakeholders in requirements selection process, as a foundation to support and guide the process. A Delphi survey was applied in this study. Opinions from experienced industrial experts were obtained to achieve reliable consensus among them on the criteria and relative importance of the criteria in requirements selection process. The Delphi survey in this study included four phases of data collection by a series of intensive questionnaires interspersed with controlled opinion feedback and follow-up interviews. 132 Experts from 11 companies were recruited by following the rigid procedure to ensure the validity and reliability of the research. The study indicated that criteria from the business perspective had a major influence on decision-making of requirements selection, while project- and product-perspective criteria were relatively lower in priority. However, there were some inconsistencies among the opinions of the recruited experts regarding the importance of the criteria. The inconsistencies may result from a number of different factors, for example; different software development projects; different size, culture, organizational structure or maturity level of the companies; or different working positions of the experts surveyed. In addition, the study found three different types of communication in requirements selection in the companies surveyed. Further, Chinese culture was believed to have effects on the communication process between stakeholders. While informal communication was highlighted in Chinese context, the Chinese culture of strictly hierarchical communication could lead to problems in the communication process. Further research is recommended to gain deeper insight into these issues.
|
190 |
Design and implementation of generic flight software for a CubeSatHeunis, Andre Emile 12 1900 (has links)
Thesis (MEng)--Stellenbosch University, 2014. / ENGLISH ABSTRACT: The main on-board computer in a satellite is responsible for ensuring the correct
operation of the entire system. It performs this task using flight software. In order to
reduce future development costs, it is desirable to develop generic software that can
be re-used on subsequent missions. This thesis details the design and implementation
of a generic flight software application for CubeSats.
A generic, modular framework is used in order to increase the re-usability of the flight
software architecture. In order to simplify the management of the various on-board
processes, the software is built upon the FreeRTOS real-time operating system.
The Consultative Committee for Space Data Systems’ telemetry and telecommand
packet definitions are used to interface with ground stations. In addition, a number
of services defined in the European Cooperation for Space Standardisation’s Packet
Utilisation Standard are used to perform the functions required from the flight
software.
The final application contains all the command and data handling functionality
required in a standard CubeSat mission. Mechanisms for the collection, storage and
transmission of housekeeping data are included as well as the implementation of
basic fault tolerance techniques. Through testing it is shown that the FreeRTOS
scheduler can be used to ensure the software meets hard-real time requirements. / AFRIKAANSE OPSOMMING: Die hoof aanboordrekenaar in ’n satelliet verseker die korrekte werking van die hele
stelsel. Die rekenaar voer hierdie taak uit deur van vlugsagteware gebruik te maak.
Om toekomstige ontwikkelingskostes te verminder, is dit noodsaaklik om generiese
sagteware te ontwikkel wat hergebruik kan word op daaropvolgende missies. Hierdie
tesis handel oor die besonderhede van die ontwerp en implementering van generiese
vlugsagteware vir ’n CubeSat.
’n Generiese, modulêre raamwerk word gebruik om die hergebruik van die sagteware
te verbeter. Ten einde die beheer van die verskillende aanboordprosesse te
vereenvoudig, word die sagteware gebou op die FreeRTOS reëletyd bedryfstelsel.
Die telemetrie- en telebevelpakket definisies van die “Consultative Committee for
Space Data Systems” word gebruik om met grondstasies te kommunikeer. Daarby
is ’n aantal dienste omskryf in die “Packet Utilisation Standard” van die “European
Cooperation for Space Standardisation” gebruik om die vereiste funksies van die
vlugsagteware uit te voer.
Die finale sagteware bevat al die bevel en data-hantering funksies soos wat vereis
word van ’n standaard CubeSat missie. Meganismes vir die versameling, bewaring en
oordrag van huishoudelike data is ingesluit sowel as die implementering van basiese
fouttolerante tegnieke. Toetse het gewys dat die FreeRTOS skeduleerder gebruik
kan word om te verseker dat die sagteware aan harde reëletyd vereistes voldoen.
|
Page generated in 0.0988 seconds