O. Alfonzo, Kenyer Domínguez, Lornel Rivas, M. Pérez, L. Mendoza, Maryoly Ortega
The selection of Free/Libre Open Source Software (FLOSS) tools for Analysis and Design (A&D) is a hard task due to their complexity, their wide variety within the market, and their functionality level. This article aims at introducing a group of quality features to evaluate FLOSS tools for A&D. Such features are presented based on the perspective of the Software Quality Systemic Model (MOSCA), inspired by ISO/IEC 9126 [9], Dromey's quality model [5] and the Goal-Question-Metrics (GQM) Paradigm. This model includes attributes such as functionality, usability and maintainability, and establishes 52 new metrics for a total of 102 metrics that allow evaluating FLOSS tools for A&D within a specific context. Lastly, validation of this proposal is verified through its application on eight FLOSS-based A&D tools.
{"title":"Quality Measurement Model for Analysis and Design Tools Based on FLOSS","authors":"O. Alfonzo, Kenyer Domínguez, Lornel Rivas, M. Pérez, L. Mendoza, Maryoly Ortega","doi":"10.1109/ASWEC.2008.70","DOIUrl":"https://doi.org/10.1109/ASWEC.2008.70","url":null,"abstract":"The selection of Free/Libre Open Source Software (FLOSS) tools for Analysis and Design (A&D) is a hard task due to their complexity, their wide variety within the market, and their functionality level. This article aims at introducing a group of quality features to evaluate FLOSS tools for A&D. Such features are presented based on the perspective of the Software Quality Systemic Model (MOSCA), inspired by ISO/IEC 9126 [9], Dromey's quality model [5] and the Goal-Question-Metrics (GQM) Paradigm. This model includes attributes such as functionality, usability and maintainability, and establishes 52 new metrics for a total of 102 metrics that allow evaluating FLOSS tools for A&D within a specific context. Lastly, validation of this proposal is verified through its application on eight FLOSS-based A&D tools.","PeriodicalId":231903,"journal":{"name":"19th Australian Conference on Software Engineering (aswec 2008)","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128000506","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 engineering has always had software reuse as one of its key tenets. In both service-oriented and resource-oriented architectures visibility is a prerequisite for fulfilling their respective promises, namely easier reuse of services and resources. Resource registries are a way to achieve such visibility. We argue that resource registries must separate technical, semantic and organizational aspects and leverage popular existing standards. This way they are able to adapt to domain specific requirements and a multitude of categorizations of and associations between resources. These arguments are backed up by examples primarily from the nascent pan-European eGovernment resource network.
{"title":"Software Reuse through Resource Registries","authors":"M. Küster, C. Ludwig","doi":"10.1109/ASWEC.2008.87","DOIUrl":"https://doi.org/10.1109/ASWEC.2008.87","url":null,"abstract":"Software engineering has always had software reuse as one of its key tenets. In both service-oriented and resource-oriented architectures visibility is a prerequisite for fulfilling their respective promises, namely easier reuse of services and resources. Resource registries are a way to achieve such visibility. We argue that resource registries must separate technical, semantic and organizational aspects and leverage popular existing standards. This way they are able to adapt to domain specific requirements and a multitude of categorizations of and associations between resources. These arguments are backed up by examples primarily from the nascent pan-European eGovernment resource network.","PeriodicalId":231903,"journal":{"name":"19th Australian Conference on Software Engineering (aswec 2008)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129980166","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}
A software component graph, where a node represents a component and an edge represents a use-relation between components, is widely used for analysis methods of software engineering. It is said that a graph is characterized by its degree distribution. In this paper, we investigate software component graphs composed of Java classes, to seek whether the degree distribution follows so-called the power-law, which is a fundamental characteristic of various kinds of graphs in different fields. We found that the in-degree distribution follows the power-law and the out-degree distribution does not follow the power-law. In a software component graph with about 180 thousand components, just a few of the components have more than ten thousand in-degrees while most of the components have only one or zero in-degree.
{"title":"An Exploration of Power-Law in Use-Relation of Java Software Systems","authors":"M. Ichii, M. Matsushita, Katsuro Inoue","doi":"10.1109/ASWEC.2008.60","DOIUrl":"https://doi.org/10.1109/ASWEC.2008.60","url":null,"abstract":"A software component graph, where a node represents a component and an edge represents a use-relation between components, is widely used for analysis methods of software engineering. It is said that a graph is characterized by its degree distribution. In this paper, we investigate software component graphs composed of Java classes, to seek whether the degree distribution follows so-called the power-law, which is a fundamental characteristic of various kinds of graphs in different fields. We found that the in-degree distribution follows the power-law and the out-degree distribution does not follow the power-law. In a software component graph with about 180 thousand components, just a few of the components have more than ten thousand in-degrees while most of the components have only one or zero in-degree.","PeriodicalId":231903,"journal":{"name":"19th Australian Conference on Software Engineering (aswec 2008)","volume":"10 5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124945052","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}
The Auckland layout model (ALM) is a novel technique for specifying layout. It generalizes grid-based layouts as they are widely used for print layout as well as for GUI layout. Qualitatively, in ALM the focus switches from the cells of the grid to the tabstops between cells. Quantitatively, the model permits the specification of constraints based on linear algebra, and an optimal layout is calculated using linear programming. ALM provides several advantages for developers: first, it supports several different levels of abstraction through higher-level layout constructs that are automatically translated into the lower-level primitives of linear programming. The formalism of linear programming defines a clean separation of ALM's interface and its implementation. Second, the compositional nature of ALM allows developers to group parts of a specification that belong naturally together, resulting in a modular GUI specification. Our experience has shown that it is much harder to achieve a similar separation of concerns when using common GUI layout techniques.
{"title":"Modular Specification of GUI Layout Using Constraints","authors":"C. Lutteroth, Gerald Weber","doi":"10.1109/ASWEC.2008.49","DOIUrl":"https://doi.org/10.1109/ASWEC.2008.49","url":null,"abstract":"The Auckland layout model (ALM) is a novel technique for specifying layout. It generalizes grid-based layouts as they are widely used for print layout as well as for GUI layout. Qualitatively, in ALM the focus switches from the cells of the grid to the tabstops between cells. Quantitatively, the model permits the specification of constraints based on linear algebra, and an optimal layout is calculated using linear programming. ALM provides several advantages for developers: first, it supports several different levels of abstraction through higher-level layout constructs that are automatically translated into the lower-level primitives of linear programming. The formalism of linear programming defines a clean separation of ALM's interface and its implementation. Second, the compositional nature of ALM allows developers to group parts of a specification that belong naturally together, resulting in a modular GUI specification. Our experience has shown that it is much harder to achieve a similar separation of concerns when using common GUI layout techniques.","PeriodicalId":231903,"journal":{"name":"19th Australian Conference on Software Engineering (aswec 2008)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122343881","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}
The model driven architecture (MDA) is a software design approach initiated by OMG. MDA is intended to support model driven engineering of software systems. Under MDA, the central artifacts are models which are transformed to include platform-specific detail, and eventually to source code. Therefore, model transformations play a key role in making MDA succeed. However, much less attention has been given to the need to ensure that model transformations generate the intended results. This paper explores validation and verification of model transformations using testing techniques. The paper describes the steps for generating test input models from a given set of transformation rules and the corresponding source metamodel(s). The process of testing model transformations has been implemented in a prototype tool that is built using the eclipse modeling framework (EMF).
{"title":"Automatic Generation of Test Models for Model Transformations","authors":"Junhua Wang, Soon-Kyeong Kim, D. Carrington","doi":"10.1109/ASWEC.2008.42","DOIUrl":"https://doi.org/10.1109/ASWEC.2008.42","url":null,"abstract":"The model driven architecture (MDA) is a software design approach initiated by OMG. MDA is intended to support model driven engineering of software systems. Under MDA, the central artifacts are models which are transformed to include platform-specific detail, and eventually to source code. Therefore, model transformations play a key role in making MDA succeed. However, much less attention has been given to the need to ensure that model transformations generate the intended results. This paper explores validation and verification of model transformations using testing techniques. The paper describes the steps for generating test input models from a given set of transformation rules and the corresponding source metamodel(s). The process of testing model transformations has been implemented in a prototype tool that is built using the eclipse modeling framework (EMF).","PeriodicalId":231903,"journal":{"name":"19th Australian Conference on Software Engineering (aswec 2008)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127422584","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}
Most large and medium-sized organizations have shifted the focus of some or all of their organizational software development from tailored software, developed in object-oriented programming languages, to the use of configurable off-the-shelf packages or ERP systems. These systems offer a range of built-in functionality that can be adapted to specific requirements and offer opportunities for rapid system deployment and faster 'time-to-value', where the 'time-to-value' is the time after deployment when the system is fully operational and delivering value to the company.
{"title":"Fitting Software to the Organization: Reducing Time to Value for New Software Systems","authors":"I. Sommerville","doi":"10.1109/ASWEC.2008.84","DOIUrl":"https://doi.org/10.1109/ASWEC.2008.84","url":null,"abstract":"Most large and medium-sized organizations have shifted the focus of some or all of their organizational software development from tailored software, developed in object-oriented programming languages, to the use of configurable off-the-shelf packages or ERP systems. These systems offer a range of built-in functionality that can be adapted to specific requirements and offer opportunities for rapid system deployment and faster 'time-to-value', where the 'time-to-value' is the time after deployment when the system is fully operational and delivering value to the company.","PeriodicalId":231903,"journal":{"name":"19th Australian Conference on Software Engineering (aswec 2008)","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126652839","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}
Within multi agent systems (MAS), knowledge plays an important role in agent communication, reasoning and supporting interoperability. It is often considered as an ontology which contains explicit domain knowledge to be used by agents. Although there are many ontology development or engineering methodologies, current efforts to incorporate knowledge into MAS are too focused on computational aspects or ad hoc. Working at the computational model is too low level, and many processes are left implicit to the developer. This paper focuses on engineering the agent knowledge development process. A set of activities is proposed to externalize processes involved in managing agent domain knowledge, preferring software engineering approaches to ad hoc processes. The activities are classified into analysis and design steps together forming a development model suite (e.g. user model, motivation model, task model and design model). With guidance, we have successfully developed agents' knowledge based on a real life application in finding a potential advisor for a graduate student. Finally, it enables the agent developer to use, reuse and maintain the agent knowledge.
{"title":"Analysis and Design of Multi Agent Knowledge Development Process","authors":"W. Cheah, L. Sterling","doi":"10.1109/ASWEC.2008.74","DOIUrl":"https://doi.org/10.1109/ASWEC.2008.74","url":null,"abstract":"Within multi agent systems (MAS), knowledge plays an important role in agent communication, reasoning and supporting interoperability. It is often considered as an ontology which contains explicit domain knowledge to be used by agents. Although there are many ontology development or engineering methodologies, current efforts to incorporate knowledge into MAS are too focused on computational aspects or ad hoc. Working at the computational model is too low level, and many processes are left implicit to the developer. This paper focuses on engineering the agent knowledge development process. A set of activities is proposed to externalize processes involved in managing agent domain knowledge, preferring software engineering approaches to ad hoc processes. The activities are classified into analysis and design steps together forming a development model suite (e.g. user model, motivation model, task model and design model). With guidance, we have successfully developed agents' knowledge based on a real life application in finding a potential advisor for a graduate student. Finally, it enables the agent developer to use, reuse and maintain the agent knowledge.","PeriodicalId":231903,"journal":{"name":"19th Australian Conference on Software Engineering (aswec 2008)","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128289228","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}
While mobile users want to obtain software anywhere and anytime without the knowledge of software availability in advance, software providers want to deploy their software to mobile devices without the users' intervention. However, because mobile devices expose special characteristics such as restriction of capability, heterogeneity, mobility, wireless connectivity, and context-orientation, deployment of software or context-aware services on mobile devices is a problematical issue. This work proposes a framework for over the air provider-initiated software deployment on mobile devices (OTA-PSD). Using the OTA-PSD, once new software or software updates are available, by the initiation of the provider, the compatible mobile devices, which have subscribed to the provider, will automatically receive this software with the minimum users' intervention. This framework allows providers to deploy their services on mobile devices based on users' context and device specification. To demonstrate the feasibility of the OTA-PSD, we developed a deployment system based on the OTA-PSD. We successfully demonstrated the deployment of a case study using our deployment system.
{"title":"A Framework for Over the Air Provider-Initiated Software Deployment on Mobile Devices","authors":"C. Vo, T. Torabi","doi":"10.1109/ASWEC.2008.31","DOIUrl":"https://doi.org/10.1109/ASWEC.2008.31","url":null,"abstract":"While mobile users want to obtain software anywhere and anytime without the knowledge of software availability in advance, software providers want to deploy their software to mobile devices without the users' intervention. However, because mobile devices expose special characteristics such as restriction of capability, heterogeneity, mobility, wireless connectivity, and context-orientation, deployment of software or context-aware services on mobile devices is a problematical issue. This work proposes a framework for over the air provider-initiated software deployment on mobile devices (OTA-PSD). Using the OTA-PSD, once new software or software updates are available, by the initiation of the provider, the compatible mobile devices, which have subscribed to the provider, will automatically receive this software with the minimum users' intervention. This framework allows providers to deploy their services on mobile devices based on users' context and device specification. To demonstrate the feasibility of the OTA-PSD, we developed a deployment system based on the OTA-PSD. We successfully demonstrated the deployment of a case study using our deployment system.","PeriodicalId":231903,"journal":{"name":"19th Australian Conference on Software Engineering (aswec 2008)","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122786966","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}
We developed a novel method called Analogy-X to provide statistical inference procedures for analogy- based software effort estimation. Analogy-X is a method to statistically evaluate the relationship between useful project features and target features such as effort to be estimated, which ensures the dataset used is relevant to the prediction problem, and project features are selected based on their statistical contribution to the target variables. We hypothesize that this method can be (1) easily applied to a much larger dataset, and (2) also it can be used for incorporating joint effort and duration estimation into analogy, which was not previously possible with conventional analogy estimation. To test these two hypotheses, we conducted two experiments using different datasets. Our results show that Analogy-X is able to deal with ultra large datasets effectively and provides useful statistics to assess the quality of the dataset. In addition, our results show that feature selection for duration estimation differs from feature selection for joint-effort duration estimation. We conclude Analogy-X allows users to assess the best procedure for estimating duration given their specific requirements and dataset.
{"title":"Experiments with Analogy-X for Software Cost Estimation","authors":"J. Keung, B. Kitchenham","doi":"10.1109/ASWEC.2008.37","DOIUrl":"https://doi.org/10.1109/ASWEC.2008.37","url":null,"abstract":"We developed a novel method called Analogy-X to provide statistical inference procedures for analogy- based software effort estimation. Analogy-X is a method to statistically evaluate the relationship between useful project features and target features such as effort to be estimated, which ensures the dataset used is relevant to the prediction problem, and project features are selected based on their statistical contribution to the target variables. We hypothesize that this method can be (1) easily applied to a much larger dataset, and (2) also it can be used for incorporating joint effort and duration estimation into analogy, which was not previously possible with conventional analogy estimation. To test these two hypotheses, we conducted two experiments using different datasets. Our results show that Analogy-X is able to deal with ultra large datasets effectively and provides useful statistics to assess the quality of the dataset. In addition, our results show that feature selection for duration estimation differs from feature selection for joint-effort duration estimation. We conclude Analogy-X allows users to assess the best procedure for estimating duration given their specific requirements and dataset.","PeriodicalId":231903,"journal":{"name":"19th Australian Conference on Software Engineering (aswec 2008)","volume":"142 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124312130","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 developers' work is much more interesting and multifarious in practice than formal definitions of software development processes imply. Rational models of work are often representations of processes defined as they should be performed, rather than portrayals of what people actually do in practice. These models offer a simplified picture of the phenomena involved, and are frequently confused with how the work is carried out in reality, or they are advocated as the ideal way to accomplish the work. A longitudinal ethnographic study (45 days of fieldwork over 20 months) of a group of professional software developers revealed the importance of including their observed practice, and the "infrastructure" that supports and shapes this practice, in an authentic account of their work. Moreover, this research revealed that software development work practice and the infrastructure used to produce software are inextricably entwined and mutually constitutive over time.
{"title":"Situated Software Development: Work Practice and Infrastructure Are Mutually Constitutive","authors":"J. Prior, Toni Robertson, J. Leaney","doi":"10.1109/ASWEC.2008.12","DOIUrl":"https://doi.org/10.1109/ASWEC.2008.12","url":null,"abstract":"Software developers' work is much more interesting and multifarious in practice than formal definitions of software development processes imply. Rational models of work are often representations of processes defined as they should be performed, rather than portrayals of what people actually do in practice. These models offer a simplified picture of the phenomena involved, and are frequently confused with how the work is carried out in reality, or they are advocated as the ideal way to accomplish the work. A longitudinal ethnographic study (45 days of fieldwork over 20 months) of a group of professional software developers revealed the importance of including their observed practice, and the \"infrastructure\" that supports and shapes this practice, in an authentic account of their work. Moreover, this research revealed that software development work practice and the infrastructure used to produce software are inextricably entwined and mutually constitutive over time.","PeriodicalId":231903,"journal":{"name":"19th Australian Conference on Software Engineering (aswec 2008)","volume":"66 3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2008-03-26","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120873726","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}