Understanding multilayered applications for building extensions

  • Authors:
  • Mohamed Aly;Anis Charfi;Di Wu;Mira Mezini

  • Affiliations:
  • Applied Research, SAP AG and TU Darmstadt, Darmstadt, Germany;Applied Research, SAP AG, Darmstadt, Germany;TU Darmstadt, Darmstadt, Germany;Software Technology Group, TU Darmstadt, Darmstadt, Germany

  • Venue:
  • Proceedings of the 1st workshop on Comprehension of complex systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modern software applications typically consist of several logical layers (for example user interface, databases, business process, code, etc.). Software is usually delivered by a software provider to support a certain application domain through a set of predefined functionalities. A user acquiring the software can obtain extra functionalities through extensions. Extensions can be developed by the software provider, by the customer, or a third-party and then integrated with the core software. In order to enable core software for accommodating extensions, software providers must give the right means for enabling developers to build extensions. Based on the new functionalities required, developers building extensions usually consider different layers of the core software when developing extensions. For example, a simple user interface extension in a business application would need a developer to consider extensible artifacts from underlying user interfaces, business processes, databases, and code. Usually a developer relies on code based artifacts, documentation, examples, and/or training in order to be able to understand the extensibility model of a core application. Various program comprehension tools have helped developers in carrying out general development tasks. However, most of the tools focus on the code level, lack the support for multilayered applications, and do not support extensibility. In this paper we discuss the challenges and problems of the developers when building extensions for multilayered applications. We also assess the feasibility of several program comprehension tools in addressing these challenges.