- Full Professor since 2000;
- Software Engineering Chair, University of Twente, Enschede, The Netherlands;
- m.aksit (at) utwente.nl ; http://fmt.cs.utwente.nl/ ;
- Citations: 15864 (Google scholar November 20, 2018); H-index: 33 ; I10-index: 96;
- In 1988, (probably the first) aspect-oriented language called Sina was developed. This work was later evolved into the concept of Composition Filters (1992). Various languages adopted this concept (ComposeJ, Compose*, etc.). Compose* was the most advanced language among these. It was implemented on various platforms. It had some unique features such as language independence, “interface-programming”, domain specific aspects and incorporated a set of verification tools.
- We organized the first Aspect-Oriented Software Development conference (AOSD2002) and I was the co-editor of the first aspect-oriented journal.
- Between 2010 – today, new language abstractions (Event Composition Modules, the Gummy programming language) were developed to abstract event-based programs. A particular interest was to modularly represent so-called “emergent behavior”. We are currently working on a new paradigm called: Optimal Programming.
- In the 90’s, the synthesis based architecture/software design method was developed; This method adopts controlled problem solving techniques in mapping requirements to software architectural solutions.
- In the 90’s, a fuzzy-logic based technique for modeling uncertainty in software design processes was developed. Later, this technique was extended with fuzzy-probabilistic methods and applied to software process- and product-optimization problems.
- We are currently working on so-called Optimal Modeling Language and Framework.
Product-line and/or software architectures/application frameworks:
- Since 1990’s, various industrial projects have been carried out with companies to design and implement application specific libraries, product-line architectures, application frameworks, domain-specific languages, etc. Examples are:
- Since 2015, product-line architectures, model-driven engineering tools and application generators have been defined and implemented to support software systems which incorporate schedulers (designed specifically for the company Aselsan).
- As 2018, we were told that every lithography machine produced by the company ASML (owns about 70% of the world market) has a subsystem that was originally designed and implement by my research team.
- Other examples are design of various architectures for insurance-management systems, car-dealer management systems, medical-systems, communication-media charging systems, etc.
Enhancing software quality attributes:
New design formalisms were developed to evaluate various software quality attributes. For this purpose around the year 2000, the concept of Design Algebra was introduced. Later, new software metrics for were defined and appropriate tools were built. Examples are:
- Metrics for adaptability and evolvability were first specified and verified using Design Algebra. Later, graph algebras, temporal-logic and predicate-based specification languages were introduced.
- The quality attribute documentability was specified, verified and enforced by a new concept called context-sensitive wildcards as adopted by the language VisuaL.
- The quality attribute fault-tolerance was provided by dedicated local recovery techniques. The quality attribute availability was specified and verified by the help of special tools based on information obtained from source code analysis.
- The quality attribute integrate-ability was specified and verified with the help of graph-based and resource-model based techniques.
- The quality attribute traceability was investigated by using dedicated meta models that could represent and reason about the design context.
- The quality attribute relevancy was specified and verified with the help of fuzzy-probabilistic models.
- The quality attribute energy-reduction was modeled and enhanced through the use of dedicated architecture and domain-specific languages.
- Various quality trade-off techniques were investigated by using single and multi-criteria optimization techniques.
University – Industry cooperation methods:
- Since 2011, as a team, we have been developing new “university – industry cooperation” methods. Along this line, company maturity models and processes have been defined.
- This method aims at enhancing the capabilities of high-technology companies so that they can accomplish their strategic objectives in a timely manner.
- Since 2011, as a team we have been working extensively with 5 very large high-technology companies to enhance their technological capabilities.