563,218 research outputs found
Software Knowledge Representation to Understand Software Systems
A software development process involves numerous persons, including customers, domain experts, software engineers, managers, evaluators and certifiers. Together, they produce some software that satisfies its requirements and its quality criteria at a certain point in time. This software contains faults and flaws of different levels of severity and at different phases of its production (specification, design, etc.) so maintenance is needed in order to correct it. Perfective and adaptive maintenance is also needed to cope with changes in the environment or with new requirements, e.g. new functionalities. In this work, we introduce the Persistent Knowledge Monitor (PKM), which is being developed within the DECODER H2020 project for handling (i.e. storing, retrieving, merging and checking for consistency) all kinds of knowledge and information related to a software project. The PKM will be part of a platform capable of taking advantage of all the artefacts available in a software ecosystem, not only the source code, but also its version control system, abstract specifications, informal documents or reports, etc. for representing the software knowledge and improving the workflow of software developers.This work has been developed with the financial support of the European Unionâs Horizon 2020
research and innovation programme under grant agreement No. 824231 and the Spanish State
Research Agency under the project TIN2017-84094-R and co-financed with ERDF.Torres Bosch, MV.; Gil Pascual, M.; Pelechano Ferragud, V. (2019). Software Knowledge Representation to Understand Software Systems. Springer. 137-144. https://doi.org/10.1007/978-3-030-35333-9_10S13714
CARDS: A blueprint and environment for domain-specific software reuse
CARDS (Central Archive for Reusable Defense Software) exploits advances in domain analysis and domain modeling to identify, specify, develop, archive, retrieve, understand, and reuse domain-specific software components. An important element of CARDS is to provide visibility into the domain model artifacts produced by, and services provided by, commercial computer-aided software engineering (CASE) technology. The use of commercial CASE technology is important to provide rich, robust support for the varied roles involved in a reuse process. We refer to this kind of use of knowledge representation systems as supporting 'knowledge-based integration.
Toward domain-specific design environments: Some representation ideas from the telecommunications domain
ACME is an experimental environment for investigating new approaches to modeling and analysis of system requirements and designs. ACME is built on and extends object-oriented conceptual modeling techniques and knowledge representation and reasoning (KRR) tools. The most immediate intended use for ACME is to help represent, understand, and communicate system designs during the early stages of system planning and requirements engineering. While our research is ostensibly aimed at software systems in general, we are particularly motivated to make an impact in the telecommunications domain, especially in the area referred to as Intelligent Networks (IN's). IN systems contain the software to provide services to users of a telecommunications network (e.g., call processing services, information services, etc.) as well as the software that provides the internal infrastructure for providing the services (e.g., resource management, billing, etc.). The software includes not only systems developed by the network proprietors but also by a growing group of independent service software providers
Visualising software in cyberspace
The problems of maintaining software systems are well documented. The increasing size and complexity of modern software serves only to worsen matters. Software maintainers are typically confronted with very large and very complex software systems, of which they may have little or no prior knowledge. At this stage they will normally have some maintenance task to perform, though possibly little indication of where or how to start. They need to investigate and understand the software to some extent in order to begin maintenance. This understanding process is termed program comprehension. There are various theories on program comprehension, many of which put emphasis on the construction of a mental model of the software within the mind of the maintainor. These same theories hypothesise a number of techniques employed by the maintainer for the creation and revision of this mental model. Software visualisation attempts to provide tool support for generating, supplementing and verifying the maintainerâs mental model. The majority of software visualisations to date have concentrated on producing two dimensional representations and animations of various aspects of a software system. Very little work has been performed previously regarding the issues involved in visualising software within a virtual reality environment. This research represents a significant first step into this exciting field and offers insight into the problems posed by this new media. This thesis provides an identification of the possibilities afforded byU3D graphics for software visualisation and program comprehension. It begins by defining seven key areas of 3D software visualisation, followed by the definition of two terms, visualisation and representation. These two terms provide a conceptual division between a visualisation and the elements of which it is comprised. This division enables improved discussion of the properties of a 3D visualisation and particularly the idenfification of properties that are desirable for a successful visualisation. A number of such desirable properties are suggested for both visualisations and representations, providing support for the design and evaluation of a 3D software visualisation system. Also presented are a number of prototype visualisations, each providing a different approach to the visualisation of a software system. The prototypes help demonstrate the practicalities and feasibility of 3D software visualisation. Evaluation of these prototypes is performed using a variety of techniques, the results of which emphasise the fact that there is substantial potential for the application of 3D graphics and virtual reality to software visualisation
The Role of E-Vocabularies in the Description and Retrieval of Digital Educational Resources
Vocabularies are linguistic resources that make it possible to access knowledge through words. They can constitute a mechanism to identify, describe, explore, and access all the digital resources with informational content pertaining to a specific knowledge domain. In this regard, they play a key role as systems for the representation and organization of knowledge in environments in which content is created and used in a collaborative and free manner, as is the case of social wikis and blogs on the Internet or educational content in e-learning environments. In e-learning environments, electronic vocabularies (e-vocabularies) constitute a mechanism for conceptual representation of digital educational resources. They enable human and software agents either to locate and interpret resource content in large digital repositories, including the web, or to use them (vocabularies) as an educational resource by itself to learn a discipline terminology.
This review article describes what e-vocabularies are, what they are like, how they are used, how they work, and what they contribute to the retrieval of digital educational resources. The goal is to contribute to a clearer view of the concepts which we regard as crucial to understand e-vocabularies and their use in the field of e-learning to describe and retrieve digital educational resources
An Investigation into Software Estimation Methods
There are currently no fully validated estimation approaches that can accurately predict
the effort needed for developing a software system (Kitchenham, et al, 1995).
Information gathered at the early stages of system development is not enough to
provide precise effort estimates, even though similar software systems may have been
developed in the past. Where similar systems have been developed, there are often
inherent differences in the features of these systems and in the development process
used. These differences are often sufficient to significantly reduce estimation accuracy.
Historically, cost estimation focuses on project effort and duration. There are many
estimation techniques, but none is consistently âbestâ (Shepperd, 2003).
Software project management has become a crucial field of research due to the
increasing role of software in todayâs world. Improving the functions of project
management is a main concern in software development organisation. The purpose of
this thesis is to develop a new model which incorporates cultural and leadership factors
in the cost estimation model, and is based on Case-Based Reasoning. The thesis
defines a new knowledge representation âontologyâ to provide a common understanding
of project parameters. The associated system uses a statistically simulated bootstrap
method, which helps in tuning the analogy approach before application to real projects.
This research also introduces a new application of Profile Theory, which takes a formal
approach to the measurement of leadership capabilities.
A pilot study was performed in order to understand the approaches used for cost
estimation in the Gulf region. Based on this initial study, a questionnaire was further
refined and tested. Consequently, further surveys were conducted in the United Arab
Emirates. It was noticed that most of the software development projects failed in terms
of cost estimate. This was due to the lack of a precise software estimation model.
These studies also highlighted the importance of leadership and culture in software cost
estimation.
Effort was estimated using regression and analogy. The Bootstrap method was used to
refine the estimate of effort based on analogy, with correction for bias. Due to the very
different nature of the core and support systems, a separate model was developed for
each of them. As a result of the study, a new model for identifying and analysing was
developed. The model was then evaluated, and conclusions were drawn. These show
the importance of the model and the factors of organisational culture and leadership in
software project development and in cost estimation. Potential areas for future research
were identified
Geometric Algorithms for Sampling the Flux Space of Metabolic Networks
Systems Biology is a fundamental field and paradigm that introduces a new era in Biology. The crux of its functionality and usefulness relies on metabolic networks that model the reactions occurring inside an organism and provide the means to understand the underlying mechanisms that govern biological systems. Even more, metabolic networks have a broader impact that ranges from resolution of ecosystems to personalized medicine.
The analysis of metabolic networks is a computational geometry oriented field as one of the main operations they depend on is sampling uniformly points from polytopes; the latter provides a representation of the steady states of the metabolic networks. However, the polytopes that result from biological data are of very high dimension (to the order of thousands) and in most, if not all, the cases are considerably skinny. Therefore, to perform uniform random sampling efficiently in this setting, we need a novel algorithmic and computational framework specially tailored for the properties of metabolic networks.
We present a complete software framework to handle sampling in metabolic networks. Its backbone is a Multiphase Monte Carlo Sampling (MMCS) algorithm that unifies rounding and sampling in one pass, obtaining both upon termination. It exploits an improved variant of the Billiard Walk that enjoys faster arithmetic complexity per step. We demonstrate the efficiency of our approach by performing extensive experiments on various metabolic networks. Notably, sampling on the most complicated human metabolic network accessible today, Recon3D, corresponding to a polytope of dimension 5335, took less than 30 hours. To our knowledge, that is out of reach for existing software
DEXTER: Generating Documents by means of computational registers
Software is often capable of efficiently storing and managing data on computers. However, even software systems that store and manage data efficiently often do an inadequate job of presenting data to users. A prototypical example is the display of raw data in the tabular results of SQL queries. Users may need a presentation that is sensitive to data values and sensitive to domain conventions. One way to enhance presentation is to generate documents that correctly convey the data to users, taking into account the needs of the user and the values in the data. I have designed and implemented a software approach to generating human-readable documents in a variety of domains. The software to generate a document is called a {\em computational register}, or ``register\u27\u27 for short. A {\em register system} is a software package for authoring and managing individual registers. Registers generating documents in various domains may be managed by one register system. In this thesis I describe computational registers at an architectural level and discuss registers as implemented in DEXTER, my register system. Input to DEXTER registers is a set of SQL query results. DEXTER registers use a rule-based approach to create a document outline from the input. A register creates the output document by using flexible templates to express the document outline. The register approach is unique in several ways. Content determination and structural planning are carried out sequentially rather than simultaneously. Content planning itself is broken down into data re-representation followed by content selection. No advanced linguistic knowledge is required to understand the approach. Register authoring follows a course very similar to writing a single document. The internal data representation and content planning steps allow registers to use flexible templates, rather than more abstract grammar-based approaches, to render the final document, Computational registers are applicable in a variety of domains. What registers can be written is restricted not by domain, but by the original data representation. Finally, DEXTER shows that a single software suite can assist in authoring and management of a variety of registers
- âŠ