188 research outputs found

    Ohjelmistoarkkitehtuuristen suunnittelupäätösten dokumentointi jatkuvassa ohjelmistokehityksessä - moniääninen kirjallisuuskatsaus

    Get PDF
    The importance of software architecture design decisions has been known for almost 20 years. Knowledge vaporisation is a problem in many projects, especially in the current fast-paced culture, where developers often switch from project to another. Documenting software architecture design decisions helps developers understand the software better and make informed decisions in the future. However, documenting architecture design decisions is highly undervalued. It does not create any revenue in itself, and it is often the disliked and therefore neglected part of the job. This literature review explores what methods, tools and practices are being suggested in the scientific literature, as well as, what practitioners are recommending within the grey literature. What makes these methods good or bad is also investigated. The review covers the past five years and 36 analysed papers. The evidence gathered shows that most of the scientific literature concentrates on developing tools to aid the documentation process. Twelve out of nineteen grey literature papers concentrate on Architecture Decision Records (ADR). ADRs are small template files, which as a collection describe the architecture of the entire system. The ADRs appear to be what practitioners have become used to using over the past decade, as they were first introduced in 2011. What is seen as beneficial in a method or tool is low-cost and low-effort, while producing concise, good quality content. What is seen as a drawback is high-cost, high-effort and producing too much or badly organised content. The suitability of a method or tool depends on the project itself and its requirements

    Software agents as legal persons

    Get PDF
    The Law has long been recognizing that, besides natural persons, other entities socially engaged must also be subject of rights and obligations. Western laws usually recognize Corporate Bodies as having legal personality and capacity for every right and obligation needed or convenient to the prosecution of its social goals. But can we foresee a similar attribution of such a regime to software agents? In other words, are intelligent software agents capable of being personified? One of the main characteristics of a personality is the existence of a physical being or organization provided with its own will. In that sense, intelligent software agents are quite close to human beings. Indeed, they have a physical existence, and they have the capability of learning and of having a will of their own

    SEMA4A: An ontology for emergency notification systems accessibility

    Get PDF
    This is the post-print version of the final paper published in Expert Systems with Applications. The published article is available from the link below. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. Copyright @ 2009 Elsevier B.V.Providing alert communication in emergency situations is vital to reduce the number of victims. Reaching this goal is challenging due to users’ diversity: people with disabilities, elderly and children, and other vulnerable groups. Notifications are critical when an emergency scenario is going to happen (e.g. a typhoon approaching) so the ability to transmit notifications to different kind of users is a crucial feature for such systems. In this work an ontology was developed by investigating different sources: accessibility guidelines, emergency response systems, communication devices and technologies, taking into account the different abilities of people to react to different alarms (e.g. mobile phone vibration as an alarm for deafblind people). We think that the proposed ontology addresses the information needs for sharing and integrating emergency notification messages over distinct emergency response information systems providing accessibility under different conditions and for different kind of users.Ministerio de Educación y Cienci

    Techniques and Practices for Software Architecture Work in Agile Software Development

    Get PDF
    Since the publishing of Agile Manifesto in 2001, the agile software development has taken the world by storm. Agile software development does not emphasize the importance of software architecture, even though software architecture is often seen as a key factor for achieving the quality goals set for the software system. It has been even said that agile software development and software architecture are a clash of two cultures.In many software projects there is no need to consider software architecture anymore. For example, when designing a mobile application, the ecosystem forces the developer to use certain architecture style provided by the platform. In web development ready-made frameworks and project templates are available offering complete software architecture designs for the application developer.There are still domains and systems where careful architecture design is needed. When developing complex systems or systems with a long lifecycle, diligent software architecture design is a key to avoid massive rework during the development. It cannot be a coincidence that companies developing these kinds of systems struggle with agile software development the most.On the one hand, the goal of this thesis was to study software architecture practices used in agile software development in the industry. On the other hand, the goal was to develop new methods and techniques to support incremental software architecture working practices which can be aligned with agile methods such as Scrum. The study applied case study, interviews and design science as the main research methods.The results show that there are four main ways to carry out software architecture work while using agile methods. Basing on this result, models for aligning software architec-ture knowledge management were developed. These models can be used as guidelines for selecting the appropriate software architecture practices in an organization.As a part of the research work, an architecture knowledge repository was developed for sharing the knowledge in agile projects and for automatic software architecture document generation. Additionally, the results of this study show that by taking a decision-centric approach to software architecture evaluation, the evaluation method can be lightweight enough to make incremental evaluation a viable option. Similarly, existing software architecture evaluation methods can be boosted to fit agile software development by utilizing domain knowledge

    Optimal and probabilistic resource and capability analysis for network slice as a service

    Get PDF
    Network Slice as a Service is one of the key concepts of the fifth generation of mobile networks (5G). 5G supports new use cases, like the Internet of Things (IoT), massive Machine Type Communication (mMTC) and Ultra-Reliable and Low Latency Communication (URLLC) as well as significant improvements of the conventional Mobile Broadband (MBB) use case. In addition, safety and security critical use cases move into focus. These use cases involve diverging requirements, e.g. network reliability, latency and throughput. Network virtualization and end-to-end mobile network slicing are seen as key enablers to handle those differing requirements and providing mobile network services for the various 5G use cases and between different tenants. Network slices are isolated, virtualized, end-to-end networks optimized for specific use cases. But still they share a common physical network infrastructure. Through logical separation of the network slices on a common end-to-end mobile network infrastructure, an efficient usage of the underlying physical network infrastructure provided by multiple Mobile Service Providers (MSPs) in enabled. Due to the dynamic lifecycle of network slices there is a strong demand for efficient algorithms for the so-called Network Slice Embedding (NSE) problem. Efficient and reliable resource provisioning for Network Slicing as a Service, requires resource allocation based on a mapping of virtual network slice elements on the serving physical mobile network infrastructure. In this thesis, first of all, a formal Network Slice Instance Admission (NSIA) process is presented, based on the 3GPP standardization. This process allows to give fast feedback to a network operator or tenant on the feasibility of embedding incoming Network Slice Instance Requests (NSI-Rs). In addition, corresponding services for NSIA and feasibility checking services are defined in the context of the ETSI ZSM Reference Architecture Framework. In the main part of this work, a mathematical model for solving the NSE Problem formalized as a standardized Linear Program (LP) is presented. The presented solution provides a nearly optimal embedding. This includes the optimal subset of Network Slice Instances (NSIs) to be selected for embedding, in terms of network slice revenue and costs, and the optimal allocation of associated network slice applications, functions, services and communication links on the 5G end-to-end mobile network infrastructure. It can be used to solve the online as well as the offline NSIA problem automatically in different variants. In particular, low latency network slices require deployment of their services and applications, including Network Functions (NFs) close to the user, i.e., at the edge of the mobile network. Since the users of those services might be widely distributed and mobile, multiple instances of the same application are required to be available on numerous distributed edge clouds. A holistic approach for tackling the problem of NSE with edge computing is provided by our so-called Multiple Application Instantiation (MAI) variant of the NSE LP solution. It is capable of determining the optimal number of application instances and their optimal deployment locations on the edge clouds, even for multiple User Equipment (UE) connectivity scenarios. In addition to that multi-path, also referred to as path-splitting, scenarios with a latency sensitive objective function, which guarantees the optimal network utilization as well as minimum latency in the network slice communication, is included. Resource uncertainty, as well as reuse and overbooking of resources guaranteed by Service Level Agreements (SLAs) are discussed in this work. There is a consensus that over-provisioning of mobile communication bands is economically infeasible and certain risk of network overload is accepted for the majority of the 5G use cases. A probabilistic variant of the NSE problem with an uncertainty-aware objective function and a resource availability confidence analysis are presented. The evaluation shows the advantages and the suitability of the different variants of the NSE formalization, as well as its scalability and computational limits in a practical implementation

    MGEx-Udb: A Mammalian Uterus Database for Expression-Based Cataloguing of Genes across Conditions, Including Endometriosis and Cervical Cancer

    Get PDF
    Gene expression profiling of uterus tissue has been performed in various contexts, but a significant amount of the data remains underutilized as it is not covered by the existing general resources.). The database can be queried with gene names/IDs, sub-tissue locations, as well as various conditions such as the cervical cancer, endometrial cycles and disorders, and experimental treatments. Accordingly, the output would be a) transcribed and dormant genes listed for the queried condition/location, or b) expression profile of the gene of interest in various uterine conditions. The results also include the reliability score for the expression status of each gene. MGEx-Udb also provides information related to Gene Ontology annotations, protein-protein interactions, transcripts, promoters, and expression status by other sequencing techniques, and facilitates various other types of analysis of the individual genes or co-expressed gene clusters.In brief, MGEx-Udb enables easy cataloguing of co-expressed genes and also facilitates bio-marker discovery for various uterine conditions

    A distributed channel allocation scheme for cellular network using intelligent software agents

    Get PDF
    PhDAbstract not availabl

    Model engineering : balancing between virtuality and reality

    Get PDF
    Model engineering concerns the development of models of complex systems. This modeling is performed for a variety of reasons, such as system behavior prediction, system optimization or system construction. Model engineering requires a modeling framework that includes a language to represent the model and a set of techniques to analyze the model. Kees van Hee has made many actual models and developed modeling frameworks. In the lecture he will present an overview of this field, based on his experiences

    Blackboard System Generator (BSG): An Alternative Distributed Problem-Solving Paradigm

    Get PDF
    The classical blackboard model employs a number of relaxations of team decision theory that are commonly organized into three panels of AI heuristics, including: 1) a shared information panel that offers a capability for ensuring agent knowledge sharing, 2) a contract formalism for the agent and event scheduling, coordinating, and control panel, and 3) a blackboard panel for metalevel planning and guidance that offers whole situation recognition, top down reasoning, and adaptive learning. The nature and implications of these relaxations are explained in terms of the blackboard system generator (BSG) and via comparisons to what is done in other blackboard shells. Particular attention is paid to theoretical relaxations inherent in the classical blackboard model and to research opportunities arising as a result. Progress made to date to counteract adverse effects of some of these relaxations is described in terms of a project management/work breakdown paradigm adopted in BSG that: 1) alleviates the knowledge engineering bottlenecks of traditional blackboards and that provides BSG with a semantic rather than just syntactic understanding of blackboard control and scheduling; 2) allows a distributed problem-solving capability for connecting agents at virtual addresses on a logical network and that permits concurrent processing on any machine available on the network; 3) establishes an open architecture that includes techniques for integrating preexisting agent methods (e.g., expert systems, procedures, or data bases) while laying the foundation for assessing the impact of “black boxes” on the global and local objective functions; and 4) utilizes project management techniques for team agents planning as well as an analogical reasoner subsystem for BSG metaplanning and generic controlled learning. This latter item is supported by a connectionist scheme for its associative memory. The techniques of each of the three panels and of the four sets of paradigm-related advances are described along with selected results from classroom teaching experiments and from three applications using BSG to date
    • …
    corecore