Feasibility and trade-off analysis of complex system design alternatives

Yıldız Teknik University, October 14, 2010, at 13:00

Yıldız Teknik University, October 14, 2010, at 13:00

Prof. Dr. Oya Kalıpsız (email: kalipsiz<at>yildiz.edu.tr)

Models for Creating Successful Technical Research Universities

Pamukkale University, October 15, at 10:00

Dr. Selçuk Toprak (email: stoprak<at>pau.edu.tr)

Models for Creating Successful Technical Research Universities

Banquet talk at Sheraton, Ankara, October 17, at 19:30

From module-based computing to event-based computing

Bilkent University, October 18, 2010, EA 409 at 13:40

Dr. Altay Güvenir (email: guvenir<at>cs.bilkent.edu.tr)

Models for Creating Successful Technical Research Universities

Banquet talk at Divan City Gayrettepe, Istanbul, October 20, at 19:30

Abstracts follow below.

Software Composition as a means to manage complexity and foster reuse: from modules to architectural concerns

Koç University, October 12, 2010

“Separation of concerns” is considered to be the major vehicle for mastering the increasing complexity of software systems. Separating the right set of concerns and proving flexible composition operators should foster reuse of software, and ease modular verification. Along this line, since 1980’s, many language abstractions have been proposed: modules, objects, aspects. We will elaborate on these developments and outline the challenges in software composition, such as, managing naturally scattered and tangled concerns, reuse of domain specific models and patterns, and detecting and avoiding undesired interferences.

Recent developments in programming languages and systems, model-driven architectures and generative techniques, patterns and product-line architectures provide advanced composition mechanisms to cope with the continual demands for flexibility and evolution of software. The qualities of highly composable software systems, however, are difficult to verify and balance with respect to the stakeholder’s needs. In this talk, we will present a number of examples of advanced software composition techniques and discuss various verification challenges. In particular, we will discuss the combination of static analysis, model checking and runtime verification techniques for functional and a selected set of non-functional qualities. We will then outline several trade-off techniques in balancing the quality attributes.

Feasibility and trade-off analysis of complex system design alternatives

Yıldız Teknik University, October 14, 2010

Today, software is the major enabling technology for increasing the efficiency and effectives of processes that have crucial role in our everyday life. Examples are command control and intelligence systems, banking systems, communication systems, factory automation systems, traffic management systems, etc. Designing such systems is becoming increasingly more challenging due to complexity and continual evolution of customer’s demands and technical infrastructure. Traditional software design techniques are incapable of dealing with such complexities. For the architects of such systems, it is extremely difficult to carry out feasibility and tradeoff analysis of system design alternatives, especially when the future developments have to be taken into account. In this talk, based on our experience in analyzing such complex systems, we will provide a systematic methodology for stakeholder analysis, concern analysis, multi-stage solution domain synthesis and will describe a trade-off method to evaluate the system design alternatives.

Models for Creating Successful Technical Research Universities

Pamukkale University, October 15Banquet talk at Sheraton, Ankara, October 17Banquet talk at Divan City Gayrettepe, Istanbul, October 20

Technical research universities of today must be agile enough to efficiently and effectively respond to the demands of society and industry. In this talk, we will first outline industrial and political context of universities. Secondly, we will elaborate on the following concerns of research: purpose of research, application of research, organization of research, topics of research, and employment. For each concern, we will analyze the appropriate solution strategies with their positive and negative aspects. Thirdly, we will depict transition processes for gradually improving universities according to desired plans. To this aim, we will discuss profile analysis, maturity analysis, SWOT analysis, short-term and long term policy development, planning and monitoring. Finally, we will conclude the presentation.

From module-based computing to event-based computing

Bilkent University, October 18

Since 1980’s, abstract data type (ADT) or module-based separation of concerns has been considered to be the default structuring principle for complex systems. Properly designed modules make the complexity of software manageable, increase reuse and enable incremental verification of software. In addition, object-oriented programming (OOP) as exemplified by Java, provides hierarchical composition of classes, which fosters abstraction and reuse. However, In 1990’s it has been observed that it is difficult or even impossible to abstract certain kinds of behavior of software using hierarchical composition of modules because of code tangling and scattering. Examples of such behavior are monitoring, security, synchronization and error handling. To be able to structure such behavior, different kinds of techniques have been proposed, such as patterns, generative programming and aspect-oriented programming (AOP). In particular AOP languages offer non-hierarchical composition of modules. In current AOP languages, however, we observe two shortcomings: (a) Software composition mechanisms overly depend on the structure and organization of the code. The programmer is forced to express compositions in terms of code-level events, usually method calls on modules, that may be very far from the natural expression of tangled and scattered behavior. (b) AOP languages offer a rather limited set composition operators which may be too restricted for certain kinds of applications. To overcome these two problems, we claim that events should be considered as the first-class abstractions of computing. Events must be supported by powerful abstraction and composition mechanisms. This talk first illustrates the composition problems, and describes how current AOP languages such as Compose* can be enhanced for event-based computing.