427 research outputs found

    A Configuration Management System for Software Product Lines

    Get PDF
    Software product line engineering (SPLE) is a methodology for developing a family of software products in a particular domain by systematic reuse of shared code in order to improve product quality and reduce development time and cost. Currently, there are no software configuration management (SCM) tools that support software product line evolution. Conventional SCM tools are designed to support single product development. The use of conventional SCM tools forces developers to treat a software product line as a single software project by introducing new programming language constructs or using conditional compilation. We propose a research conguration management prototype called Molhado SPL that is designed specifically to support the evolution of software product lines. Molhado SPL addresses the evolution problem at the configuration level instead of at the code level. We studied the type of operations needed to support the evolution of software product lines and proposed a versioning model and eight cases of change propagation. Molhado SPL supports independent evolution of core assets and products, the sharing of code and the tracking relationships between products and shared code, and the eight cases of change propagation. The Molhado SPL consists of four layers with each layer providing a different type of service. At the heart of Molhado SPL are the versioning model, component object, shared component object, and project objects that allow for independent evolution of products and shared artifacts, for sharing, and for supporting change propagation. Furthermore,they allow product specific changes to shared code without interfering with the core asset that is shared. Products can also introduce product specific assets that only exist in that product. In order to for Molhado SPL to support product line, we implemented XML merging, feature model editing and debugging, and version-aware XML documents. To support merging of XML documents, we implemented a 3-way XML document merging algorithm that uses versioned data structures, change detection, and node identity. To support software product line derivation or modeling of software product line, we implemented support for feature model including editing and debugging. Finally, we created the version-aware XML document framework to support collaborative editing of XML documents without requiring a version repository. The version history is embedded in the documents using XML namespaces, so that the documents remain valid under the XML specification. The version-aware XML framework can also be used to support the exporting of documents from Molhado SPL repository to be edit outside and import back the change history made to the document. We evaluated Molhado SPL with two product lines: a document product line and a the graph data structures product line. This evaluation showed that Molhado SPL supports independently evolution of products and core assets and the eight change propagation cases. We did not evaluate MolhadoSPL in terms of scalability or usability. The main contributions of this dissertation research are: 1) Molhado SPL that supports the evolution of product lines, 2) a fast 3-way XML merge algorithm, 3) a version-aware XML document framework, and 4) a feature model editor and debugger

    Proceedings of the ECSCW'95 Workshop on the Role of Version Control in CSCW Applications

    Full text link
    The workshop entitled "The Role of Version Control in Computer Supported Cooperative Work Applications" was held on September 10, 1995 in Stockholm, Sweden in conjunction with the ECSCW'95 conference. Version control, the ability to manage relationships between successive instances of artifacts, organize those instances into meaningful structures, and support navigation and other operations on those structures, is an important problem in CSCW applications. It has long been recognized as a critical issue for inherently cooperative tasks such as software engineering, technical documentation, and authoring. The primary challenge for versioning in these areas is to support opportunistic, open-ended design processes requiring the preservation of historical perspectives in the design process, the reuse of previous designs, and the exploitation of alternative designs. The primary goal of this workshop was to bring together a diverse group of individuals interested in examining the role of versioning in Computer Supported Cooperative Work. Participation was encouraged from members of the research community currently investigating the versioning process in CSCW as well as application designers and developers who are familiar with the real-world requirements for versioning in CSCW. Both groups were represented at the workshop resulting in an exchange of ideas and information that helped to familiarize developers with the most recent research results in the area, and to provide researchers with an updated view of the needs and challenges faced by application developers. In preparing for this workshop, the organizers were able to build upon the results of their previous one entitled "The Workshop on Versioning in Hypertext" held in conjunction with the ECHT'94 conference. The following section of this report contains a summary in which the workshop organizers report the major results of the workshop. The summary is followed by a section that contains the position papers that were accepted to the workshop. The position papers provide more detailed information describing recent research efforts of the workshop participants as well as current challenges that are being encountered in the development of CSCW applications. A list of workshop participants is provided at the end of the report. The organizers would like to thank all of the participants for their contributions which were, of course, vital to the success of the workshop. We would also like to thank the ECSCW'95 conference organizers for providing a forum in which this workshop was possible

    Product Modeling and Quotation Under the Revolt Project

    Get PDF
    Product modeling and configuration for new communications products can be time consuming and perplexingly complicated when quoting network proposals. Often the process involves multiple individuals from different organizations all pulled together to assist in the quotation process. In many instances, where products are still in the idea or prototype stage of development, detailed engineering, configuration and financial specifications are not available, requiring the configuration specialist to work from crude and often uncontrolled spreadsheets or documentation. During the Revolt Program/Project several new products were all introduced to various international markets simultaneously. This introduction of multiple products, product configurations and network configurations of the combined products, necessitated a solution for the configuration problem. This paper describes one approach that was successfully used

    Source tree composition

    Get PDF
    Dividing software systems in components improves software reusability as well as software maintainability. Components live at several levels, we concentrate on the implementation level where components are formed by source files, divided over directory structures. Such source code components are usually strongly coupled in the directory structure of a software system. Their compilation is usually controlled by a single global build process. This entangling of source trees and build processes often makes reuse of source code components in different software systems difficult. It also makes software systems inflexible because integration of additional source code components in source trees and build processes is difficult. This paper's subject is to increase software reuse by decreasing coupling of source code components. It is achieved by automized assembly of software systems from reusable source code components and involves integration of source trees, build processes, and configuration processes. Application domains include generative programming, product-line architectures, and commercial off-the-shelf (COTS) software engineering

    A macro-micro system architecture analysis framework applied to Smart Grid meter data management systems by Sooraj Prasannan.

    Get PDF
    Thesis (S.M. in System Design and Management)--Massachusetts Institute of Technology, Engineering Systems Division, 2010.This electronic version was submitted by the student author. The certified thesis is available in the Institute Archives and Special Collections.Cataloged from student submitted PDF version of thesis.Includes bibliographical references (p. 109-111).This thesis proposes a framework for architectural analysis of a system at the Macro and Micro levels. The framework consists of two phases -- Formulation and Analysis. Formulation is made up of three steps -- Identifying the System Boundary, Identifying the Object-Process System levels using the Object-Process Methodology (OPM) and then creating the Dependency Matrix using a Design Structure Matrix (DSM). Analysis is composed of two steps -- Macro-Level and Micro-Level Analysis. Macro-Level analysis identifies the system modules and their interdependencies based on the OPM and DSM clustering analysis and Visibility-Dependency Signature Analysis. The Micro-Level analysis identifies the central components in the system based on the connectivity metrics of Indegree centrality, Outdegeree centrality, Visibility and Dependency. The conclusions are drawn based on simultaneously interpreting the results derived from the Macro-Level and Micro-Level Analysis. Macro-Analysis is vital in terms of comprehending system scalability and functionality. The modules and their interactions influence the scalability of the system while the absence of certain modules within a system might indicate missing system functionality. Micro-Analysis classifies the components in the system based on connectivity and can be used to guide redesign/design efforts. Understanding how the redesign of a particular node will affect the entire system helps in planning and implementation. On the other hand, design Modification/enhancement of nodes with low connectivity can be achieved without affecting the performance or architecture of the entire system. Identifying the highly central nodes also helps the system architect understand whether the system has enough redundancy built in to withstand the failure of the central nodes. Potential system bottlenecks can also be identified by using the micro-level analysis. The proposed framework is applied to two industry leading Smart Grid Meter Data Management Systems. Meter Data Management Systems are the central repository of meter data in the Smart Grid Information Technology Layer. Exponential growth is expected in managing electrical meter data and technology firms are very interested in finding ways to leverage the Smart Information Technology market. The thesis compares the two Meter Data Management System architectures, and proposes a generic Meter Data Management System by combining the strengths of the two architectures while identifying areas of collaboration between firms to leverage this generic architecture.S.M.in System Design and Managemen

    An M&E mobile based application for Pico PV lighting solutions for the “Kerosene Free Kenya” project

    Get PDF
    Conference paper Izael Pereira Da Silva, Geoffrey Ronoh, David Njugi Maina Ulm, Germany 2013This paper describes the use of a mobile based application used as a Monitoring and Evaluation (M&E) tool to a pilot project supported by the National Council for Science and Technology of Kenya (NCST) which seeks to research best practices and lessons learned in the dissemination of Pico PV systems to rural households in Kenya. In order to overcome the affordability barrier a microfinance institution (MFI) was brought into the system, to properly handle the challenge of access to finance while Lighting Africa will provide standards for the products to be distributed. Many of such pilot system have been used in practically all countries of East Africa. The novelty of the present one is the use of an Unstructured Supplementary Service Data (USSD) mobile based tool to collect and transmit data. This will make the analysis of the product quality, user experience and faults much simpler and given the two ways relationship between the researchers and the users, consumer satisfaction and product improvement is envisaged to happen in a to date unprecedented manner. As the clients are distributed in a known geographical region, the researchers have provided for the training of technicians to handle repairs and battery replacement locally. As the duration of the project is 2 years, it is expected that the follow up of product performance and life span will be measured way beyond its payback period.This paper describes the use of a mobile based application used as a Monitoring and Evaluation (M&E) tool to a pilot project supported by the National Council for Science and Technology of Kenya (NCST) which seeks to research best practices and lessons learned in the dissemination of Pico PV systems to rural households in Kenya. In order to overcome the affordability barrier a microfinance institution (MFI) was brought into the system, to properly handle the challenge of access to finance while Lighting Africa will provide standards for the products to be distributed. Many of such pilot system have been used in practically all countries of East Africa. The novelty of the present one is the use of an Unstructured Supplementary Service Data (USSD) mobile based tool to collect and transmit data. This will make the analysis of the product quality, user experience and faults much simpler and given the two ways relationship between the researchers and the users, consumer satisfaction and product improvement is envisaged to happen in a to date unprecedented manner. As the clients are distributed in a known geographical region, the researchers have provided for the training of technicians to handle repairs and battery replacement locally. As the duration of the project is 2 years, it is expected that the follow up of product performance and life span will be measured way beyond its payback period

    Modeling Business Process Variability

    Get PDF
    This master thesis presents research findings on business process variability modeling. Its main goal is to analyze inherent problems of business process variability and solve them simply, innovatively and effectively. To achieve this goal, process variability is defined by analyzing scientific literature, its main problems identified and is illustrated using a healthcare running example: process variability is classified into process variability within the domain space and over time. These two forms of process variability respectively lead to process variability modeling and process model evolution problems. After defining the main problems inherent to process variability, the focus of this research project is defined: solving process variability modeling problems. First current business process modeling languages are evaluated to assess the effectiveness of their respective modeling concepts when modeling process variability, using a newly created set of evaluation criteria and the healthcare running example. The following business process modeling languages are evaluated: Event driven process chains (EPC), the Business Process Modeling Notation (BPMN) and Configurable EPC (C-EPC). Business process variability modeling and Software product line engineering have similar problems. Therefore the variability modeling concepts developed by software product line engineering are analyzed. Feature diagrams and software configuration management are the main variability management concepts provided by software product line engineering. To apply these variability management concepts to model process variability meant combining them with existing business modeling languages. Riebisch feature diagrams are combined with C-EPC to form Feature-EPC. Applying software configuration management, meant merging Change Oriented Versioning with basic EPC to create COV-EPC, and merging the Proteus Configuration Language with basic EPC to design PCL-EPC. Finally these newly created business process modeling languages are also evaluated using the newly designed evaluation criteria and the healthcare running example. EPC or BPMN are not suited to model business process variability within the domain space. C-EPC provide explicit means to model business process variability, however the process models tend to get big very fast. Furthermore the syntax, the contextual constraints and the semantics of the configuration requirements and guidelines used to configure the C-EPC process models are unclear. Feature-EPC improve C-EPC with domain modeling capability and clearly defined configuration rules: their syntax, contextual constraints and semantics have been clearly defined using a context free grammar in Backus-Naur form. Furthermore, consistent combinations of features and configuration rules are ensured using respectively constraints and a conflict resolution algorithm. However, Feature-EPC and C-EPC suffer from the same weakness: large configurable process models. In COV-EPC and PCL-EPC the problem of large configurable process models is solved. COV-EPC ensures consistent combinations of options and configuration rules using respectively validities and a conflict resolution algorithm. PCL-EPC guarantees consistent combinations of process fragments by means of a PCL specification
    • …
    corecore