Over­view

AREA I: Reverse Engineering and Modernization

AREA II: Method Engineering

AREA III: Knowledge Engineering

AREA IV: Language Engineering

AREA V: Usability Engineering

AREA VI: Architectures

AREA VII: Quality Assurance

AREA I: Reverse Engineering and Modernization

Topic 1: Model-driven software migration

Supervisor:  Marvin Grieger

Student: Kwame Baffour Sampeney Banahene 

Description:

In model-driven software migration, formal modals on different levels of abstraction are used to migrate an existing application into a new environment. Approaches in this context follow the reengineering horseshoe model, which comprises reverse engineering the legacy application, restructuring and concretising it [1].

Task:

The aim of this seminar topic is to give an overview of the general concepts of model-driven software migration on the one hand and to critically discuss the advantages and limitations of selected existing approaches on the other hand.

Literature:

[1] Kazman, R., Woods, S. G., & Carrière, S. J. "Requirements for integrating software architecture and reengineering models: CORUM II". InProceedings of the Fifth Working Conference on Reverse Engineering, 1998

[2] Pérez Castillo, R., de Guzmán, I. G. R., & Piattini, M. "Knowledge Discovery Metamodel-ISO/IEC 19506: A standard to modernize legacy systems". In Computer Standards & Interfaces 33.6 (2011), pp. 519-532.

[2] Heckel, R., Correia, R., Matos, C., El-Ramly, M., Koutsoukos, G., & Andrade, L. "Architectural transformations: From legacy to three-tier and services". In Software Evolution. Springer Berlin Heidelberg, 2008, pp. 139-170.

 

Topic 2: Reverse engineering models from implementations

Supervisor: Simon Schwichtenberg

Student: Hussain Abid Syed 

Description:

In order to optimize software, fix its bugs, or simply understand existing software, software must be analyzed. Since software is often very complex, it is also very difficult to analyze it. There are various approaches that are able to extract control and information flows from implementations by levarging reverse engineering techniques and to translate them into structural or behavioral models. These models help to simplify the analysis, because they abstract from irrelevant details and focus on certain aspects.

Task:

The task is to provide an overview of existing approaches that can transform implementations to abstract models by leveraging reverse engineering techniques.
The particular techniques and the used target models shall be presented. Furthermore, the different approaches shall be opposed and evaluated.

Literature:

[1] Raja Vall'ee-Rai, Laurie Hendren, Vijay Sundaresan, Patrick Lam, Etienne Gagnon and Phong Co: Soot - a Java Optimization Framework, Proceedings of CASCON 1999: 125-135.

[2] von Detten, Markus and Platenius, Marie Christin and Becker, Steffen: Reengineering Component-Based Software Systems with Archimetrix, Journal of Software and Systems Modeling, 2013.

[3] Briand, Lionel C and Labiche, Yvan and Miao, Yucong: Towards the reverse engineering of UML sequence diagrams, 20th Working Conference on Reverse Engineering (WCRE), 57-57, 2003.

AREA II: Method Engineering

Topic 3: Modeling of Agile Methods with SPEM

Supervisor: Silke Geisen

Student: Christian Eberling

Description:

Agile Methods, e.g. Scrum, are getting more and more popular these days. These methods are a group of software engineering methods, which are based on incremental and iterative software development. In these methods the requirements and solutions evolve through collaboration between cross-functional and self-organizing teams and they promote adaptive planning, regular deliveries, most times a time-boxed iterative approach and especially they focus on flexible responses to change.

Method Engineering focuses on the creation of Software development method to give the system developer a guideline how to develop a software system. Nowadays software systems reach a high complexity, and in turn the software development method increase in complexity as well. In the field of method engineering the Software Process Engineering Metamodel (SPEM) is the most applied standardized language to model software development methods besides the ISO 24744. Though agile methods are suitable for method tailoring, mostly they are not concretely modeled.

Task:

The student should present the benefits and difficulties of modeling of agile methods with SPEM, starting with the example Scrum. It should be critically discussed, whether the modeling is “complete” or if there are still drawbacks in modeling agile methods (e.g. iterations, meetings etc.).

Literature:

[1] Ralf Ellner, Samir Al-Hilank, Johannes Drexler, Martin Jung, Detlef Kips, Michael Philippsen: eSPEM – a SPEM Extension for Enactable Behavior Modeling https://www2.cs.fau.de/publication/download/ecmfa2010_eSPEM.pdf

[2] Ernesto Damiani, Alberto Colombo, Fulvio Frati, Carlo Bellettini: A Metamodel for Modeling and Measuring Scrum Development Process http://link.springer.com/chapter/10.1007%2F978-3-540-73101-6_11

[3] OMG: Software & Systems Process Engineering Meta-Model Specification http://www.omg.org/spec/SPEM/2.0/PDF/

AREA III: Knowledge Engineering

Topic 4: Modeling the Discourse of Natural Language Texts

Supervisor: Henning Wachsmuth

Student: Arthur Krieger

Description:

With the ever growing amount of information in the internet, the importance of enabling computers to process natural language text becomes constantly higher. Many tasks in natural language processing deal with the analysis of the discourse structure of a text, i.e., the organization of the text in terms of the relations between the statements and arguments in the text. Examples range from automatic text summarization to the formal evaluation of arguments.

An important question in this regard is how to model the discourse structure of a text for analysis. Two major models have been proposed in the last years, each of which is well-founded in discourse theory. Both have lead to the development of text corpora for the development and evaluation of discourse analysis approaches.

Task:

In the seminar, the two major approaches to model discourse structure as well as the associated shall be presented and discussed in terms of their benefits and limitations.


Literature:

[1] Rashmi Prasad, Bonnie Webber, and Aravind Joshi (2014): Reflections on the Penn Discourse TreeBank, Comparable Corpora, and Complementary Annotation. In: Computational Linguistics.

[2] Rashmi Prasad, Nikhil Dinesh, Alan Lee, Eleni Miltsakaki, Livio Robaldo, Aravind Joshi and Bonnie Webber (2008): The Penn Discourse TreeBank 2.0. In: Proceedings of the Sixth International Conference on Language Resources and Evaluation.

[3] Carlson, Lynn and Marcu, Daniel and Okurowski, Mary Ellen (2001): Building a Discourse-tagged Corpus in the Framework of Rhetorical Structure Theory. In: Proceedings of the Second SIGdial Workshop on Discourse and Dialogue.

[4] William C. Mann and Sandra A. Thompson (1988): Rhetorical Structure Theory: Toward a Functional Theory of Text Organization. In: Text 8(3).

Topic 5:  A Comparison of Knowledge Bases

Supervisor: Stefan Heindorf

Student: Hagen Stahl

Description:

In order to make knowledge accessible to machines, it is represented in form of ontologies and knowledge bases. Those knowledge bases are used to improve search results, machine translation and question answering systems. For example, the knowledge bases DBPedia and Yago have been used by IBM Watson in the game Jeopardy.

DBPedia and Yago contain knowledge that has been automatically extracted from Wikipedia. Furthermore, last year, the Wikimedia foundation rolled out Wikidata – a new knowledge base that can be edited by everyone. Obviously, automatically extracting information from websites as well as letting anonymous users edit databases creates challenges regarding data quality.

Task:

Identify important criteria, and compare DBPedia, Yago and Wikidata. Pay particular attention to aspects related to data quality.

Literature:

[1] C. Bizer, J. Lehmann, G. Kobilarov, S. Auer, C. Becker, R. Cyganiak, and S. Hellmann, “DBpedia - A crystallization point for the Web of Data,” Web Semantics: Science, Services and Agents on the World Wide Web, vol. 7, no. 3, pp. 154–165, Sep. 2009.

[2] F. M. Suchanek, G. Kasneci, and G. Weikum, “YAGO: A Large Ontology from Wikipedia and WordNet,” Web Semantics: Science, Services and Agents on the World Wide Web, vol. 6, no. 3, pp. 203–217, Sep. 2008.

[3] D. Vrandečić and M. Krötzsch, “Wikidata: A Free Collaborative Knowledge Base,” 2014.

AREA IV: Language Engineering

Topic 6: Imperative vs. declarative process modeling

Supervisor: Dennis Wolters

Student: Raymond Pius Antony

Description:

Current process modeling languages (PMLs) like BPMN can be seen as imperative PMLs, since they require users to strictly specify how a process should be done. This does not allow defining very flexible processes. As an alternative to explicitly specifying the exact control-flow of a process, declarative PMLs like ConDec [3] allow users to just specify certain constraints, which must be obeyed, and leave room to work within these constraints.

Task:

In the seminar, declarative and imperative process modeling should be compared. The conceptual differences should be highlighted and it should be analyzed where the strength of each approach lies.

Literature:

[1] http://social-biz.org/2012/09/17/imperative-vs-declarative-processes-models/

[2] Pichler, Paul and Weber, Barbara and Zugal, Stefan and Pinggera, Jakob and Mendling, Jan and Reijers, HajoA, “Imperative versus Declarative Process Modeling Languages: An Empirical Investigation”, Business Process Management Workshops 2012, LNBIP vol. 99, pp. 383-394.

[3] Pesic, M. and van der Aalst, W., “A Declarative Approach for Flexible Business Processes Management”, Business Process Management Workshops 2006, LNCS vol. 4103, pp. 169-180.

Topic 7: A comparison of service discovery and composition approaches based on behavioral model matching

Supervisor: Zille Huma

Student:

Description:

With the widespread use of modeling techniques in software engineering, different approaches in service-oriented computing (SOC) domain are also relying on these techniques at different stages of a service- oriented system development.  An important aspect of this development process is the automatic  service discovery and the composition/integration of the discovered services into a coherent system. For this purpose, different aspect, such as, the structure, behavior, and quality attributes of the requested/offered services can be considered.

Task:

The aim of this seminar topic is to particularly focus those approaches that focus on the behavioral matching of the requested and offered services and utilize the behavioral modeling techniques for this purpose. The comparison of these approaches can be based on different factors, such as, the considered behavioral aspects of the requested and offered services, the behavioral models used for this purpose, the matching techniques used to match the behavioral models, etc.

Literature:

[1] Spanoudaki, G., Zisman, A.: Discovering Services during Service-Based System Design Using UML. IEEE Trans. on Softw. Eng. 36(3), 371–389 (2010)

[2] Huma, Z., Gerth, C., Engels, G., Juwig, O.: Automated Service Composition for On-the-Fly SOAs. ICSOC'13, LNCS, vol. 8274, pp. 524-532. Springer,Heidelberg (2013)

[3] Srinivasmurthy, V. , Manvi, S., Gullapalli, R.,  Sathyamurthy, D.,  Reddy, N., Dattatreya, H.,  Singhal, S., Pruyne, J.: Web2Exchange: A Model-Based Service Transformation and Integration Environment. SCC’09, pp. 324–331. IEEE Computer Society (2009)

[4]  Autili M., Di Ruscio D.,  Di Salle A., Inverardi P.,   Tivoli M.: A Model-Based Synthesis Process for Choreography Realizability Enforcement.  Fundamental Approaches to Software Engineering, LNCS, vol. 7793, pp. 37-52. Springer,Heidelberg (2013)

AREA V: Usability Engineering

Topic 8: Improving the Usability of Business Applications during Business Process Modeling

Supervisor: Holger Fischer

Student: Marie-Fabienne Ritter

Description:

A crucial success factor even for web based e-commerce application with a high customer fluctuation is the usability and accessibility of an application. Enterprises have proposed and used several approaches to bring alignment between business and IT. However, business applications like e-commerce websites often lack of usability either in their processes or in their user interfaces. Therefore, the design of business process models will have to be enriched for the aspect of usability to ensure a higher quality and satisfaction for the users. This focuses the alignment of the process with the user interface as well as the improvement of business process models (BPM) to ensure usable processes.

Task:

The aim of this seminar topic is to investigate on the integration of usability aspects in business process models and to compare approaches in this area. Highlight the advantages as well as the disadvantages of the found approaches and discuss topics like process-centered design (PCD) vs. human-centered design (HCD), the alignment of task models with process models, the validation of process models against design criteria like dialogue principles and the usability of business process modeling languages.

Literature:

[1] Zou, Ying; Zhang, Qi & Zhao Xulin (2007): Improving the Usability of e-Commerce Applications Using Business Processes. In: IEEE Transactions on Software Engineering, Vol. 33, No. 12, pp. 837-855.

[2] Olsina, Luis; Rossi, Gustavo; Garrido, Alejandra; Distante, Damiano & Canfora, Gerardo (2007): Incremental Quality Improvement in Web Applications Using Web Model Refactoring. In: Weske, M. et al. (eds.): WISE 2007 Workshops, LNCS 4832. Berlin Heidelberg: Springer Verlag. pp. 411-422.

[3] Figl, Kathrin; Mendling, Jan & Strembeck, Mark (2009): Towards a Usability Assessment of Process Modeling Languages. In: Proceedings of the 8th GI-Workshop EPK: Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten, Berlin, Germany.

[4] Henry, Pradeep (2007): Process-UI Alignment – New Value from a new Level of Alignment. In: align Journal – Aligning IT and Business Strategy, October 3, 2007.

Topic 9: Modelling Context For Usability Evaluations Of Mobile Applications

Supervisor: Björn Senft

Student: Christy Jovita Bibiana Arockiaraj

Description:

In the domain of usability evaluations of mobile applications it is crucial to consider the context (especially the context of use) for interpretations of the findings. Otherwise this could lead to false assumptions. For evaluations of software running on PC's it is relatively simple to document the context used in an evaluation as it is not changing. On the other hand it is quite challenging and costly to do this for mobile applications as the context can change during the evaluation. For that reason it is essential to record the context electronically.

Task:

The seminar shall give an overview of Context Modelling techniques and discuss their advantages and challenges towards Usability Evaluations Of Mobile Applications.

Literature:

[1] Bettini, C., Brdiczka, O., Hericksen, K., Indulska, J., Nicklas, D., Ranganathan, A., and Riboni D.: A Survey of Context Modelling and Reasoning Techniques. In "Pervasive and Mobile Computing" Vol. 6, Issue 2, April 2010, Page 161-180

[2] http://www.w3.org/2005/Incubator/model-based-ui/XGR-mbui-20100504/#cmodels

[3] Kronbauer, A., Santos, C., and Vieira, V.: Smartphone Applications Usability Evaluations: A Hybrid Model and Its Implementation. In Lecture Notes in Computer Science Volume 7623, 2012, pp 146-163

[4] Feiner, J., Andrews, K.: Usability Reporting with UsabML. In Lecture Notes in Computer Science Volume 7623, 2012, pp 342-351

Topic 10: User Interface Description Languages

Supervisor: Enes Yigitbas

Student: Nitish Shriniwas Patkar

Description:

Nowadays, developers of user interfaces (UIs) for interactive systems have to address multiple sources of heterogeneity (end-users, computing platforms, context-of use, etc.). Model-Based User Interface Development (MBUID) is one approach that aims at coping with these challenges. In order to support the MBUID process, various User Interface Description Languages (UIDLs) like MARIA [1] or UsiXML [2] exist, which vary in terms of their UI modeling concepts and supported features.  

Task:

In the seminar, a selection of UIDLs shall be presented and discussed in terms of their benefits and limitations regarding UI modeling, supported platforms and existing tool support.   

Literature:

[1] Fabio Paternò, Carmen Santoro, Lucio Davide Spano: MARIA: A universal, declarative, multiple abstraction-level language for service-oriented applications in ubiquitous environments. ACM Trans. Comput.-Hum. Interact. 16(4) (2009)

[2] Quentin Limbourg, Jean Vanderdonckt, Benjamin Michotte, Laurent Bouillon, Víctor López-Jaquero: USIXML: A Language Supporting Multi-path Development of User Interfaces. EHCI/DS-VIS 2004: 200-220

[3] Gerrit Meixner, Fabio Paternò, Jean Vanderdonckt: Past, Present, and Future of Model-Based User Interface Development. i-com 10(3): 2-11 (2011)

AREA VI: Architectures

Topic 11: Dynamic Software Product Lines

Supervisor: Mirko Rose

Student: 

Description:

 

Over the last two decades, software product lines have been used successfully in industry for building families of systems of related products, maximizing reuse, and exploiting their variable and configurable options. In a changing world, modern software demands more and more adaptive features, many of them performed dynamically, and the requirements on the software architecture to support adaptation capabilities of systems are increasing in importance. Recent development approaches such as Dynamic Software Product Lines (DSPLs) attempt to face the challenges of the dynamic conditions of such systems.

 

Task:

To investigate the topic of Dynamic Software Product Lines in a broad way and to choose and investigate one of it's topics in more depth and detail. A paper for an introduction into the topic is given.

Literature:

[1] Capilla, R., et al., An overview of Dynamic Software Product Line architectures and techniques: Observations from research and industry. J. Syst. Software (2014), dx.doi.org/10.1016/j.jss.2013.12.0380 

Topic 12: Autonomic Computing

Supervisor: Alexander Teetz

Student: Igor Rogic

Description:

 

Increasing complexity of software systems and their often uncertain environments indicate suitable concepts to overcome these challenges. For instance, systems shall manage themselves according to well specified goals like specific configurations or fault tolerance behaviour. One concept in this area is called autonomic computing, which focuses on creating self-managing systems.

 

Task:

 

In this seminar thesis, the student should give an overview of autonomic computing, especially in the case of self-adaption and show some selected subtopics in detail.

 

Literature:

[1] Markus C. Huebscher and Julie A. McCann. 2008. A survey of autonomic computing—degrees, models, and applications. ACM Comput. Surv. 40, 3, Article 7 (August 2008), 28 pages. http://doi.acm.org/10.1145/1380584.1380585

AREA VII: Quality Assurance

Topic 13: Comparison of approaches for improving the quality of models

Supervisor: Svetlana Arifulina

Student: Manasa Veena Rapolu 

Description:

In model-driven software engineering, models serve as a basis for different operations performed for the modeled objects. For example, matching of software services is performed based on service specifications, which are models for such services. Thus, one of the aspect influencing the quality of the operation results is the quality of the models. For example, if service specifications do not model properties of the given services correctly, the results of the service matching are unreliable. In this seminar thesis, existing approaches for evaluation and improvement of the quality of models have to be investigated and compared.

Task:

  1. Systematic search for relevant approaches
  2. Development of a comparison scheme
  3. Compare the found approaches

Literature:

[1] John Krogstie, Guttorm Sindre, Odd Ivar Lindland: 20 Years of Quality of Models. Seminal Contributions to Information Systems Engineering 2013: 103-107

[2] John Krogstie: Quality of Business Process Models. PoEM 2012: 76-90

 

Topic: Model-based testing

Supervisor: Baris Güldali

Student: Zahra Nouri 

Description:

Model-based testing is an innovative technique which is widely used in the industry meanwhile. However, since it is a heavy-weight technique, it is mostly used in plan-driven projects where development life cycles are long. At the other hand, agile software development becomes more and more important, which raises the need for light-weight techniques for model-based testing.

Task:

In this seminar topic the state of the art of test automation in agile projects and the potentials of model-based testing for agile development will be investigated

Literature:

[1] A short paper to motivate model-based testing: http://testoptimal.com/ref/Intelligent%20Test%20Automation.pdf

[2] Practical model-based testing by Mark Utting and Bruno Legeard (only few chapters): http://www.cs.waikato.ac.nz/research/mbt/

[3] Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin and Janet Gregory (only few chapters)

[4] Agile Test-based Modeling by Bernhard Rumpe: www.se-rwth.de/~rumpe/publications20042008/Agile-Test-based-Modeling.pdf