|
I have around 20 years of experience in different topics
of software engineering. My key research topic in software engineering is
software architecture design, which
represents the gross level structure of software intensive-system, is the
earliest artifact in the software life cycle and as such has the largest
impact on the quality of software. I am interested in all topics
related to software architecture design
including modeling architectures, methods of architecture, synthesis of
architecture and evaluation of
architecture.

Software architecture is not only an important topic by itself
but it is also crucial for different software engineering domains. I am
interested in the following domains from the software architecture research
perspective:

Software Product Line Engineering (SPLE)
Software product line is a set of software-intensive systems
sharing a common, managed set of features that specify the specific needs of
a market segment and that are developed from a common set of core assets.
Software product line engineering is a paradigm to develop software product
lines and as such supports reuse, productivity and quality of the systems.
I focus on the role of architecture in product line engineering and the
automation of the product line engineering process as well as the automated
support for transitioning to SPLE.
Model-Driven Software Development (MDSD)
MDSD is a software development paradigm in which the key
abstraction is model and model transformation. MDSD aims to utilize
domain-specific languages to create models that express application
structure and behavior in a more efficient way. The models are then
(semi)automatically transformed into executable code by model
transformations. I have applied software language engineering approaches for
modeling architectural viewpoints to support the automated design and
analysis of software architecture. Complementary to this we focus on
model-based testing using architectural models, and architecture conformance
analysis.
Aspect-Oriented Software Development (AOSD)
AOSD is a new paradigm for separating concerns in the software
development life cycle. It focuses on separating so-called cross-cutting
concerns which cannot be easily localized along the abstractions of the
adopted dominant software development paradigm. In my research I have basically focused on
identifying and modeling aspects at the architecture design level. I have
defined an approach for identifying and analyzing aspects at the
architecture design level.
Cloud Computing
Cloud computing is an emerging computing paradigm that has gained
broad interest. Unlike traditional enterprise applications that rely on the
infrastructure and services provided and controlled within an enterprise,
cloud computing is based on services that are hosted on providers over the
Internet. The services that are hosted by cloud computing approach can be
broadly divided into three categories: Infrastructure-as-a-Service (IaaS),
Platform-as-a-Service (PaaS) and Software-as-a-Service and
Software-as-a-Service (SaaS). I focus on the role of
architecture and model-driven development in cloud computing. We have
developed an approach for defining the design space of SaaS architectures,
selecting feasible architecture and the model-driven development of the
selected architectures.
Global Software Development
Global Software Development (GSD) is a software development approach that
can be considered as the coordinated activity of software development that
is not localized and central but geographically distributed. The reason
behind this globalization of software development stems from clear business
goals such as reducing cost of development, solving local IT skills
shortage, and supporting outsourcing and offshoring. There is ample reason
that these factors will be even stronger in the future, and as such, we will
face a further globalization of software development. Most of the research
on GSD seems to be on social aspects. We focus on the technical architecture
design and evaluation of GSD systems. GSD is in particular important for
Turkey due to its geographic location, the young population and its
potential workforce.
|