首页 > 最新文献

International Workshop on Principles of Software Evolution最新文献

英文 中文
Tracking structural evolution using origin analysis 利用起源分析跟踪结构演化
Pub Date : 2002-05-19 DOI: 10.1145/512035.512062
Michael W. Godfrey, Q. Tu
Many long term studies of software evolution have made the simplifying assumption that the system's architecture and low-level structure is relatively stable. In our past work, we have found that this is often untrue; therefore, we have sought to investigate ways to detect and model structural change in software systems through a technique we call origin analysis [6] and supported a tool called Beagle [7]. In this position paper, we present a summary of our recent and ongoing work in this area, and we argue that more attention needs to be paid to techniques for understanding architectural and structural evolution of software systems.
许多对软件进化的长期研究已经做出了一个简化的假设,即系统的架构和底层结构是相对稳定的。在我们过去的工作中,我们发现这往往是不正确的;因此,我们试图通过一种我们称之为起源分析的技术[6]来研究软件系统中检测和建模结构变化的方法,并支持一种名为Beagle的工具[7]。在这份立场文件中,我们总结了我们在这个领域最近和正在进行的工作,我们认为需要更多地关注理解软件系统的架构和结构演变的技术。
{"title":"Tracking structural evolution using origin analysis","authors":"Michael W. Godfrey, Q. Tu","doi":"10.1145/512035.512062","DOIUrl":"https://doi.org/10.1145/512035.512062","url":null,"abstract":"Many long term studies of software evolution have made the simplifying assumption that the system's architecture and low-level structure is relatively stable. In our past work, we have found that this is often untrue; therefore, we have sought to investigate ways to detect and model structural change in software systems through a technique we call origin analysis [6] and supported a tool called Beagle [7]. In this position paper, we present a summary of our recent and ongoing work in this area, and we argue that more attention needs to be paid to techniques for understanding architectural and structural evolution of software systems.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122367154","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}
引用次数: 45
An approach to evolving database dependent systems 一种发展数据库依赖系统的方法
Pub Date : 2002-05-19 DOI: 10.1145/512035.512061
M. Grechanik, D. Perry, D. Batory
It is common in client/server architectures for components to have SQL statements embedded in their source code. Components submit queries to relational databases using such standards as Universal Data Access (UDA) and Open Database Connectivity (ODBC). The API that implements these standards is complex and requires the embedding of SQL statements in the language that is used to write the components. Such programming practices are widespread and result in increased complexity in maintaining systems.We propose an approach that eliminates the embedding of SQL in programming languages, thereby enabling the automation of important software maintenance tasks.
在客户机/服务器体系结构中,组件在其源代码中嵌入SQL语句是很常见的。组件使用通用数据访问(UDA)和开放数据库连接(ODBC)等标准向关系数据库提交查询。实现这些标准的API很复杂,需要在编写组件所用的语言中嵌入SQL语句。这样的编程实践很普遍,并导致维护系统的复杂性增加。我们提出了一种消除在编程语言中嵌入SQL的方法,从而使重要的软件维护任务自动化。
{"title":"An approach to evolving database dependent systems","authors":"M. Grechanik, D. Perry, D. Batory","doi":"10.1145/512035.512061","DOIUrl":"https://doi.org/10.1145/512035.512061","url":null,"abstract":"It is common in client/server architectures for components to have SQL statements embedded in their source code. Components submit queries to relational databases using such standards as Universal Data Access (UDA) and Open Database Connectivity (ODBC). The API that implements these standards is complex and requires the embedding of SQL statements in the language that is used to write the components. Such programming practices are widespread and result in increased complexity in maintaining systems.We propose an approach that eliminates the embedding of SQL in programming languages, thereby enabling the automation of important software maintenance tasks.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127195875","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}
引用次数: 4
Evolution patterns of open-source software systems and communities 开源软件系统和社区的演化模式
Pub Date : 2002-05-19 DOI: 10.1145/512035.512055
K. Nakakoji, Yasuhiro Yamamoto, Yoshiyuki Nishinaka, K. Kishida, Y. Ye
Open-Source Software (OSS) development is regarded as a successful model of encouraging "natural product evolution". To understand how this "natural product evolution" happens, we have conducted a case study of four typical OSS projects. Unlike most previous studies on software evolution that focus on the evolution of the system per se, our study takes a broader perspective: It examines not only the evolution of OSS systems, but also the evolution of the associated OSS communities, as well as the relationship between the two types of evolution.Through the case study, we have found that while collaborative development within a community is the essential characteristic of OSS, different collaboration models exist, and that the difference in collaboration model results in different evolution patterns of OSS systems and communities. To treat such differences systematically, we propose to classify OSS into three types: Exploration-Oriented, Utility-Oriented, and Service-Oriented. Such a classification can provide guidance on the creation and maintenance of sustainable OSS development and communities.
开源软件(OSS)的开发被认为是鼓励“自然产品进化”的成功模式。为了理解这种“自然产品进化”是如何发生的,我们对四个典型的OSS项目进行了案例研究。与之前大多数关注系统本身的软件进化的研究不同,我们的研究采用了更广阔的视角:它不仅检查了OSS系统的进化,还检查了相关OSS社区的进化,以及两种进化类型之间的关系。通过案例研究,我们发现,虽然社区内的协作开发是OSS的本质特征,但存在不同的协作模型,并且协作模型的差异导致了OSS系统和社区的不同演化模式。为了系统地处理这些差异,我们建议将OSS分为三种类型:面向探索的、面向实用的和面向服务的。这样的分类可以为创建和维护可持续的OSS开发和社区提供指导。
{"title":"Evolution patterns of open-source software systems and communities","authors":"K. Nakakoji, Yasuhiro Yamamoto, Yoshiyuki Nishinaka, K. Kishida, Y. Ye","doi":"10.1145/512035.512055","DOIUrl":"https://doi.org/10.1145/512035.512055","url":null,"abstract":"Open-Source Software (OSS) development is regarded as a successful model of encouraging \"natural product evolution\". To understand how this \"natural product evolution\" happens, we have conducted a case study of four typical OSS projects. Unlike most previous studies on software evolution that focus on the evolution of the system per se, our study takes a broader perspective: It examines not only the evolution of OSS systems, but also the evolution of the associated OSS communities, as well as the relationship between the two types of evolution.Through the case study, we have found that while collaborative development within a community is the essential characteristic of OSS, different collaboration models exist, and that the difference in collaboration model results in different evolution patterns of OSS systems and communities. To treat such differences systematically, we propose to classify OSS into three types: Exploration-Oriented, Utility-Oriented, and Service-Oriented. Such a classification can provide guidance on the creation and maintenance of sustainable OSS development and communities.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121233392","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}
引用次数: 424
Evaluating the applicability of reliability prediction models between different software 评估不同软件间可靠性预测模型的适用性
Pub Date : 2002-05-19 DOI: 10.1145/512035.512057
Shin-ichi Sato, Akito Monden, Ken-ichi Matsumoto
The prediction of fault-prone modules in a large software system is an important part in software evolution. Since prediction models in past studies have been constructed and used for individual systems, it has not been practically investigated whether a prediction model based on one system can also predict fault-prone modules accurately in other systems. Our expectation is that if we could build a model applicable to different systems, it would be extremely useful for software companies because they do not need to invest manpower and time for gathering data to construct a new model for every system.In this study, we evaluated the applicability of prediction models between two software systems through two experiments. In the first experiment, a prediction model using 19 module metrics as predictor variables was constructed in each system and was applied to the opposite system mutually. The result showed predictors were too fit to the base data and could not accurately predict fault-prone modules in the different system. On the basis of this result, we focused on a set of predictors showing great effectiveness in every model; and, in consequent, we identified two metrics (Lines of Code and Maximum Nesting Level) as commonly effective predictors in all the models. In the second experiment, by constructing prediction models using only these two metrics, prediction performance were dramatically improved. This result suggests that the commonly effective model applicable to more than two systems can be constructed by focusing on commonly effective predictors.
大型软件系统中易故障模块的预测是软件进化的重要组成部分。由于以往研究中的预测模型都是针对单个系统构建和使用的,因此基于一个系统的预测模型是否也能准确预测其他系统中的易故障模块,并没有得到实际的研究。我们的期望是,如果我们能够建立一个适用于不同系统的模型,它将对软件公司非常有用,因为他们不需要投入人力和时间来收集数据来为每个系统构建一个新的模型。在本研究中,我们通过两个实验来评估预测模型在两个软件系统之间的适用性。在第一个实验中,在每个系统中构建一个以19个模块指标作为预测变量的预测模型,并相互应用于相反的系统。结果表明,预测器与基础数据过于拟合,不能准确预测不同系统中的易损模块。在此结果的基础上,我们将重点放在一组在每个模型中显示出极大有效性的预测因子上;因此,我们确定了两个度量(代码行数和最大嵌套级别)作为所有模型中通常有效的预测因子。在第二个实验中,通过仅使用这两个指标构建预测模型,预测性能显着提高。这一结果表明,通过关注共同有效预测因子,可以构建适用于两个以上系统的共同有效模型。
{"title":"Evaluating the applicability of reliability prediction models between different software","authors":"Shin-ichi Sato, Akito Monden, Ken-ichi Matsumoto","doi":"10.1145/512035.512057","DOIUrl":"https://doi.org/10.1145/512035.512057","url":null,"abstract":"The prediction of fault-prone modules in a large software system is an important part in software evolution. Since prediction models in past studies have been constructed and used for individual systems, it has not been practically investigated whether a prediction model based on one system can also predict fault-prone modules accurately in other systems. Our expectation is that if we could build a model applicable to different systems, it would be extremely useful for software companies because they do not need to invest manpower and time for gathering data to construct a new model for every system.In this study, we evaluated the applicability of prediction models between two software systems through two experiments. In the first experiment, a prediction model using 19 module metrics as predictor variables was constructed in each system and was applied to the opposite system mutually. The result showed predictors were too fit to the base data and could not accurately predict fault-prone modules in the different system. On the basis of this result, we focused on a set of predictors showing great effectiveness in every model; and, in consequent, we identified two metrics (Lines of Code and Maximum Nesting Level) as commonly effective predictors in all the models. In the second experiment, by constructing prediction models using only these two metrics, prediction performance were dramatically improved. This result suggests that the commonly effective model applicable to more than two systems can be constructed by focusing on commonly effective predictors.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128950909","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}
引用次数: 1
The role of dependencies in component-based systems evolution 依赖关系在基于组件的系统演化中的作用
Pub Date : 2002-05-19 DOI: 10.1145/512035.512051
M. Vieira, D. Richardson
In this position paper we argue that component dependencies should be treated as a first class problem in component-based systems evolution. We discuss some issues related to dependencies and present an overview of a technique to describe and analyze dependencies in component-based systems.
在这篇立场文件中,我们认为组件依赖应该被视为基于组件的系统进化中的第一类问题。我们讨论了一些与依赖关系相关的问题,并概述了在基于组件的系统中描述和分析依赖关系的技术。
{"title":"The role of dependencies in component-based systems evolution","authors":"M. Vieira, D. Richardson","doi":"10.1145/512035.512051","DOIUrl":"https://doi.org/10.1145/512035.512051","url":null,"abstract":"In this position paper we argue that component dependencies should be treated as a first class problem in component-based systems evolution. We discuss some issues related to dependencies and present an overview of a technique to describe and analyze dependencies in component-based systems.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2002-05-19","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129990323","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}
引用次数: 28
Software quark model: an elementary particle model for measuring software evolution 软件夸克模型:用于测量软件演化的基本粒子模型
Pub Date : 2001-09-10 DOI: 10.1145/602461.602475
T. Ajisaka
This paper presents an elementary particle model to facilitate traceability of evolving software. The model is called Software Quark Model, constructed by fundamental conceptual elements representing software subject information. They can interpret any software description except nonfunctional requirements and convey intrinsic semantics independent from any presentation and perspective information.
本文提出了一种基本粒子模型,以促进软件演化的可追溯性。该模型称为软件夸克模型,由表示软件主题信息的基本概念元素构成。它们可以解释除非功能需求之外的任何软件描述,并传达独立于任何表示和透视图信息的内在语义。
{"title":"Software quark model: an elementary particle model for measuring software evolution","authors":"T. Ajisaka","doi":"10.1145/602461.602475","DOIUrl":"https://doi.org/10.1145/602461.602475","url":null,"abstract":"This paper presents an elementary particle model to facilitate traceability of evolving software. The model is called Software Quark Model, constructed by fundamental conceptual elements representing software subject information. They can interpret any software description except nonfunctional requirements and convey intrinsic semantics independent from any presentation and perspective information.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125401773","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}
引用次数: 0
Quantitative observations on object evolution 对物体演化的定量观察
Pub Date : 2001-09-10 DOI: 10.1145/602461.602496
Takako Nakatani
Our research starts to deal with the problems of how to proceed and manage incremental development of object-oriented software. When a system is developed incrementally, an application developer makes various design decisions. We have observed time series data of software development statistically and traced their quantitative characteristics. We have come to the conclusion that statistical analysis gives us two distinct development stages: the adding functions stage and the refactoring stage. This paper focuses on library class evolution processes.
如何进行和管理面向对象软件的增量开发是我们研究的出发点。当以增量方式开发系统时,应用程序开发人员会做出各种设计决策。我们对软件开发的时间序列数据进行了统计观察,并追踪了它们的数量特征。我们得出的结论是,统计分析为我们提供了两个不同的开发阶段:添加函数阶段和重构阶段。本文主要研究图书馆类的演变过程。
{"title":"Quantitative observations on object evolution","authors":"Takako Nakatani","doi":"10.1145/602461.602496","DOIUrl":"https://doi.org/10.1145/602461.602496","url":null,"abstract":"Our research starts to deal with the problems of how to proceed and manage incremental development of object-oriented software. When a system is developed incrementally, an application developer makes various design decisions. We have observed time series data of software development statistically and traced their quantitative characteristics. We have come to the conclusion that statistical analysis gives us two distinct development stages: the adding functions stage and the refactoring stage. This paper focuses on library class evolution processes.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129244329","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}
引用次数: 5
Design pattern concerns for software evolution 设计模式关注软件进化
Pub Date : 2001-09-10 DOI: 10.1145/602461.602498
N. Noda, T. Kishi
Most design patterns help to make systems flexible and extensible. They have potential effects to support evolutionary software development. Ordinary implementation of design patterns, however, is not always enough for evolution. It is based on the inheritance mechanism. This makes application classes quite dependent on patterns and reduces reusability of application classes. In addition, it is difficult to exchange patterns once a system is designed. In this paper, we introduce a way to implement design patterns more flexibly, applying the concept of separation of concerns. It is realized by separating design patterns, as explicit concerns, from the application core that is responsible for the primary functionalities. The new implementation technologies that support the advanced separation of concerns such as Hyper/J™ help with coding this kind of design. Using an example, we show that it is possible to exchange patterns to support different behavior without any change on the application core. Our approach has an advantage that reusability of both design patterns and the application core is improved.
大多数设计模式都有助于使系统变得灵活和可扩展。它们具有支持进化软件开发的潜在影响。然而,设计模式的普通实现对于进化来说并不总是足够的。它基于继承机制。这使得应用程序类非常依赖于模式,并降低了应用程序类的可重用性。此外,一旦系统设计好,就很难交换模式。在本文中,我们介绍了一种更灵活地实现设计模式的方法,即应用关注点分离的概念。它是通过将设计模式(作为显式关注点)与负责主要功能的应用程序核心分离来实现的。支持高级关注点分离的新实现技术(如Hyper/J™)有助于对这种设计进行编码。通过一个示例,我们展示了在不改变应用程序核心的情况下交换模式来支持不同的行为是可能的。我们的方法的优点是改进了设计模式和应用程序核心的可重用性。
{"title":"Design pattern concerns for software evolution","authors":"N. Noda, T. Kishi","doi":"10.1145/602461.602498","DOIUrl":"https://doi.org/10.1145/602461.602498","url":null,"abstract":"Most design patterns help to make systems flexible and extensible. They have potential effects to support evolutionary software development. Ordinary implementation of design patterns, however, is not always enough for evolution. It is based on the inheritance mechanism. This makes application classes quite dependent on patterns and reduces reusability of application classes. In addition, it is difficult to exchange patterns once a system is designed. In this paper, we introduce a way to implement design patterns more flexibly, applying the concept of separation of concerns. It is realized by separating design patterns, as explicit concerns, from the application core that is responsible for the primary functionalities. The new implementation technologies that support the advanced separation of concerns such as Hyper/J™ help with coding this kind of design. Using an example, we show that it is possible to exchange patterns to support different behavior without any change on the application core. Our approach has an advantage that reusability of both design patterns and the application core is improved.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"90 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124622138","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}
引用次数: 12
Metrics for applying GOF design patterns in refactoring processes 在重构过程中应用GOF设计模式的度量
Pub Date : 2001-09-10 DOI: 10.1145/602461.602466
Taichi Muraki, M. Saeki
This paper presents a kind of software design measures that help us to determine the application of Gang-Of-Four design patterns to refactoring processes. Refactoring using design patterns is one of the promising approaches to improve the designs during development activities, and a crucial issue is to identify when, where and which patterns could be applied. We analyzed several actual object-oriented designs of low quality needed to be refactored and focus on the characteristics of conditional statements of methods and inheritance structures, which seemed to cause the low quality. We provide 20 measures to objectively detect these characteristics in object-oriented designs. These measures express the complexity of branching execution in conditional statements and the strength of the dependency among the sub classes in the inheritance trees. Designers can be guided to recognize when, where and which design patterns should be used, in order to refactor their designs of low quality, by calculating these measures. We apply our approach to the low-quality design of the drawing editor that was produced by a novice designer and assess the effectiveness of our measures.
本文提出了一种软件设计方法,帮助我们确定在重构过程中使用四人组设计模式。使用设计模式进行重构是在开发活动中改进设计的一种很有前途的方法,关键问题是确定何时、何地以及应用哪种模式。我们分析了几个实际的需要重构的低质量的面向对象设计,重点分析了方法的条件语句和继承结构的特点,这似乎是导致低质量的原因。我们提供了20种方法来客观地检测面向对象设计中的这些特征。这些度量表达了条件语句中分支执行的复杂性以及继承树中子类之间依赖关系的强度。设计人员可以通过计算这些度量来识别应该在何时、何地以及使用哪些设计模式,以便重构他们的低质量设计。我们将我们的方法应用于由新手设计师制作的图纸编辑器的低质量设计,并评估我们措施的有效性。
{"title":"Metrics for applying GOF design patterns in refactoring processes","authors":"Taichi Muraki, M. Saeki","doi":"10.1145/602461.602466","DOIUrl":"https://doi.org/10.1145/602461.602466","url":null,"abstract":"This paper presents a kind of software design measures that help us to determine the application of Gang-Of-Four design patterns to refactoring processes. Refactoring using design patterns is one of the promising approaches to improve the designs during development activities, and a crucial issue is to identify when, where and which patterns could be applied. We analyzed several actual object-oriented designs of low quality needed to be refactored and focus on the characteristics of conditional statements of methods and inheritance structures, which seemed to cause the low quality. We provide 20 measures to objectively detect these characteristics in object-oriented designs. These measures express the complexity of branching execution in conditional statements and the strength of the dependency among the sub classes in the inheritance trees. Designers can be guided to recognize when, where and which design patterns should be used, in order to refactor their designs of low quality, by calculating these measures. We apply our approach to the low-quality design of the drawing editor that was produced by a novice designer and assess the effectiveness of our measures.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126977219","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}
引用次数: 21
Evolutionary modelling of software systems: its application to agent-based and hypermedia systems 软件系统的进化建模:在基于代理和超媒体系统中的应用
Pub Date : 2001-09-10 DOI: 10.1145/602461.602471
M. Rodríguez-Fórtiz, P. Paderewski, Lina García-Cabrera, J. Parets-Llorca
Evolution of software systems can be conceived from the Theory of Systems as a maturation process in which the developer have an active participation. This paper presents a two levels architecture: system and Meta-system. The developer interacts with the high level, Meta-system, for evolving the structure of the software system defined in the first level in which the user works. This architecture can be used to model the structure, functioning and evolution of any kind of software systems. In concrete, as the paper describes, it is applied to agents-based systems and hypermedia systems in a satisfactory way.
软件系统的演化可以从系统理论中理解为开发人员积极参与的成熟过程。本文提出了一个两层体系结构:系统和元系统。开发人员与高级元系统进行交互,以发展在用户工作的第一层中定义的软件系统的结构。该体系结构可用于对任何类型软件系统的结构、功能和演化进行建模。具体来说,在基于agent的系统和超媒体系统中得到了令人满意的应用。
{"title":"Evolutionary modelling of software systems: its application to agent-based and hypermedia systems","authors":"M. Rodríguez-Fórtiz, P. Paderewski, Lina García-Cabrera, J. Parets-Llorca","doi":"10.1145/602461.602471","DOIUrl":"https://doi.org/10.1145/602461.602471","url":null,"abstract":"Evolution of software systems can be conceived from the Theory of Systems as a maturation process in which the developer have an active participation. This paper presents a two levels architecture: system and Meta-system. The developer interacts with the high level, Meta-system, for evolving the structure of the software system defined in the first level in which the user works. This architecture can be used to model the structure, functioning and evolution of any kind of software systems. In concrete, as the paper describes, it is applied to agents-based systems and hypermedia systems in a satisfactory way.","PeriodicalId":321820,"journal":{"name":"International Workshop on Principles of Software Evolution","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2001-09-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127889126","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}
引用次数: 4
期刊
International Workshop on Principles of Software Evolution
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1