136 research outputs found
Preserving the Quality of Architectural Tactics in Source Code
In any complex software system, strong interdependencies exist between requirements and software architecture. Requirements drive architectural choices while also being constrained by the existing architecture and by what is economically feasible. This makes it advisable to concurrently specify the requirements, to devise and compare alternative architectural design solutions, and ultimately to make a series of design decisions in order to satisfy each of the quality concerns.
Unfortunately, anecdotal evidence has shown that architectural knowledge tends to be tacit in nature, stored in the heads of people, and lost over time. Therefore, developers often lack comprehensive knowledge of underlying architectural design decisions and inadvertently degrade the quality of the architecture while performing maintenance activities. In practice, this problem can be addressed through preserving the relationships between the requirements, architectural design decisions and their implementations in the source code, and then using this information to keep developers aware of critical architectural aspects of the code.
This dissertation presents a novel approach that utilizes machine learning techniques to recover and preserve the relationships between architecturally significant requirements, architectural decisions and their realizations in the implemented code.
Our approach for recovering architectural decisions includes the two primary stages of training and classification. In the first stage, the classifier is trained using code snippets of different architectural decisions collected from various software systems. During this phase, the classifier learns the terms that developers typically use to implement each architectural decision. These ``indicator terms\u27\u27 represent method names, variable names, comments, or the development APIs that developers inevitably use to implement various architectural decisions. A probabilistic weight is then computed for each potential indicator term with respect to each type of architectural decision. The weight estimates how strongly an indicator term represents a specific architectural tactics/decisions. For example, a term such as \emph{pulse} is highly representative of the heartbeat tactic but occurs infrequently in the authentication. After learning the indicator terms, the classifier can compute the likelihood that any given source file implements a specific architectural decision.
The classifier was evaluated through several different experiments including classical cross-validation over code snippets of 50 open source projects and on the entire source code of a large scale software system. Results showed that classifier can reliably recognize a wide range of architectural decisions.
The technique introduced in this dissertation is used to develop the Archie tool suite. Archie is a plug-in for Eclipse and is designed to detect wide range of architectural design decisions in the code and to protect them from potential degradation during maintenance activities. It has several features for performing change impact analysis of architectural concerns at both the code and design level and proactively keep developers informed of underlying architectural decisions during maintenance activities.
Archie is at the stage of technology transfer at the US Department of Homeland Security where it is purely used to detect and monitor security choices. Furthermore, this outcome is integrated into the Department of Homeland Security\u27s Software Assurance Market Place (SWAMP) to advance research and development of secure software systems
GQ-BPAOntoSOA: A goal- and object- based semantic framework for deriving software services from an organisation’s goals and riva business process architecture
Understanding a business organisation is a primary activity that is required for deriving service-oriented systems that assist in carrying out the business activities of an organisation. Business IT alignment is one of the hot topics that concerns with aligning business needs and system needs in order to keep a business organisation competitive in a market. One example in this area is the BPAOntoSOA framework that aligned business process architecture and the service-oriented model of computing. The BPAOntoSOA framework is a semantically enriched framework for deriving service oriented architecture candidate software services from a Riva-based business process architecture. The BPAOntoSOA framework was recently proposed in order to align the candidate software services to the business processes presented in a Riva business process architecture. The activities of the BPAOntoSOA framework are structured into two-semantic-based layers that are formed in a top-down manner. The top layer, the BPAOnt ontology instantiation layer, concerned with conceptualising the Riva business process architecture and the associated business process models. The bottom layer, which is the software service identification layer, concerned with the semantic identification of the service-oriented architecture candidate software services and their associated capabilities. In this layer, RPA clusters were used to describe the derived candidate software service. Ontologies were used in order to support addressing the semantic representation. However, the BPAOntoSOA framework has two limitations. First, the derived candidate software services are identified without considering the business goals. Second, the desired quality of service requirements that constrain the functionality of the software services are absent. This research is concerned with resolving these two limitations within the BPAOntoSOA framework. In this research, the original BPAOntoSOA framework has been extended into the GQ-BPAOntoSOA framework. A new semantic-based layer has been added into the two original layers. The new layer is concerned with conceptualising the goal- and quality- oriented models in order to address their absence in the original BPAOntoSOA framework. The new layer is called the GQOnt ontology instantiation layer. This extension has highlighted the need for aligning the models within the original BPAOnt intonation layer with the ones in the new layer. This is because the BPAOnt was the base for the identification of the candidate software services and capabilities. Therefore, a novel alignment approach has been proposed in order to address this need. Also, the original service identification approach is refined in order to adapt with the integration of goals and quality requirements.The GQ-BPAOntoSOA framework, which is a goal-based and quality-linked extended BPAOntoSOA framework, has been evaluated using the Cancer Care Registration process. This is the same case study used in the evaluation of the BPAOntoSOA framework. And this is required in order to investigate the implication of integrating goals and quality requirements into the pre-existing BPAOntoSOA framework-driven candidate software services. This has shown that: (1) the GQOnt ontology does not only contribute to the extension of the BPAOntoSOA framework, yet it also contributes to providing a semantic representation of a business strategy view for an organisation. The GQOnt ontology acts as an independent repository of knowledge in order to have an early agreement between stakeholders with regard to business goals and quality requirements. The semantic representation could be reused for different purposes with respect to the needs. (2) the alignment approach has bridged the gap between goal-oriented models and Riva-based business process architectures. (3) the Riva business process architecture modelling method and business process models have been enriched with the integration of goals and quality requirements in order to provide a rich representation of business process architecture and process models that reflect an important information for the given organisation. (4) The service identification approach used in the original BPAOntoSOA framework has been enriched with goals and quality requirements. This has affected the identification of candidate software services (clusters) and their capabilities. Also, the derived candidate software services have conformed to service-oriented architecture principles. Accordingly, This research has bridged the gap between the BPAOntoSOA framework and the business goals and quality requirements. This is anticipated to lead to highly consistent, correct and complete software service specifications
An OMG model-based approach for aligning information systems requirements and architectures with business
Tese de Doutoramento (Programa Doutoral em Tecnologias e Sistemas de Informação)The challenges involved in developing information systems (which are able to adapt to rapidly
changing business and technological conditions) are directly related to the importance of their
alignment with the business counterpart. These challenges comprise issues that cross management
and information systems domains, relating and aligning them in order to attain superior
performance for the organization, while identifying its strategy and tailoring its business processes.
As this relation is increasingly intertwined its concepts are conducted to pragmatic methods,
incorporating both management and information systems components, for how, when and where
this alignment really matters.
The related topics of the alignment between business and information systems comprise diverse
paths of research, though with little common ground established inside the community, where
problems arouse due to the fast moving business and technological environments. According to
these circumstances, the process of developing information systems to support the alignment
benefits from incorporating the use of structured and model-based approaches. So, as the
development of evermore complex information systems presents a challenge for the currently
available methods, the use of models to support the alignment with business stands as an
increasingly important issue.
Following those challenges, we set out to question how to develop solutions aligning information
systems with business in a model-based approach. Accordingly, we support our research on the
need to understand what are the perspectives involved in aligning information systems with
business, and, moreover, to comprehend in what sense model adoption drives information systems
development. So, the proposed goals for this thesis are: (1) set the basis for the elicitation of
business requirements in order to support a well-grounded development of information systems; (2)
provide for the generation of business models based on the business requirements, while assuring
their alignment and traceability; and (3) arrange for the derivation of information system
architectures from the business requirements, while attaining alignment and traceability for their
mutual transformation and adaptation.
Several issues surrounding these goals have already been described and approached in diverse
ways by other researchers, where existing approaches and associated methods achieved good
results. Nevertheless, these approaches are not without their shortfalls, sometimes failing to present
a complete solution, others being unable to adapt to new challenges, or even incapable of reacting
to recent trends. In order to tackle these issues we propose to build upon those approaches by
adapting, evolving and innovating on solutions in each of the three proposed goals, respectively
intertwining with perspectives from related standards and reference models.
Answering the first goal, in what regards the main contributions of this thesis, we propose to
broaden the elicitation of requirements by relating functional and nonfunctional requirements from
business processes. So, we present a unified metamodel representation for those requirements,
accompanied by a customizable method for their joint elicitation, based-on business-driven
use-cases, goals and rules. This approach adopts the Rational Unified Process (RUP) development methodology and the Business Motivation Model (BMM) standard model language representation
for business requirements. Moreover, the metamodel representation and method operationalization
are accompanied by a prototype support tool that completes this first contribution.
For the second goal, a more business-oriented one correlated to the higher-level requirements, we
propose to generate business models directly from the inferred functional and nonfunctional
requirements. So, we present a three-dimensional approach built on the relation of the referred
requirements with the Balanced Scorecard (BSC) reference model, where an additional mapping to
the Business Model Canvas (BMC) is also made available. This proposal provides an associated
metamodel representation for the relation between the elements involved and a customizable
method for their operationalization, all accompanied by a prototype support tool.
On the third goal, focused on system architectures and connected to the lower-level requirements,
we propose to derive service-oriented participants from the functional requirements, while aligning
the nonfunctional requirements with the quality characteristics of the solution to-be. First, we
present an evolution of an existing method for the derivation of a logical architecture, in order to
adapt it to a service-oriented approach (SOA). Then, following on the existing relation between the
nonfunctional and functional side of the low-level requirements, our approach is able to associate
these last with its related services on the derived architecture, in another three-dimensional
approach. Additionally, a mapping of the nonfunctional requirements with the system quality
characteristics (CISQ) is made available. Once more, an associated metamodel, a customizable
method and a prototype support tool are also provided.
The development of these three approaches is supported through the execution of tasks which
originate artifacts and lead to publications associated to their respective research and development
efforts, all according to the Design Science Research (DSR) methodology. These are applied in
ongoing projects involving experimental scenarios in industrial settings and associated to
established research reference patterns, balancing the interests of both researchers and
practitioners while focused both on technology and management audiences. The results obtained
from their evaluation reflect the quality and depth of our findings, helping to validate the scientific
contribution of this work.Os desafios implicados no desenvolvimento de sistemas de informação (que sejam capazes de se
adaptar a condições tecnológicas e de negócios em rápida mutação) estão diretamente
relacionados à importância do seu alinhamento com a contraparte do negócio. Esses desafios
envolvem questões que cruzam os domínios da gestão e dos sistemas de informação,
relacionando-os e alinhando-os com o intuito de alcançar um desempenho superior para a
organização, ao mesmo tempo que identificam a sua estratégia e adequam os seus processos de
negócio. Como esta relação está cada vez mais interligada, os seus conceitos são canalizados para
métodos pragmáticos, incorporando ambos os componentes de sistemas de informação e de
gestão, para saber como, quando e onde este alinhamento realmente interessa.
Os tópicos relacionados com o alinhamento entre negócio e sistemas de informação abrangem
diversos caminhos de pesquisa, embora com poucos alicerces em comum estabelecidos dentro da
comunidade, onde os problemas surgem devido às rápidas mudanças nos negócios e nos
ambientes tecnológicos. De acordo com estas circunstâncias, o processo de desenvolvimento de
sistemas de informação para apoiar o alinhamento beneficia de incorporar o uso de abordagens
estruturadas e baseadas em modelos. Assim, dado que o desenvolvimento de sistemas de
informação cada vez mais complexos apresenta um desafio para os métodos atualmente
disponíveis, o uso de modelos para apoiar o alinhamento com o negócio destaca-se como uma
questão cada vez mais importante.
Em linha com esses desafios, estabelecemos a questão de como desenvolver soluções para alinhar
sistemas de informações com o negócio numa abordagem baseada em modelos. Neste sentido,
apoiamos a nossa pesquisa na necessidade de compreender quais são as perspetivas envolvidas
no alinhamento dos sistemas de informação com o negócio, e, além disso, de compreender em
que sentido a adoção de modelos capacita o desenvolvimento desses sistemas. Assim, os objetivos
propostos para esta tese são: (1) definir as bases para o levantamento de requisitos de negócio a
fim de suportar um desenvolvimento bem fundamentado de sistemas de informação; (2)
disponibilizar a geração de modelos de negócio baseados nos requisitos de negócio, garantindo o
alinhamento e a rastreabilidade entre ambos; e (3) estruturar a derivação de arquiteturas de
sistema de informação a partir dos requisitos de negócio, preservando o alinhamento e
rastreabilidade para a sua mútua transformação e adaptação.
Várias questões envolvendo estes objetivos foram já descritas e tratadas de diversas maneiras por
outros investigadores, tendo as abordagens existentes e os métodos associados alcançado bons
resultados. No entanto, essas abordagens têm as suas lacunas, umas vezes falham em apresentar
uma solução completa, noutras são ineficientes ao se adaptarem a novos desafios, ou mesmo
incapazes de reagir às novas tendências. Para lidar com estas questões, propomo-nos apoiar
nessas abordagens, adaptando, evoluindo e inovando em soluções para cada um dos três objetivos
propostos, intersetando-as, respetivamente, com perspetivas de modelos de referência e padrões
relacionados.
Relativamente ao primeiro objetivo, no que concerne aos principais contributos desta tese,
propomos alargar o levantamento de requisitos, relacionando os requisitos funcionais e nãofuncionais
dos processos de negócios. Assim, apresentamos um meta-modelo para a
representação unificada desses requisitos, acompanhado por um método personalizável para o seu levantamento conjunto, baseada em casos-de-uso, metas e regras orientadas a negócio. Esta
abordagem adota a metodologia de desenvolvimento do Rational Unified Process (RUP) e a
representação padrão do modelo de linguagem do Business Motivation Model (BMM), para os
requisitos de negócio. Além disso, a representação meta-modelo e a operacionalização do método
são acompanhados por um protótipo de uma ferramenta de suporte que completa esta primeira
contribuição.
Quanto ao segundo objetivo, mais orientado ao negócio e correlacionado com os requisitos de nível
superior, propomos gerar modelos de negócio a partir dos requisitos funcionais e não-funcionais
inferidos. Assim, apresentamos uma abordagem tridimensional, construída sobre a relação dos
referidos requisitos com o modelo de referência do Balanced Scorecard (BSC), em que um
mapeamento adicional para o Business Model Canvas (BMC) é também disponibilizado. Esta
proposta inclui um meta-modelo para representação da relação entre os elementos envolvidos e
um método personalizável para a sua operacionalização, tudo acompanhado por um protótipo de
uma ferramenta de suporte.
No terceiro objetivo, focado em arquiteturas de sistema e ligado aos requisitos de nível inferior,
propomos derivar participantes orientados-a-serviços desde os requisitos funcionais, alinhando os
requisitos não-funcionais com as características de qualidade da solução a obter. Primeiro,
apresentamos uma evolução de um método existente para a derivação de uma arquitetura lógica,
adaptando-o a uma abordagem-orientada-a-serviços (SOA). Assim, prosseguindo a relação existente
entre o lado não-funcional e funcional dos requisitos de baixo nível, a nossa abordagem associa
estes últimos com os serviços relacionados na arquitetura derivada, numa outra abordagem
tridimensional. Além disso, um mapeamento dos requisitos não-funcionais com as características
de qualidade do sistema (CISQ) é disponibilizado. Mais uma vez, um meta-modelo associado, um
método personalizável e um protótipo da ferramenta de suporte são disponibilizados.
O desenvolvimento destas três abordagens é suportado pela execução de tarefas, as quais dão
origem a artefatos e levam a publicações associadas aos seus esforços de pesquisa e
desenvolvimento respetivamente, tudo de acordo com a metodologia DSR. Estas são aplicadas a
projetos em andamento, os quais envolvem cenários experimentais em ambientes industriais e
associados a padrões de investigação de referência, equilibrando os interesses de investigadores e
profissionais assim como dos diferentes públicos de tecnologia e gestão. Os resultados obtidos na
sua avaliação refletem a qualidade e a profundidade dos nossos resultados, ajudando a validar a
contribuição científica deste trabalho
Towards Mobile Twin Peaks for App Development
Requirements of mobile apps are often hard to elicit from massive numbers of users, although it is important for the solution architecture to meet them. Mobile Twin Peaks approach is proposed as a process of developing apps concurrently and iteratively that incorporates bidirectional communications within a mobile app. The communications allow both requirements engineers and software architects to reach a consensus on functionalities and quality constraints and to adapt architectural design decisions appropriately. To recommend architectural design decisions to the developers, we aim to obtain architecture- critical requirements from a set of general apps by combining, for example, analytics, ethnographic study, and information retrieval. We argue that the effectiveness of these techniques could be evaluated by experimental case studies and by engaging with industry partners to perform action research
An Industrial Data Analysis and Supervision Framework for Predictive Manufacturing Systems
Due to the advancements in the Information and Communication Technologies field in the
modern interconnected world, the manufacturing industry is becoming a more and more
data rich environment, with large volumes of data being generated on a daily basis, thus
presenting a new set of opportunities to be explored towards improving the efficiency and
quality of production processes.
This can be done through the development of the so called Predictive Manufacturing
Systems. These systems aim to improve manufacturing processes through a combination
of concepts such as Cyber-Physical Production Systems, Machine Learning and real-time
Data Analytics in order to predict future states and events in production. This can be used
in a wide array of applications, including predictive maintenance policies, improving quality
control through the early detection of faults and defects or optimize energy consumption,
to name a few.
Therefore, the research efforts presented in this document focus on the design and development
of a generic framework to guide the implementation of predictive manufacturing
systems through a set of common requirements and components. This approach aims
to enable manufacturers to extract, analyse, interpret and transform their data into actionable
knowledge that can be leveraged into a business advantage. To this end a list
of goals, functional and non-functional requirements is defined for these systems based
on a thorough literature review and empirical knowledge. Subsequently the Intelligent
Data Analysis and Real-Time Supervision (IDARTS) framework is proposed, along with
a detailed description of each of its main components.
Finally, a pilot implementation is presented for each of this components, followed by the
demonstration of the proposed framework in three different scenarios including several use
cases in varied real-world industrial areas. In this way the proposed work aims to provide
a common foundation for the full realization of Predictive Manufacturing Systems
Early aspects: aspect-oriented requirements engineering and architecture design
This paper reports on the third Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design Workshop, which has been held in Lancaster, UK, on March 21, 2004. The workshop included a presentation session and working sessions in which the particular topics on early aspects were discussed. The primary goal of the workshop was to focus on challenges to defining methodical software development processes for aspects from early on in the software life cycle and explore the potential of proposed methods and techniques to scale up to industrial applications
Traceability support in software product lines
Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para a obtenção do grau de Mestre em Engenharia Informática.Traceability is becoming a necessary quality of any modern software system. The
complexity in modern systems is such that, if we cannot rely on good techniques and
tools it becomes an unsustainable burden, where software artifacts can hardly be linked
to their initial requirements.
Modern software systems are composed by a many artifacts (models, code, etc.).
Any change in one of them may have repercussions on many components. The
assessment of this impact usually comes at a high cost and is highly error-prone. This
complexity inherent to software development increases when it comes to Software
Product Line Engineering. Traceability aims to respond to this challenge, by linking all
the software artifacts that are used, in order to reason about how they influence each
others.
We propose to specify, design and implement an extensible Traceability Framework
that will allow developers to provide traceability for a product line, or the possibility to
extend it for other development scenarios. This MSc thesis work is to develop an
extensible framework, using Model-Driven techniques and technologies, to provide
traceability support for product lines. We also wish to provide basic and advanced
traceability queries, and traceability views designed for the needs of each user
Setting a process to effectively measure COTS functional suitability
In attempting to build a COTS integrated system, selection of candidates typically pays attention to specify search criteria and goals to be met. Yet they often overlook some elements in the process such as fact-based decisions and teamwork, which might drive the process helping increase the probability of success. In this paper, we identify some features that we have found useful in our research, and which we believe need further discussion before integrating a process for COTS components measurement.Eje: Ingeniería de SoftwareRed de Universidades con Carreras en Informática (RedUNCI
OpenUP/MDRE: A Model-Driven Requirements Engineering Approach for Health-Care Systems
The domains and problems for which it would be desirable to introduce information systems are currently very complex and the software development process is thus of the same complexity. One of these domains is health-care. Model-Driven Development (MDD) and Service-Oriented Architecture (SOA) are software development approaches that raise to deal with complexity, to reduce time and cost of development, augmenting flexibility and interoperability. However, many techniques and approaches that have been introduced are of little use when not provided under a formalized and well-documented methodological umbrella. A methodology gives the process a well-defined structure that helps in fast and efficient analysis and design, trouble-free implementation, and finally results in the software product improved quality.
While MDD and SOA are gaining their momentum toward the adoption in the software industry, there is one critical issue yet to be addressed before its power is fully realized. It is beyond dispute that requirements engineering (RE) has become a critical task within the software development process. Errors made during this process may have negative effects on subsequent development steps, and on the quality of the resulting software. For this reason, the MDD and SOA development approaches should not only be taken into consideration during design and implementation as usually occurs, but also during the RE process.
The contribution of this dissertation aims at improving the development process of health-care applications by proposing OpenUP/MDRE methodology. The main goal of this methodology is to enrich the development process of SOA-based health-care systems by focusing on the requirements engineering processes in the model-driven context. I believe that the integration of those two highly important areas of software engineering, gathered in one consistent process, will provide practitioners with many benets. It is noteworthy that the approach presented here was designed for SOA-based health-care applications, however, it also provides means to adapt it to other architectural paradigms or domains. The OpenUP/MDRE approach is an extension of the lightweight OpenUP methodology for iterative, architecture-oriented and model-driven software development. The motivation for this research comes from the experience I gained as a computer science professional working on the health-care systems. This thesis also presents a comprehensive study about: i) the requirements engineering methods and techniques that are being used in the context of the model-driven development, ii) known generic but flexible and extensible methodologies, as well as approaches for service-oriented systems development, iii) requirements engineering techniques used in the health-care industry. Finally, OpenUP/MDRE was applied to a concrete industrial health-care project in order to show the feasibility and accuracy of this methodological approach.Loniewski, G. (2010). OpenUP/MDRE: A Model-Driven Requirements Engineering Approach for Health-Care Systems. http://hdl.handle.net/10251/11652Archivo delegad
- …