Spelling suggestions: "subject:"1rchitecture ecovery"" "subject:"1rchitecture fecovery""
1 |
Network Architecture Recovery and Verification in the context of CAN Communication in Vehicles / Återskapande av Nätverksarkitektur inom ramen för CAN-kommunikation i FordonGreco, Juan, Mokhtari, Behrooz January 2013 (has links)
Den ökade funktionaliteten i bilindustrin under de senaste åren har orsakat ökad komplexitet i elektriska och elektroniska (E/E) system. Vanligtvis är funktionerna fördelade över olika elektroniska styrenheter (Electronic Control Units, ECU) och behovet av en stabil kommunikation mellan dem är stort. Kommunikationen i lastbilar mellan ECUs görs med "SAE J1939 standard" som kompletterar "Controller Area Network"(CAN)-protokollet. Vanligtvis utvecklas dessa enheter av flera tvärfunktionella grupper, som inte alltid följer liknande utvecklingsprocesser. Dessutom finns det kontextuella begränsningar som: inte alltid korrekt dokumenterade eller föråldrade resurser, bakåt kompatibilitet införandet av nya standarder (dvs. funktionella säkerhetsstandard ISO26262) och förändringar under de iterativa processer V-modellen, som alla resulterar i en slutprodukt långt från den ursprungliga modellen. Vi kommer i denna uppsats att introducera användandet av så kallad ”Architecture Recovery”-teknik (AR) för att extrahera och verifiera systemarkitektur från befintliga system . Det föreslås även vad man bör ha i åtanke vid utvecklingen av program i syfte att senare kunna tillämpa AR tekniker. En modulär verktygskedja har designats och består av en nätverksmodell på hög nivå, mönsterutvinning samt analysverktyg som är tillämpliga på andra möjliga system som studeras. En prototypimplementering har också utvecklats och testats under flera verkliga fallstudier. AR använder sig av information från redan implementerad källkod, och processen som använts stör inte den existerande funktionen i systemet. Vi har visat att sådana verktyg kan användas för att generera en pålitlig representation av systemets arkitektur och att det även ger säkrare fordon genom användandet av tekniker för arkitektur verifiering såsom: conformance (då man undersöker om den aktuella modellen möter kraven), correspondence (jämförelse mellan en tidigare definierad High-level Network Model och den Source Model som extraherats av verktyget) samt consistency (kontrollera samverkan mellan nätverksnoderna). / The increase in functionality in the automotive industry over the last years has caused an increased in complexity of the electrical and electronic (E/E) systems associated. Commonly, functionality is distributed over different Electronic Control Units (ECUs) and the need of a robust communication between them is paramount. In the heavy-duty truck industry communication between ECUs is done using the SAE J1939 standard, which complements the Controller Area Network (CAN) protocol. Usually, these units are developed by multiple cross functional teams which not always follow similar developing processes. Additionally there are contextual constraints like: not properly documented or outdated resources, backward compatibility, introduction of new standards (i.e. functional safety standard ISO26262) and changes over the iterative processes of the V-model, which all result in a final product far from the original model.In this thesis we introduce the use of architecture recovery (AR) techniques, for extraction and verification of system architecture in existing systems. We have also proposed suggestions that can be considered when implementing software in order to apply AR techniques to. The tool chain designed is modular consisting of a high-level network model and extraction patterns and analysis tools which are applicable to other possible systems under study. A prototypical tool-chain was also developed and tested throughout several real case studies. AR utilizes information obtained from already implemented source code, using a non-disruptive complementary process to obtain precise and trustworthy knowledge about the system. We have verified that such a tool can be used to generate a suitable architectural representation of the system and even provide for safer vehicles by the use of architecture verification techniques such as: conformance (examining if the model under examination meets specifications), correspondence (comparison between a previously defined High-level Network Model and the Source Model extracted by the tool) and consistency (defined over the whole distributed system to check interoperability of network nodes).
|
2 |
Agile Architecture RecoverySvetinovic, Davor January 2002 (has links)
Many software development projects start with an existing code base that has to be tightly integrated into a new system. In order to make a robust system that will achieve the desired business goals, developers must be able to understand the architecture of the old code base and its rationale. This thesis presents a lightweight approach for the recovery of software architecture. The main goal of the approach is to provide an efficient way for architecture recovery that works on small to mid-sized software systems, and gives a useful starting point on large ones. The emphasis of the process is on the use of well established development techniques and tools, in order to minimize adoption costs and maximize the return on investment.
|
3 |
Agile Architecture RecoverySvetinovic, Davor January 2002 (has links)
Many software development projects start with an existing code base that has to be tightly integrated into a new system. In order to make a robust system that will achieve the desired business goals, developers must be able to understand the architecture of the old code base and its rationale. This thesis presents a lightweight approach for the recovery of software architecture. The main goal of the approach is to provide an efficient way for architecture recovery that works on small to mid-sized software systems, and gives a useful starting point on large ones. The emphasis of the process is on the use of well established development techniques and tools, in order to minimize adoption costs and maximize the return on investment.
|
4 |
Evaluation of code-based information to architectural module identification / Avaliação da relevância de informações do código fonte para identificar módulos da arquitetura de softwareZapalowski, Vanius January 2014 (has links)
Arquitetura de software desempenha um importante papel no desenvolvimento de software, quando explicitamente documentada, ela melhora o entendimento sobre o sistema implementado e torna possível entender a forma com que requisitos não funcionais são tratados. Apesar da relevância da arquitetura de software, muitos sistemas não possuem uma arquitetura documentada, e nos casos em que a arquitetura existe, ela pode estar desatualizada por causa da evolução descontrolada do software. O processo de recuperação de arquitetura de um sistema depende principalmente do conhecimento que as pessoas envolvidas com o software tem. Isso acontece porque a recuperação de arquitetura é uma tarefa que demanda muita investigação manual do código fonte. Pesquisas sobre recuperação de arquitetura objetivam auxiliar esse processo. A maioria dos métodos de recuperação existentes são baseados em dependência entre elementos da arquitetura, padrões arquiteturais ou similaridade semântica do código fonte. Embora as abordagem atuais ajudem na identi cação de módulos arquiteturais, os resultados devem ser melhorados de forma signi cativa para serem considerados con áveis. Então, nesta dissertação, objetivamos melhorar o suporte a recuperação de arquitetura explorando diferentes fontes de informação e técnicas de aprendizado de máquina. Nosso trabalho consiste de uma análise, considerando cinco estudo de casos, da utilidade de usar um conjunto de características de código (features, no contexto de aprendizado de máquina) para agrupar elementos em módulos da arquitetura. Atualmente não são conhecidas as características que afetam a identificação de papéis na arquitetura de software. Por isso, nós avaliamos a relação entre diferentes conjuntos de características e a acurácia obtida por um algoritmo não supervisionado na identificação de módulos da arquitetura. Consequentemente, nós entendemos quais dessas características revelam informação sobre a organização de papéis do código fonte. Nossa abordagem usando características de elementos de software atingiu uma acurácia média significativa. Indicando a relevância das informações selecionadas para recuperar a arquitetura. Além disso, nós desenvolvemos uma ferramenta para auxílio ao processo de recuperação de arquitetura de software. Nossa ferramenta tem como principais funções a avaliação da recuperação de arquitetura e apresentação de diferentes visualizações arquiteturais. Para isso, apresentamos comparações entre a arquitetura concreta e a arquitetura sugerida. / Software architecture plays an important role in the software development, and when explicitly documented, it allows understanding an implemented system and reasoning about how non-functional requirements are addressed. In spite of that, many developed systems lack proper architecture documentation, and if it exists, it may be outdated due to software evolution. The process of recovering the architecture of a system depends mainly on developers' knowledge requiring a manual inspection of the source code. Research on architecture recovery provides support to this process. Most of the existing approaches are based on architectural elements dependency, architectural patterns or source code semantics, but even though they help identifying architectural modules, the obtained results must be signi cantly improved to be considered reliable. We thus aim to support this task by the exploitation of di erent code-oriented information and machine learning techniques. Our work consists of an analysis, involving ve case studies, of the usefulness of adopting a set of code-level characteristics (or features, in the machine learning terminology) to group elements into architectural modules. The characteristics mainly source code metrics that a ect the identi cation of what role software elements play in software architecture are unknown. Then, we evaluate the relationship between di erent sets of characteristics and the accuracy achieved by an unsupervised algorithm the Expectation Maximization in identifying architectural modules. Consequently, we are able to understand which of those characteristics reveal information about the source code structure. By the use of code-oriented information, our approach achieves a signi cant average accuracy, which indicates the importance of the selected information to recover software architecture. Additionally, we provide a tool to support research on architecture recovery providing software architecture measurements and visualizations. It presents comparisons between predicted architectures and concrete architectures.
|
5 |
Evaluation of code-based information to architectural module identification / Avaliação da relevância de informações do código fonte para identificar módulos da arquitetura de softwareZapalowski, Vanius January 2014 (has links)
Arquitetura de software desempenha um importante papel no desenvolvimento de software, quando explicitamente documentada, ela melhora o entendimento sobre o sistema implementado e torna possível entender a forma com que requisitos não funcionais são tratados. Apesar da relevância da arquitetura de software, muitos sistemas não possuem uma arquitetura documentada, e nos casos em que a arquitetura existe, ela pode estar desatualizada por causa da evolução descontrolada do software. O processo de recuperação de arquitetura de um sistema depende principalmente do conhecimento que as pessoas envolvidas com o software tem. Isso acontece porque a recuperação de arquitetura é uma tarefa que demanda muita investigação manual do código fonte. Pesquisas sobre recuperação de arquitetura objetivam auxiliar esse processo. A maioria dos métodos de recuperação existentes são baseados em dependência entre elementos da arquitetura, padrões arquiteturais ou similaridade semântica do código fonte. Embora as abordagem atuais ajudem na identi cação de módulos arquiteturais, os resultados devem ser melhorados de forma signi cativa para serem considerados con áveis. Então, nesta dissertação, objetivamos melhorar o suporte a recuperação de arquitetura explorando diferentes fontes de informação e técnicas de aprendizado de máquina. Nosso trabalho consiste de uma análise, considerando cinco estudo de casos, da utilidade de usar um conjunto de características de código (features, no contexto de aprendizado de máquina) para agrupar elementos em módulos da arquitetura. Atualmente não são conhecidas as características que afetam a identificação de papéis na arquitetura de software. Por isso, nós avaliamos a relação entre diferentes conjuntos de características e a acurácia obtida por um algoritmo não supervisionado na identificação de módulos da arquitetura. Consequentemente, nós entendemos quais dessas características revelam informação sobre a organização de papéis do código fonte. Nossa abordagem usando características de elementos de software atingiu uma acurácia média significativa. Indicando a relevância das informações selecionadas para recuperar a arquitetura. Além disso, nós desenvolvemos uma ferramenta para auxílio ao processo de recuperação de arquitetura de software. Nossa ferramenta tem como principais funções a avaliação da recuperação de arquitetura e apresentação de diferentes visualizações arquiteturais. Para isso, apresentamos comparações entre a arquitetura concreta e a arquitetura sugerida. / Software architecture plays an important role in the software development, and when explicitly documented, it allows understanding an implemented system and reasoning about how non-functional requirements are addressed. In spite of that, many developed systems lack proper architecture documentation, and if it exists, it may be outdated due to software evolution. The process of recovering the architecture of a system depends mainly on developers' knowledge requiring a manual inspection of the source code. Research on architecture recovery provides support to this process. Most of the existing approaches are based on architectural elements dependency, architectural patterns or source code semantics, but even though they help identifying architectural modules, the obtained results must be signi cantly improved to be considered reliable. We thus aim to support this task by the exploitation of di erent code-oriented information and machine learning techniques. Our work consists of an analysis, involving ve case studies, of the usefulness of adopting a set of code-level characteristics (or features, in the machine learning terminology) to group elements into architectural modules. The characteristics mainly source code metrics that a ect the identi cation of what role software elements play in software architecture are unknown. Then, we evaluate the relationship between di erent sets of characteristics and the accuracy achieved by an unsupervised algorithm the Expectation Maximization in identifying architectural modules. Consequently, we are able to understand which of those characteristics reveal information about the source code structure. By the use of code-oriented information, our approach achieves a signi cant average accuracy, which indicates the importance of the selected information to recover software architecture. Additionally, we provide a tool to support research on architecture recovery providing software architecture measurements and visualizations. It presents comparisons between predicted architectures and concrete architectures.
|
6 |
Evaluation of code-based information to architectural module identification / Avaliação da relevância de informações do código fonte para identificar módulos da arquitetura de softwareZapalowski, Vanius January 2014 (has links)
Arquitetura de software desempenha um importante papel no desenvolvimento de software, quando explicitamente documentada, ela melhora o entendimento sobre o sistema implementado e torna possível entender a forma com que requisitos não funcionais são tratados. Apesar da relevância da arquitetura de software, muitos sistemas não possuem uma arquitetura documentada, e nos casos em que a arquitetura existe, ela pode estar desatualizada por causa da evolução descontrolada do software. O processo de recuperação de arquitetura de um sistema depende principalmente do conhecimento que as pessoas envolvidas com o software tem. Isso acontece porque a recuperação de arquitetura é uma tarefa que demanda muita investigação manual do código fonte. Pesquisas sobre recuperação de arquitetura objetivam auxiliar esse processo. A maioria dos métodos de recuperação existentes são baseados em dependência entre elementos da arquitetura, padrões arquiteturais ou similaridade semântica do código fonte. Embora as abordagem atuais ajudem na identi cação de módulos arquiteturais, os resultados devem ser melhorados de forma signi cativa para serem considerados con áveis. Então, nesta dissertação, objetivamos melhorar o suporte a recuperação de arquitetura explorando diferentes fontes de informação e técnicas de aprendizado de máquina. Nosso trabalho consiste de uma análise, considerando cinco estudo de casos, da utilidade de usar um conjunto de características de código (features, no contexto de aprendizado de máquina) para agrupar elementos em módulos da arquitetura. Atualmente não são conhecidas as características que afetam a identificação de papéis na arquitetura de software. Por isso, nós avaliamos a relação entre diferentes conjuntos de características e a acurácia obtida por um algoritmo não supervisionado na identificação de módulos da arquitetura. Consequentemente, nós entendemos quais dessas características revelam informação sobre a organização de papéis do código fonte. Nossa abordagem usando características de elementos de software atingiu uma acurácia média significativa. Indicando a relevância das informações selecionadas para recuperar a arquitetura. Além disso, nós desenvolvemos uma ferramenta para auxílio ao processo de recuperação de arquitetura de software. Nossa ferramenta tem como principais funções a avaliação da recuperação de arquitetura e apresentação de diferentes visualizações arquiteturais. Para isso, apresentamos comparações entre a arquitetura concreta e a arquitetura sugerida. / Software architecture plays an important role in the software development, and when explicitly documented, it allows understanding an implemented system and reasoning about how non-functional requirements are addressed. In spite of that, many developed systems lack proper architecture documentation, and if it exists, it may be outdated due to software evolution. The process of recovering the architecture of a system depends mainly on developers' knowledge requiring a manual inspection of the source code. Research on architecture recovery provides support to this process. Most of the existing approaches are based on architectural elements dependency, architectural patterns or source code semantics, but even though they help identifying architectural modules, the obtained results must be signi cantly improved to be considered reliable. We thus aim to support this task by the exploitation of di erent code-oriented information and machine learning techniques. Our work consists of an analysis, involving ve case studies, of the usefulness of adopting a set of code-level characteristics (or features, in the machine learning terminology) to group elements into architectural modules. The characteristics mainly source code metrics that a ect the identi cation of what role software elements play in software architecture are unknown. Then, we evaluate the relationship between di erent sets of characteristics and the accuracy achieved by an unsupervised algorithm the Expectation Maximization in identifying architectural modules. Consequently, we are able to understand which of those characteristics reveal information about the source code structure. By the use of code-oriented information, our approach achieves a signi cant average accuracy, which indicates the importance of the selected information to recover software architecture. Additionally, we provide a tool to support research on architecture recovery providing software architecture measurements and visualizations. It presents comparisons between predicted architectures and concrete architectures.
|
7 |
Software Architecture Recovery based on Pattern MatchingSartipi, Kamran January 2003 (has links)
Pattern matching approaches in reverse engineering aim to incorporate domain knowledge and system documentation in the software architecture extraction process, hence provide a user/tool collaborative environment for architectural design recovery. This thesis presents a model and an environment for recovering the high level design of legacy software systems based on user defined architectural patterns and graph matching techniques.
In the proposed model, a high-level view of a software system in terms of the system components and their interactions is represented as a query, using a description language. A query is mapped onto a pattern-graph, where a module and its interactions with other modules are represented as a group of graph-nodes and a group of graph-edges, respectively. Interaction constraints can be modeled by the description language as a part of the query. Such a pattern-graph is applied against an entity-relation graph that represents the information extracted from the source code of the software system. An approximate graph matching process performs a series of graph edit operations (i. e. , node/edge insertion/deletion) on the pattern-graph and uses a ranking mechanism based on data mining association to obtain a sub-optimal solution. The obtained solution corresponds to an extracted architecture that complies with the given query.
An interactive prototype toolkit implemented as part of this thesis provides an environment for architecture recovery in two levels. First the system is decomposed into a number of subsystems of files. Second each subsystem can be decomposed into a number of modules of functions, datatypes, and variables.
|
8 |
Software Architecture Recovery based on Pattern MatchingSartipi, Kamran January 2003 (has links)
Pattern matching approaches in reverse engineering aim to incorporate domain knowledge and system documentation in the software architecture extraction process, hence provide a user/tool collaborative environment for architectural design recovery. This thesis presents a model and an environment for recovering the high level design of legacy software systems based on user defined architectural patterns and graph matching techniques.
In the proposed model, a high-level view of a software system in terms of the system components and their interactions is represented as a query, using a description language. A query is mapped onto a pattern-graph, where a module and its interactions with other modules are represented as a group of graph-nodes and a group of graph-edges, respectively. Interaction constraints can be modeled by the description language as a part of the query. Such a pattern-graph is applied against an entity-relation graph that represents the information extracted from the source code of the software system. An approximate graph matching process performs a series of graph edit operations (i. e. , node/edge insertion/deletion) on the pattern-graph and uses a ranking mechanism based on data mining association to obtain a sub-optimal solution. The obtained solution corresponds to an extracted architecture that complies with the given query.
An interactive prototype toolkit implemented as part of this thesis provides an environment for architecture recovery in two levels. First the system is decomposed into a number of subsystems of files. Second each subsystem can be decomposed into a number of modules of functions, datatypes, and variables.
|
Page generated in 0.0669 seconds