B. Tekinerdogan, Evren Çilden, Ö. Erdogan, O. Aktug
{"title":"Architecture Conformance Analysis Approach within the Context of Multiple Product Line Engineering","authors":"B. Tekinerdogan, Evren Çilden, Ö. Erdogan, O. Aktug","doi":"10.1109/ASWEC.2014.23","DOIUrl":"https://doi.org/10.1109/ASWEC.2014.23","url":null,"abstract":"One of the important concerns in software product line engineering is the conformance of the application architecture to the product line architecture. Consistency with the product line architecture is important to ensure that the business rules and constraints that are defined for the entire product family are not violated. Usually, the conformance checking to the product line architecture is a manual and tedious process. A popular approach for ensuring architecture conformance is reflexion modeling which has been primarily used to check the consistency between the architecture and the code. In this paper we present an approach for product line conformance analysis based on reflexion modeling. We consider conformance analysis in product line engineering and extend our discussion to multiple product line engineering. Our study shows several important challenges regarding reflexion modeling within the context of product line engineering.","PeriodicalId":430257,"journal":{"name":"2014 23rd Australian Software Engineering Conference","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117225149","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Open Architectures and Software Evolution: The Case of Software Ecosystems","authors":"Patrizio Pelliccione","doi":"10.1109/ASWEC.2014.36","DOIUrl":"https://doi.org/10.1109/ASWEC.2014.36","url":null,"abstract":"Software systems are increasingly constructed on top of a software platform by adding and composing components that more often than not are developed by external actors. Those platforms project into software systems their own architecture and concepts and impose constraints, this strongly influences how components are developed and/or integrated. It is generally recognized that software architectures play a keyrole in managing software ecosystems and their evolution. While commercially there is an undeniable and increasing interest in software ecosystems, e.g., the Apple's iOS, Google's Android, Amazon.com, research in this domain is still in its infancy. This paper analyses, from the software architecture perspective, the state-of-the-art in software ecosystems and highlights future research directions from a technical point of view.","PeriodicalId":430257,"journal":{"name":"2014 23rd Australian Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126138144","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Concentus: Applying Stream Processing to Online Collective Interaction","authors":"Adam Roughton, I. Warren, B. Plimmer","doi":"10.1109/ASWEC.2014.24","DOIUrl":"https://doi.org/10.1109/ASWEC.2014.24","url":null,"abstract":"The collective experience is the experience of unity, belonging, and purpose that occurs when large numbers of people come together and perceive themselves and others as part of a single social entity, and interact with each another accordingly. We are exploring how the collective experience can be supported in a fully computer-mediated environment through activities where a virtual crowd performs synchronous collective action over a shared focal state (e.g. collectively controlling a character in a game, pulsing text-based messages in time to form collective chants). Supporting collective interaction requires a system architecture that is able to process large numbers of input actions into an aggregated collective representation at low latency. We have created a scalable distributed system called Concentus that applies approaches found in distributed stream processing to online collective interaction. Concentus allows for different implementations of aggregation engine, the primary component of the system, to be measured in-situ with other core components (e.g. client connection handlers). We have evaluated the performance of two aggregation approaches: one based on Spark Streaming, a general purpose distributed stream processing engine, and another that performs aggregation on a single thread on one machine, and have measured their performance against the key metric of interaction latency (time from input submission to perceiving the effect on the shared state) as the crowd size scales. The evaluation revealed that both approaches are capable of supporting 50,000 participants with latencies under 1 second, with the single threaded approach performing better on smaller data sizes, and Spark Streaming on larger data sets. We discuss the implications on collective application design.","PeriodicalId":430257,"journal":{"name":"2014 23rd Australian Software Engineering Conference","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124006078","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"SecDSVL: A Domain-Specific Visual Language to Support Enterprise Security Modelling","authors":"Mohamed Almorsy, J. Grundy","doi":"10.1109/ASWEC.2014.18","DOIUrl":"https://doi.org/10.1109/ASWEC.2014.18","url":null,"abstract":"Enterprise security management requires capturing different security and IT systems' details, analyzing and enforcing these security details, and improving employed security to meet new risks. Adopting structured models greatly helps in simplifying and organizing security specification and enforcement processes. However, existing security models are generally limited to specific security details and do not deliver a comprehensive security model. They also often do not have user-friendly notations, being complicated extensions of existing modeling languages (such as UML). In this paper, we introduce a comprehensive Security Domain Specific Visual Language (SecDSVL), which enables capturing of key security details to support enterprise systems security management process. We discuss our SecDSVL, tool support and the model-based enterprise security management approach it supports, give a usage example, and present evaluation experiments of SecDSVL.","PeriodicalId":430257,"journal":{"name":"2014 23rd Australian Software Engineering Conference","volume":"495 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133953741","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Fail-Safe Testing of Web Applications","authors":"A. Andrews, Salah Boukhris, Salwa M. Elakeili","doi":"10.1109/ASWEC.2014.29","DOIUrl":"https://doi.org/10.1109/ASWEC.2014.29","url":null,"abstract":"This paper proposes a genetic algorithm (GA)method to generate test scenarios for testing proper fail-safe behavior for web applications. Unlike other approaches which combine fault trees with state charts, we create mitigation tests from an existing functional black box test suite. A genetic algorithm is used that determines points of failures and type of failure that need to be tested. Mitigation test paths are woven into the behavioral test at the point of failure based on failure specific weaving rules. The GA approach is compared to random selection. We also provide experimental results how effectiveness and efficiency vary based on mitigation defect density and length of the test suite.","PeriodicalId":430257,"journal":{"name":"2014 23rd Australian Software Engineering Conference","volume":"294 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123561706","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Architectural Design Decisions in Open Software Development: A Transition to Software Ecosystems","authors":"Meiru Che, D. Perry","doi":"10.1109/ASWEC.2014.37","DOIUrl":"https://doi.org/10.1109/ASWEC.2014.37","url":null,"abstract":"Managing architectural design decisions (ADDs) in software development process is an essential task for architectural knowledge management. As software ecosystems become a new software development paradigm in software engineering processes, it is important and necessary to capture and represent ADDs in open software development, and to evolve architectural knowledge with minimum knowledge evaporation in the open ecosystem community. So far, little work has been done on managing architectural decisions in software ecosystems in current software architecture research and practice. In this research position paper, we discuss the typical characteristics of software ecosystems which may influence architecture decision-making processes in software development, and identify the essential aspects that should be considered for managing ADDs in the context of software ecosystem. In addition, we discuss major challenges of managing ADDs for software ecosystems, and we also propose possible directions in research to solve the problems.","PeriodicalId":430257,"journal":{"name":"2014 23rd Australian Software Engineering Conference","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127826687","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Feature Usage as a Value Indicator for Decision Making","authors":"Sarunas Marciuska, Çigdem Gencel, P. Abrahamsson","doi":"10.1109/ASWEC.2014.16","DOIUrl":"https://doi.org/10.1109/ASWEC.2014.16","url":null,"abstract":"The number of features that add a high business value to a software product is stated to be lower in comparison to a total number of features. Some of the features lose their value in time, others are less valuable than intended from the very beginning. This might bloat the system with unnecessary features, which decrease the performance speed, require higher hardware capacities and increase maintenance costs. Therefore, the challenge is to monitor the customer's perceived value of the features in order to define strategies how to improve the product. In this paper, we investigate whether a combination of feature usage measures could be used as an indicator to monitor value of features and hence support decision making process. To this end, we conducted a case study in a startup company selecting a web based movie recommender system as the case.","PeriodicalId":430257,"journal":{"name":"2014 23rd Australian Software Engineering Conference","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126894994","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Inconsistency Management between Architectural Decisions and Designs Using Constraints and Model Fixes","authors":"Ioanna Lytra, Uwe Zdun","doi":"10.1109/ASWEC.2014.33","DOIUrl":"https://doi.org/10.1109/ASWEC.2014.33","url":null,"abstract":"The software architecture community has proposed to document the design rationale of software architectures by means of architectural design decisions (ADDs). The constant evolution of software systems requires that both architectural designs and corresponding ADDs are continuously documented and synchronized. However, in practice, designs and ADDs become inconsistent over time. Usually, the potential inconsistencies need to be detected and resolved manually. We propose to alleviate this problem by providing semi-automated support for detecting and handling these inconsistencies. For this, we use constraints for consistency checking between reusable ADDs and component-and-connector (C&C) models. These constraints apply on the C&C models and their invalidation is resolved by software architects either 1) by executing automatically suggested model fixes on the C&C models, or 2) by reconsidering ADDs and subsequently updating the corresponding C&C diagrams, in order to align designs to decisions. We demonstrate our approach in the context of a case study and evaluate its efficiency and scalability.","PeriodicalId":430257,"journal":{"name":"2014 23rd Australian Software Engineering Conference","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133405697","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
P. Antonino, Thorsten Keuler, Nicolas Germann, Brian Cronauer
{"title":"A Non-invasive Approach to Trace Architecture Design, Requirements Specification and Agile Artifacts","authors":"P. Antonino, Thorsten Keuler, Nicolas Germann, Brian Cronauer","doi":"10.1109/ASWEC.2014.30","DOIUrl":"https://doi.org/10.1109/ASWEC.2014.30","url":null,"abstract":"Agile processes emphasize iterative delivery rather than assuming the definition of all detailed requirements and architecture up front. This \"just enough\" approach generally considers user stories and acceptance tests as sufficient documentation for successful system development. However, industry practices have shown that this minimalism is appropriate for projects with short duration and small collocated teams. In the development of large systems, the \"just enough\" documentation goes beyond the traditional set recommended by the Agile evangelists, due to the diversity of elements to be considered, as for instance geographic distribution of the teams, necessity to comply with industry regulations, strict IT governance programs, integration of the system being developed with others, or even the presence of not-so-agile people in the teams. In this context, a more complex set of artifacts is required to ensure the proper development of systems, such as more detailed requirements documents and architectural specification. In this regard, to support the agile development of large systems, we introduce TraceMan - Traceability Manager as a mechanism for ensuring traceability among user stories, traditional requirements documents, test specifications, architecture design, and source code. We also present an experience report on how TraceMan has been used in the daily activities at John Deere Intelligent Solutions Group (ISG) to support traceability among development artifacts.","PeriodicalId":430257,"journal":{"name":"2014 23rd Australian Software Engineering Conference","volume":"20 1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133227790","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Fail-Safe Testing of Safety-Critical Systems","authors":"A. Gario, A. Andrews","doi":"10.1109/ASWEC.2014.19","DOIUrl":"https://doi.org/10.1109/ASWEC.2014.19","url":null,"abstract":"This paper proposes an approach for testing of safety critical systems. It is based on a behavioral and a fault model. The two models are analyzed for compatibility and necessary changes are identified to make them compatible. Then transformation rules are used to transform the fault model into the same model type as the behavioral model. Integration rules define how to combine them. This approach results in an integrated model which then can be used to generate tests using a variety of testing criteria. The paper illustrates this general framework using a CEFSM for the behavioral model and a Fault Tree for the fault model. A case study from the literature illustrates how to apply the approach.","PeriodicalId":430257,"journal":{"name":"2014 23rd Australian Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128436740","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}