Product-line architectures (PLA)s are a paradigm for developing software families by customizing and composing reusable artifacts, rather than handcrafting software from scratch. Extensive testing is required to develop reliable PLAs. Each PLA may have hundreds of valid variants that can be constructed from the architecture's components. It is crucial that each of these variants be thoroughly tested to ensure the quality of these applications on multiple OS platforms and hardware configurations. Setting up test environments and running tests can become extremely complex and expensive as the number of variants and the complexity of their deployment and configuration increases. Once a variant is deemed ready for deployment and configuration in a production environment, it is crucial that these activities be done identically to the tested configurations and upholds the assumptions of the component developers. Rapidly setting up numerous distributed test environments and ensuring that they are deployed and configured correctly is hard. This poster paper presents FireAnt, which is a tool for the model-driven development (MDD) of PLA deployment plans
{"title":"FireAnt: a tool for reducing enterprise product line architecture deployment, configuration, and testing costs","authors":"Jules White, D. Schmidt","doi":"10.1109/ECBS.2006.43","DOIUrl":"https://doi.org/10.1109/ECBS.2006.43","url":null,"abstract":"Product-line architectures (PLA)s are a paradigm for developing software families by customizing and composing reusable artifacts, rather than handcrafting software from scratch. Extensive testing is required to develop reliable PLAs. Each PLA may have hundreds of valid variants that can be constructed from the architecture's components. It is crucial that each of these variants be thoroughly tested to ensure the quality of these applications on multiple OS platforms and hardware configurations. Setting up test environments and running tests can become extremely complex and expensive as the number of variants and the complexity of their deployment and configuration increases. Once a variant is deemed ready for deployment and configuration in a production environment, it is crucial that these activities be done identically to the tested configurations and upholds the assumptions of the component developers. Rapidly setting up numerous distributed test environments and ensuring that they are deployed and configured correctly is hard. This poster paper presents FireAnt, which is a tool for the model-driven development (MDD) of PLA deployment plans","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115794127","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}
Requirements engineering has attained an important role in software development over the last few years as developers and other stakeholders have realized the importance of adequate requirement analysis and design in software development processes. However, the specification and analysis of functional requirements is better established compared to non-functional requirements. This could be attributed to the fact that nonfunctional requirements, such as reliability, accuracy, performance, usability and security are often subjective. Security requirements are often incorporated in an ad hoc manner or considered at post-requirement phase. It is believed that addressing these requirements during the early phase of system development improves the quality of developed applications. Confidentiality is an aspect of a system's security requirements aimed at preventing unauthorized use of personal or corporate data. Concerns from the different stakeholders which can be diverging, have to be addressed, in realizing confidentiality requirements. These concerns are also usually influenced by proposed system functions. This research is aimed at precisely defining confidentiality requirements and applying this for modelling and reasoning in confidentiality requirements engineering
{"title":"Modeling and reasoning for confidentiality requirements in software development","authors":"A. Onabajo, J. Weber","doi":"10.1109/ECBS.2006.50","DOIUrl":"https://doi.org/10.1109/ECBS.2006.50","url":null,"abstract":"Requirements engineering has attained an important role in software development over the last few years as developers and other stakeholders have realized the importance of adequate requirement analysis and design in software development processes. However, the specification and analysis of functional requirements is better established compared to non-functional requirements. This could be attributed to the fact that nonfunctional requirements, such as reliability, accuracy, performance, usability and security are often subjective. Security requirements are often incorporated in an ad hoc manner or considered at post-requirement phase. It is believed that addressing these requirements during the early phase of system development improves the quality of developed applications. Confidentiality is an aspect of a system's security requirements aimed at preventing unauthorized use of personal or corporate data. Concerns from the different stakeholders which can be diverging, have to be addressed, in realizing confidentiality requirements. These concerns are also usually influenced by proposed system functions. This research is aimed at precisely defining confidentiality requirements and applying this for modelling and reasoning in confidentiality requirements engineering","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"474 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115040696","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}
Change types of dynamic system reconfiguration are presented in this paper. A system under evolution implements one or more of these general types within the context of the conditions that motivated the change and the concrete representations of that system. As a set, the types of change represent a comprehensive capability of how a component-based system may evolve. They are governed by system integrity characteristics that help to ensure overall system consistency in the face of change. A system model is employed to describe each change type using examples of global and local properties in the context of a financial analysis system. Based upon these descriptions, a metamodel of change types of dynamic system reconfiguration is presented as a series of UML class models
{"title":"Change types of dynamic system reconfiguration","authors":"James D'Arcy Walsh, F. Bordeleau, B. Selić","doi":"10.1109/ECBS.2006.28","DOIUrl":"https://doi.org/10.1109/ECBS.2006.28","url":null,"abstract":"Change types of dynamic system reconfiguration are presented in this paper. A system under evolution implements one or more of these general types within the context of the conditions that motivated the change and the concrete representations of that system. As a set, the types of change represent a comprehensive capability of how a component-based system may evolve. They are governed by system integrity characteristics that help to ensure overall system consistency in the face of change. A system model is employed to describe each change type using examples of global and local properties in the context of a financial analysis system. Based upon these descriptions, a metamodel of change types of dynamic system reconfiguration is presented as a series of UML class models","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"307 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123628927","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}
Virtual classroom based on Internet is a promising tool for distance education. However, it is difficult for the instructor to instantly know the feedback and evaluation to learners in online courses. The paper gives one instructor-oriented framework for virtual classroom, by which the instructor may know each learner in real time and instantly adjust his approach to teaching. Moreover, in order to improve the participators' freedom for learning & teaching, electronic board is also introduced based on PowerPoint technology. These may provide a good face-to-face interaction among participators. At last, problem-based teaching technology introduced improves learning efficiency & interests
{"title":"A real-time interactive instructor framework for distance education","authors":"Xinyou Zhao, M. Matsumoto, Yan Zhang","doi":"10.1109/ECBS.2006.15","DOIUrl":"https://doi.org/10.1109/ECBS.2006.15","url":null,"abstract":"Virtual classroom based on Internet is a promising tool for distance education. However, it is difficult for the instructor to instantly know the feedback and evaluation to learners in online courses. The paper gives one instructor-oriented framework for virtual classroom, by which the instructor may know each learner in real time and instantly adjust his approach to teaching. Moreover, in order to improve the participators' freedom for learning & teaching, electronic board is also introduced based on PowerPoint technology. These may provide a good face-to-face interaction among participators. At last, problem-based teaching technology introduced improves learning efficiency & interests","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123961581","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}
Multihop message routing is a well studied and widely documented area of research in wireless sensor networks (WSN), where the dynamic and lossy nature of the wireless medium and severe resource constraints pose major challenges. The vast majority of related research focuses on reliable and power-efficient transfer of small amounts of data, such as low frequency sensor readings or event detections. However, in a few but notable WSN applications, reliable transfer of mass data is essential. The paper describes an efficient multihop bulk transfer service along with a complete sensor network application utilizing it for on-demand image transfers. The paper focuses on the unique problems of the service, such as resource allocation, flow control and mobility throughout the modeling, simulation and implementation phases. Models of the protocol have been built and simulated in a probabilistic wireless network simulator. The prototype implementation targets TinyOS, a well-known WSN operating system
{"title":"Reliable multihop bulk transfer service for wireless sensor networks","authors":"P. Völgyesi, András Nádas, Á. Lédeczi","doi":"10.1109/ECBS.2006.59","DOIUrl":"https://doi.org/10.1109/ECBS.2006.59","url":null,"abstract":"Multihop message routing is a well studied and widely documented area of research in wireless sensor networks (WSN), where the dynamic and lossy nature of the wireless medium and severe resource constraints pose major challenges. The vast majority of related research focuses on reliable and power-efficient transfer of small amounts of data, such as low frequency sensor readings or event detections. However, in a few but notable WSN applications, reliable transfer of mass data is essential. The paper describes an efficient multihop bulk transfer service along with a complete sensor network application utilizing it for on-demand image transfers. The paper focuses on the unique problems of the service, such as resource allocation, flow control and mobility throughout the modeling, simulation and implementation phases. Models of the protocol have been built and simulated in a probabilistic wireless network simulator. The prototype implementation targets TinyOS, a well-known WSN operating system","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127534284","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}
Documentation is an integral part of a software system. It contains the information that is necessary to effectively and successfully develop, use, and maintain a system. In practice, however, the creation of appropriate documentation is largely neglected. This paper investigates the reasons for this neglect, presents view-based software documentation, our approach to improve the current situation, and reports on empirical evidence in support of the presented approach. Because the quality of documentation depends on its usage, view-based software documentation exploits existing software modeling techniques to provide all users of documentation with the documentation they require for performing their tasks. View-based software documentation has been empirically validated in a series of experiments and case studies that showed that the approach improves the completeness, correctness, and usefulness of produced and maintained documentation. One of the experiments is described here in more detail
{"title":"A view-based approach for improving software documentation practices","authors":"Joachim Bayer, Dirk Muthig","doi":"10.1109/ECBS.2006.18","DOIUrl":"https://doi.org/10.1109/ECBS.2006.18","url":null,"abstract":"Documentation is an integral part of a software system. It contains the information that is necessary to effectively and successfully develop, use, and maintain a system. In practice, however, the creation of appropriate documentation is largely neglected. This paper investigates the reasons for this neglect, presents view-based software documentation, our approach to improve the current situation, and reports on empirical evidence in support of the presented approach. Because the quality of documentation depends on its usage, view-based software documentation exploits existing software modeling techniques to provide all users of documentation with the documentation they require for performing their tasks. View-based software documentation has been empirically validated in a series of experiments and case studies that showed that the approach improves the completeness, correctness, and usefulness of produced and maintained documentation. One of the experiments is described here in more detail","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127295945","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}
Piotr Tomaszewski, Jim Håkansson, L. Lundberg, Håkan Grahn
Fault prediction models still seem to be more popular in academia than in industry. In industry, expert estimations of fault proneness are the most popular methods of deciding where to focus the fault detection efforts. In this paper, we present a study in which we empirically evaluate the accuracy of fault prediction offered by statistical models as compared to expert estimations. The study is industry based. It involves a large telecommunication system and experts that were involved in the development of this system. Expert estimations are compared to simple prediction models built on another large system, also from the telecommunication domain. We show that the statistical methods clearly outperform the expert estimations. As the main reason for the superiority of the statistical models we see their ability to cope with large datasets, which results in their ability to perform reliable predictions for larger number of components in the system, as well as the ability to perform prediction at a more fine-grain level, e.g., at the class instead of at the component level
{"title":"The accuracy of fault prediction in modified code - statistical model vs. expert estimation","authors":"Piotr Tomaszewski, Jim Håkansson, L. Lundberg, Håkan Grahn","doi":"10.1109/ECBS.2006.68","DOIUrl":"https://doi.org/10.1109/ECBS.2006.68","url":null,"abstract":"Fault prediction models still seem to be more popular in academia than in industry. In industry, expert estimations of fault proneness are the most popular methods of deciding where to focus the fault detection efforts. In this paper, we present a study in which we empirically evaluate the accuracy of fault prediction offered by statistical models as compared to expert estimations. The study is industry based. It involves a large telecommunication system and experts that were involved in the development of this system. Expert estimations are compared to simple prediction models built on another large system, also from the telecommunication domain. We show that the statistical methods clearly outperform the expert estimations. As the main reason for the superiority of the statistical models we see their ability to cope with large datasets, which results in their ability to perform reliable predictions for larger number of components in the system, as well as the ability to perform prediction at a more fine-grain level, e.g., at the class instead of at the component level","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126686251","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}
For several years, researchers have required the development of complex systems to be based on architectural models. Nevertheless, popular programming environments offer architecture related concepts, e.g. components and connectors, only as mere additions to object oriented programming. As a consequence, software is often cluttered with add-ons that are not application related. An important reason for sticking with object oriented languages seem to be indispensable features like encapsulation, inheritance and polymorphism. Therefore, it seems desirable to integrate these features into a programming model which, at the same time, offers built-in concepts for architecture oriented development. This paper presents a prototypical development platform which follows this idea. It is not based on objects but on the fundamental modeling concepts (FMC). As a special feature, it transparently integrates and enforces data consistency rules for distributed, concurrent systems
{"title":"A prototypical platform for architecture oriented development","authors":"P. Tabeling, Rasmus Hofmann","doi":"10.1109/ECBS.2006.14","DOIUrl":"https://doi.org/10.1109/ECBS.2006.14","url":null,"abstract":"For several years, researchers have required the development of complex systems to be based on architectural models. Nevertheless, popular programming environments offer architecture related concepts, e.g. components and connectors, only as mere additions to object oriented programming. As a consequence, software is often cluttered with add-ons that are not application related. An important reason for sticking with object oriented languages seem to be indispensable features like encapsulation, inheritance and polymorphism. Therefore, it seems desirable to integrate these features into a programming model which, at the same time, offers built-in concepts for architecture oriented development. This paper presents a prototypical development platform which follows this idea. It is not based on objects but on the fundamental modeling concepts (FMC). As a special feature, it transparently integrates and enforces data consistency rules for distributed, concurrent systems","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125701114","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}
Software architectures must frequently evolve to cope with changing requirements, and this evolution often implies integrating new concerns. Unfortunately, existing architecture description languages provide little or no support for this kind of evolution. The software architect must modify the architecture manually, which risks introducing inconsistencies. In previous work, we have proposed the TranSATframework, which provides a pattern construct for describing new concerns and their integration into an existing architecture. As the interaction between the new concern and the existing architecture may be complex, it is essential that the framework ensure the coherence of the resulting architecture. In this paper, we introduce a language for specifying patterns and verifications that ensure that the concern represented by a pattern can be safely integrated into an existing architecture. The verifications comprise static verifications that check coherence properties before the architecture is modified and dynamic verifications that focus on the parts of the architecture that are affected by the pattern. As a result of these verifications, patterns can be provided as a commodity, such that a software architect can confidently apply a pattern obtained from a third-party developer
{"title":"Safe integration of new concerns in a software architecture","authors":"Olivier Barais, A. L. Meur, L. Duchien, J. Lawall","doi":"10.1109/ECBS.2006.64","DOIUrl":"https://doi.org/10.1109/ECBS.2006.64","url":null,"abstract":"Software architectures must frequently evolve to cope with changing requirements, and this evolution often implies integrating new concerns. Unfortunately, existing architecture description languages provide little or no support for this kind of evolution. The software architect must modify the architecture manually, which risks introducing inconsistencies. In previous work, we have proposed the TranSATframework, which provides a pattern construct for describing new concerns and their integration into an existing architecture. As the interaction between the new concern and the existing architecture may be complex, it is essential that the framework ensure the coherence of the resulting architecture. In this paper, we introduce a language for specifying patterns and verifications that ensure that the concern represented by a pattern can be safely integrated into an existing architecture. The verifications comprise static verifications that check coherence properties before the architecture is modified and dynamic verifications that focus on the parts of the architecture that are affected by the pattern. As a result of these verifications, patterns can be provided as a commodity, such that a software architect can confidently apply a pattern obtained from a third-party developer","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"119 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133515811","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}
Design patterns are an established means for building evolvable and maintainable object-oriented software. However, using them requires the developer's extensive experience. A wrongly selected design pattern may cause more harm than the right pattern would do good. A single developer is not able to totally know all to date documented patterns, or even identify the best pattern for his current design problem. This paper presents an approach aiding the developer in selecting the right pattern for a given context by introducing annotations (expressing meanings) to object-oriented source code. Eventually the approach is based on trying to match the intentions defined for a particular design pattern with those determined for a given source code fragment. As the existence of source code is a prerequisite the approach is suitable for developers directly working with code and not using a modelling tool that updates their code, or for the reengineering phase
{"title":"Supporting design patterns with annotations","authors":"K. Meffert","doi":"10.1109/ECBS.2006.67","DOIUrl":"https://doi.org/10.1109/ECBS.2006.67","url":null,"abstract":"Design patterns are an established means for building evolvable and maintainable object-oriented software. However, using them requires the developer's extensive experience. A wrongly selected design pattern may cause more harm than the right pattern would do good. A single developer is not able to totally know all to date documented patterns, or even identify the best pattern for his current design problem. This paper presents an approach aiding the developer in selecting the right pattern for a given context by introducing annotations (expressing meanings) to object-oriented source code. Eventually the approach is based on trying to match the intentions defined for a particular design pattern with those determined for a given source code fragment. As the existence of source code is a prerequisite the approach is suitable for developers directly working with code and not using a modelling tool that updates their code, or for the reengineering phase","PeriodicalId":430872,"journal":{"name":"13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06)","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2006-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134009914","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}