Hugo de Brito, H. Rocha, Ricardo Terra, M. T. Valente
{"title":"基于层次对象图的运行时架构动态非侵入式提取","authors":"Hugo de Brito, H. Rocha, Ricardo Terra, M. T. Valente","doi":"10.1109/SBCARS.2010.24","DOIUrl":null,"url":null,"abstract":"Reverse engineering techniques are usually applied to extract concrete architecture models. However, these techniques usually extract diagrams that just reveal static architectures, such as class diagrams. On the other hand, the extraction of dynamic architecture models can be particularly useful for an initial understanding of how a system works or to evaluate the impact of a possible maintenance task. This paper describes an approach to extract hierarchical object graphs from running systems. The proposed graphs have several features that -- when combined -- make them valuable when compared to similar approaches, including: (a) support to the hierarchization of objects in domains, (b) support to the full spectrum of relations and entities that are common in object-oriented systems, (c) support to multithreading systems, (d) support to a language to alert about expected (or unexpected) relations between extracted objects. We also describe the design and implementation of a tool for visualizing the proposed object graphs. Finally, we show how our approach can contribute for understanding the running architecture of two systems.","PeriodicalId":114216,"journal":{"name":"2010 Fourth Brazilian Symposium on Software Components, Architectures and Reuse","volume":"107 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-09-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"On-the-Fly and Non-invasive Extraction of Runtime Architectures Using Hierarchical Object Graphs\",\"authors\":\"Hugo de Brito, H. Rocha, Ricardo Terra, M. T. Valente\",\"doi\":\"10.1109/SBCARS.2010.24\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Reverse engineering techniques are usually applied to extract concrete architecture models. However, these techniques usually extract diagrams that just reveal static architectures, such as class diagrams. On the other hand, the extraction of dynamic architecture models can be particularly useful for an initial understanding of how a system works or to evaluate the impact of a possible maintenance task. This paper describes an approach to extract hierarchical object graphs from running systems. The proposed graphs have several features that -- when combined -- make them valuable when compared to similar approaches, including: (a) support to the hierarchization of objects in domains, (b) support to the full spectrum of relations and entities that are common in object-oriented systems, (c) support to multithreading systems, (d) support to a language to alert about expected (or unexpected) relations between extracted objects. We also describe the design and implementation of a tool for visualizing the proposed object graphs. Finally, we show how our approach can contribute for understanding the running architecture of two systems.\",\"PeriodicalId\":114216,\"journal\":{\"name\":\"2010 Fourth Brazilian Symposium on Software Components, Architectures and Reuse\",\"volume\":\"107 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2010-09-27\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2010 Fourth Brazilian Symposium on Software Components, Architectures and Reuse\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SBCARS.2010.24\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2010 Fourth Brazilian Symposium on Software Components, Architectures and Reuse","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SBCARS.2010.24","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
On-the-Fly and Non-invasive Extraction of Runtime Architectures Using Hierarchical Object Graphs
Reverse engineering techniques are usually applied to extract concrete architecture models. However, these techniques usually extract diagrams that just reveal static architectures, such as class diagrams. On the other hand, the extraction of dynamic architecture models can be particularly useful for an initial understanding of how a system works or to evaluate the impact of a possible maintenance task. This paper describes an approach to extract hierarchical object graphs from running systems. The proposed graphs have several features that -- when combined -- make them valuable when compared to similar approaches, including: (a) support to the hierarchization of objects in domains, (b) support to the full spectrum of relations and entities that are common in object-oriented systems, (c) support to multithreading systems, (d) support to a language to alert about expected (or unexpected) relations between extracted objects. We also describe the design and implementation of a tool for visualizing the proposed object graphs. Finally, we show how our approach can contribute for understanding the running architecture of two systems.