669 research outputs found

    Software Product Line

    Get PDF
    The Software Product Line (SPL) is an emerging methodology for developing software products. Currently, there are two hot issues in the SPL: modelling and the analysis of the SPL. Variability modelling techniques have been developed to assist engineers in dealing with the complications of variability management. The principal goal of modelling variability techniques is to configure a successful software product by managing variability in domain-engineering. In other words, a good method for modelling variability is a prerequisite for a successful SPL. On the other hand, analysis of the SPL aids the extraction of useful information from the SPL and provides a control and planning strategy mechanism for engineers or experts. In addition, the analysis of the SPL provides a clear view for users. Moreover, it ensures the accuracy of the SPL. This book presents new techniques for modelling and new methods for SPL analysis

    An extended configurable UML activity diagram and a transformation algorithm for business process reference modeling

    Get PDF
    Enterprise Resource Planning (ERP) solutions provide generic off-the-shelf reference models usually known as best practices . The configuration !individualization of the reference model to meet specific requirements of business end users however, is a difficult task. The available modeling languages do not provide a complete configurable language that could be used to model configurable reference models. More specifically, there is no algorithm that monitors the transformation of configurable UML Activity Diagram (AD) models while preserving the syntactic correctness of the model. To fill these gaps we propose an extended UML AD modeling language which we named Configurable UML Activity Diagram (C-UML AD). The C-UML AD is used to represent a reference model while showing all the variation points and corresponding dependencies within the model. The C-UML AD covers the requirements and attributes of a configurable modeling language as prescribed by earlier researchers who developed Configurable EPC (C-EPC). We also propose a complete algorithm that transforms the C-UML AD business model to an individual consistent UML AD business model, where the end user\u27s configuration values are consistent with the constraints of the model. Meanwhile, the syntactic correctness of the transformed model is preserved. We validated the Transformation Algorithm by showing how all the transformation steps of the algorithm preserve the syntactic correctness of any given configurable business model, as prescribed by earlier researchers, and by running it on different sets of test scenarios to demonstrate its correctness. We developed a tool to apply the Transformation Algorithm and to demonstrate its validity on a set of test cases as well as a real case study that was used by earlier researchers who developed the C-EPC

    The state of adoption and the challenges of systematic variability management in industry

    Get PDF
    Handling large-scale software variability is still a challenge for many organizations. After decades of research on variability management concepts, many industrial organizations have introduced techniques known from research, but still lament that pure textbook approaches are not applicable or efficient. For instance, software product line engineering—an approach to systematically develop portfolios of products—is difficult to adopt given the high upfront investments; and even when adopted, organizations are challenged by evolving their complex product lines. Consequently, the research community now mainly focuses on re-engineering and evolution techniques for product lines; yet, understanding the current state of adoption and the industrial challenges for organizations is necessary to conceive effective techniques. In this multiple-case study, we analyze the current adoption of variability management techniques in twelve medium- to large-scale industrial cases in domains such as automotive, aerospace or railway systems. We identify the current state of variability management, emphasizing the techniques and concepts they adopted. We elicit the needs and challenges expressed for these cases, triangulated with results from a literature review. We believe our results help to understand the current state of adoption and shed light on gaps to address in industrial practice.This work is supported by Vinnova Sweden, Fond Unique Interminist´eriel (FUI) France, and the Swedish Research Council. Open access funding provided by University of Gothenbur

    VIVACE: A framework for the systematic evaluation of variability support in process-aware information systems

    Get PDF
    Context: The increasing adoption of process-aware information systems (PAISs) such as workflow management systems, enterprise resource planning systems, or case management systems, together with the high variability in business processes (e.g., sales processes may vary depending on the respective products and countries), has resulted in large industrial process model repositories. To cope with this business process variability, the proper management of process variants along the entire process lifecycle becomes crucial. Objective: The goal of this paper is to develop a fundamental understand-ing of business process variability. In particular, the paper will provide a framework for assessing and comparing process variability approaches and the support they provide for the different phases of the business process life

    VIVACE: A framework for the systematic evaluation of variability support in process-aware information systems

    Full text link
    Context: The increasing adoption of process-aware information systems (PAISs) such as workflow management systems, enterprise resource planning systems, or case management systems, together with the high variability in business processes (e.g., sales processes may vary depending on the respective products and countries), has resulted in large industrial process model repositories. To cope with this business process variability, the proper management of process variants along the entire process lifecycle becomes crucial. Objective: The goal of this paper is to develop a fundamental understanding of business process variability. In particular, the paper will provide a framework for assessing and comparing process variability approaches and the support they provide for the different phases of the business process lifecycle (i.e., process analysis and design, configuration, enactment, diagnosis, and evolution). Method: We conducted a systematic literature review (SLR) in order to discover how process variability is supported by existing approaches. Results: The SLR resulted in 63 primary studies which were deeply analyzed. Based on this analysis, we derived the VIVACE framework. VIVACE allows assessing the expressiveness of a process modeling language regarding the explicit specification of process variability. Furthermore, the support provided by a process-aware information system to properly deal with process model variants can be assessed with VIVACE as well. Conclusions: VIVACE provides an empirically-grounded framework for process engineers that enables them to evaluate existing process variability approaches as well as to select that variability approach meeting their requirements best. Finally, it helps process engineers in implementing PAISs supporting process variability along the entire process lifecycle. (C) 2014 Elsevier B.V. All rights reserved.This work has been developed with the support of MICINN under the project EVERYWARE TIN2010-18011.Ayora Esteras, C.; Torres Bosch, MV.; Weber, B.; Reichert, M.; Pelechano Ferragud, V. (2015). VIVACE: A framework for the systematic evaluation of variability support in process-aware information systems. Information and Software Technology. 57:248-276. https://doi.org/10.1016/j.infsof.2014.05.009S2482765

    A Systematic Approach to Constructing Families of Incremental Topology Control Algorithms Using Graph Transformation

    Full text link
    In the communication systems domain, constructing and maintaining network topologies via topology control (TC) algorithms is an important cross-cutting research area. Network topologies are usually modeled using attributed graphs whose nodes and edges represent the network nodes and their interconnecting links. A key requirement of TC algorithms is to fulfill certain consistency and optimization properties to ensure a high quality of service. Still, few attempts have been made to constructively integrate these properties into the development process of TC algorithms. Furthermore, even though many TC algorithms share substantial parts (such as structural patterns or tie-breaking strategies), few works constructively leverage these commonalities and differences of TC algorithms systematically. In previous work, we addressed the constructive integration of consistency properties into the development process. We outlined a constructive, model-driven methodology for designing individual TC algorithms. Valid and high-quality topologies are characterized using declarative graph constraints; TC algorithms are specified using programmed graph transformation. We applied a well-known static analysis technique to refine a given TC algorithm in a way that the resulting algorithm preserves the specified graph constraints. In this paper, we extend our constructive methodology by generalizing it to support the specification of families of TC algorithms. To show the feasibility of our approach, we reneging six existing TC algorithms and develop e-kTC, a novel energy-efficient variant of the TC algorithm kTC. Finally, we evaluate a subset of the specified TC algorithms using a new tool integration of the graph transformation tool eMoflon and the Simonstrator network simulation framework.Comment: Corresponds to the accepted manuscrip

    BPMNt : a proposal for flexible process tailoring representation in BPMN /

    Get PDF
    Business Process Model and Notation (BPMN) is a de-facto standard for business process modeling, which focuses on the representation of the process behavior. However, it can also succeed in representing the behavior of software processes, since they are a type of business process. Although BPMN has been extensively used for modeling processes in different domains, its standard specification does not have any mechanism to support users in activities related to process adaptation (tailoring). Moreover, researches extending BPMN are based on complex consolidated models, which hamper the analysis and maintenance of individual variant process models and are not appropriate for application domains in which process variations are difficult to predict, such as in software development processes. Thus, our objective was to provide a BPMN-compliant extension and associated mechanisms for specifying flexible process tailoring on models produced with this language while ensuring the correctness of adapted process models and explicitly capturing change traces. We have focused our research on the domains of Software Process Engineering (SPE) and Business Process Management (BPM). At last, we evaluated the applicability of the proposal for representing realistic tailoring scenarios in both domains.BPMN (Business Process Model and Notation) é um padrão para modelagem de processos de negócio, que tem seu foco na representação do comportamento de processos. No entanto, ele pode também ser usado para representar o comportamento de processos de software, já que eles são um tipo de processo de negócio. Embora BPMN tem sido extensivamente usado para modelar processos em diferentes domínios, sua especificação padrão não possui nenhum mecanismo para apoiar usuários em atividades relacionadas à adaptação de processos. Pesquisas que estendem o padrão são baseadas em modelos complexos, que dificultam a análise e manutenção de modelos variantes, e não são apropriadas para domínios de aplicação onde variações de processo são difíceis de predizer, como em processos de desenvolvimento de software. Assim, nosso objetivo foi fornecer uma extensão para BPMN, chamada BPMNt, e mecanismos de suporte para especificar, de modo flexível, adaptações em processos modelados com esta linguagem. BPMNt deve também garantir a corretude de modelos adaptados e explicitamente capturar rastros de mudanças realizadas. Essa pesquisa teve como foco os domínios de Engenharia de Processos de Software e Gerenciamento de Processos de Negócio. Por fim, nós avaliamos a aplicabilidade da proposta para representar cenários de adaptação reais em ambos os domínios

    Supporting the grow-and-prune model for evolving software product lines

    Get PDF
    207 p.Software Product Lines (SPLs) aim at supporting the development of a whole family of software products through a systematic reuse of shared assets. To this end, SPL development is separated into two interrelated processes: (1) domain engineering (DE), where the scope and variability of the system is defined and reusable core-assets are developed; and (2) application engineering (AE), where products are derived by selecting core assets and resolving variability. Evolution in SPLs is considered to be more challenging than in traditional systems, as both core-assets and products need to co-evolve. The so-called grow-and-prune model has proven great flexibility to incrementally evolve an SPL by letting the products grow, and later prune the product functionalities deemed useful by refactoring and merging them back to the reusable SPL core-asset base. This Thesis aims at supporting the grow-and-prune model as for initiating and enacting the pruning. Initiating the pruning requires SPL engineers to conduct customization analysis, i.e. analyzing how products have changed the core-assets. Customization analysis aims at identifying interesting product customizations to be ported to the core-asset base. However, existing tools do not fulfill engineers needs to conduct this practice. To address this issue, this Thesis elaborates on the SPL engineers' needs when conducting customization analysis, and proposes a data-warehouse approach to help SPL engineers on the analysis. Once the interesting customizations have been identified, the pruning needs to be enacted. This means that product code needs to be ported to the core-asset realm, while products are upgraded with newer functionalities and bug-fixes available in newer core-asset releases. Herein, synchronizing both parties through sync paths is required. However, the state of-the-art tools are not tailored to SPL sync paths, and this hinders synchronizing core-assets and products. To address this issue, this Thesis proposes to leverage existing Version Control Systems (i.e. git/Github) to provide sync operations as first-class construct

    Endüstri mühendisliğinde bilgisayar destekli öğrenme uygulaması

    Get PDF
    Text in English ; Abstract: English and TurkishIncludes bibliographical references (leaves 63-66)xi, 96 leavesLearning is the most central process in education where it's essential outcome being the assimilation of new skills, abilities, perspectives, attitudes, and knowledge. Learning is a life-long quest that is vital in today's information based economy. Educational institutions, though not exclusively, play a significant role in an individual's learning journey. Over the last two decades there has been significant research and development in methods of learning and teaching mostly spearheaded by institutions of higher education. At the core of these R&D efforts lie the need for improving the effectiveness of traditional methods of learning and teaching. Motivated by this need we designed and report here a computer aided learning application that helps better teach and learn some of the topics in inventory control and production planning in the discipline of industrial engineering. Computer aided learning environment provides time and location flexibility, enables asynchronicity, self-pacing, and experiential self-learning, extensively utilizes multi-media, and supports multiple types of learning styles. We designed our application in order to take advantage of all the benefits of this environment to reinforce the learning goals associated with our application area. Our application is a learning tool named WashMac Game. The game has three levels that are aligned with the progress of the student. Each level aims to simulate the production and sales process and teaching to calculate the product amounts. There are animations for teaching and understanding more easily and accurate.Öğrenme kelimesi, bilgi edinmek, yetenek ve beceri kazanmak anlamlarına gelmektedir. Öğrenme işi sonucunda yeni yetenekler, davranışlar kazanılır ve bilgi öğrenimi gerçekleşmektedir. Eğitim kurumlarının bilgiye ek olarak kişisel öğrenme üzerinde de etkin bir rolü vardır. Son 20 yılda öğrenme ile ilgili önemli araştırmalar ve gelişimler yaşanmıştır. Klasik öğrenme olarak ifade edilen öğrenme çeşidinde araştırma geliştirmeler sonucunda ilerlediğini ve yerini elektronik öğrenmeye bırakmaya başladığını görüyoruz. Bu araştırmalara istinaden endüstri mühendisliği için bilgisayar destekli öğrenme üzerine bir çalışma yaptık. Envanter kontrolü ve üretim planlama konularını kapsayan bir tasarım hazırladık. Bilgisayar destekli eğitim sayesinde, kullanıcılar zaman ve yer konularında esneklik kazanılabilmektedir. Bir diğer faydası ise kullanıcılar başka bir insana, öğretmene ayrıca ihtiyaç duymadan öğrenim görebilmektedir. Tasarladığımız uygulamanın ismi WashMac Game olup toplamda 3 seviyeden oluşmaktadır. Basitten başlayarak üretim ve satış süreçlerinde üretilecek miktarları hesaplamayı, envanteri takip etmeyi öğretmeyi hedefliyoruz. Öğrenme stillerini baz alarak animasyonlar kullandık. Kullanıcının dikkati çekebilen bir oyun olmasına dikkat ederek tasarımı hazırladık.IntroductionMotivationContributionsOutlineLearning TheoryTypes of IntelligenceTypes of LearningBloom’s TaxonomyBloom's Revised TaxonomyLearning StylesTradional LearningE-LearningProject Based LearningComputer Aided LearningLearning by DoingNew LearningOnline Learning CommunitiesLearning Objectives and Learning OutcomesY & Z GenerationIndustrial EngineersLiterature ReviewVisual Matrix Calculator for Undergraduate StudentsGeogebraThe Virtual CompanySupply Chain SimulatorThe Poker Chip GameImplementationsBeer GamePrisoner’s DilemmaTaxonomiesTaxonomy of Inventory Control PoliciesTaxonomy of Production ModesTaxonomy of Facility Layout TypesTaxonomy of Mathematical ModelsWashMac Learning GameWelcome ScreenFirst Level (Easy)TermsThe Second Level (Medium)EOQ Model(r,Q), (s,S) policiesThe Third Level (Hard)QuizzesAssembly LineConclusio

    Dealing with Variability in Context-Aware Mobile Software

    Get PDF
    Mobile context-aware software pose a set of challenging requirements to developers as these applications exhibit novel features, such as handling varied sensing devices and dynamically adapting to the user’s context (e.g. his or her location), and evolve quickly according to technological advances. In this paper, we discuss how to handle variability both across different domains and during the evolution of a single application. We present a set of design structures for solving different problems related with mobility (such as location sensing, behaviour adaptation, etc.), together with the design rationale underlying them, and show how these sound micro-architectural constructs impact on variability. Our presentation is illustrated with case studies in different domains.Facultad de Informátic
    corecore