502 research outputs found
On the Effect of Semantically Enriched Context Models on Software Modularization
Many of the existing approaches for program comprehension rely on the
linguistic information found in source code, such as identifier names and
comments. Semantic clustering is one such technique for modularization of the
system that relies on the informal semantics of the program, encoded in the
vocabulary used in the source code. Treating the source code as a collection of
tokens loses the semantic information embedded within the identifiers. We try
to overcome this problem by introducing context models for source code
identifiers to obtain a semantic kernel, which can be used for both deriving
the topics that run through the system as well as their clustering. In the
first model, we abstract an identifier to its type representation and build on
this notion of context to construct contextual vector representation of the
source code. The second notion of context is defined based on the flow of data
between identifiers to represent a module as a dependency graph where the nodes
correspond to identifiers and the edges represent the data dependencies between
pairs of identifiers. We have applied our approach to 10 medium-sized open
source Java projects, and show that by introducing contexts for identifiers,
the quality of the modularization of the software systems is improved. Both of
the context models give results that are superior to the plain vector
representation of documents. In some cases, the authoritativeness of
decompositions is improved by 67%. Furthermore, a more detailed evaluation of
our approach on JEdit, an open source editor, demonstrates that inferred topics
through performing topic analysis on the contextual representations are more
meaningful compared to the plain representation of the documents. The proposed
approach in introducing a context model for source code identifiers paves the
way for building tools that support developers in program comprehension tasks
such as application and domain concept location, software modularization and
topic analysis
Requirements and Use Cases ; Report I on the sub-project Smart Content Enrichment
In this technical report, we present the results of the first milestone phase
of the Corporate Smart Content sub-project "Smart Content Enrichment". We
present analyses of the state of the art in the fields concerning the three
working packages defined in the sub-project, which are aspect-oriented
ontology development, complex entity recognition, and semantic event pattern
mining. We compare the research approaches related to our three research
subjects and outline briefly our future work plan
Applications of Multi-view Learning Approaches for Software Comprehension
Program comprehension concerns the ability of an individual to make an
understanding of an existing software system to extend or transform it.
Software systems comprise of data that are noisy and missing, which makes
program understanding even more difficult. A software system consists of
various views including the module dependency graph, execution logs,
evolutionary information and the vocabulary used in the source code, that
collectively defines the software system. Each of these views contain unique
and complementary information; together which can more accurately describe the
data. In this paper, we investigate various techniques for combining different
sources of information to improve the performance of a program comprehension
task. We employ state-of-the-art techniques from learning to 1) find a suitable
similarity function for each view, and 2) compare different multi-view learning
techniques to decompose a software system into high-level units and give
component-level recommendations for refactoring of the system, as well as
cross-view source code search. The experiments conducted on 10 relatively large
Java software systems show that by fusing knowledge from different views, we
can guarantee a lower bound on the quality of the modularization and even
improve upon it. We proceed by integrating different sources of information to
give a set of high-level recommendations as to how to refactor the software
system. Furthermore, we demonstrate how learning a joint subspace allows for
performing cross-modal retrieval across views, yielding results that are more
aligned with what the user intends by the query. The multi-view approaches
outlined in this paper can be employed for addressing problems in software
engineering that can be encoded in terms of a learning problem, such as
software bug prediction and feature location
A Lightweight Framework for Universal Fragment Composition
Domain-specific languages (DSLs) are useful tools for coping with complexity in software development. DSLs provide developers with appropriate constructs for specifying and solving the problems they are faced with. While the exact definition of DSLs can vary, they can roughly be divided into two categories: embedded and non-embedded. Embedded DSLs (E-DSLs) are integrated into general-purpose host languages (e.g. Java), while non-embedded DSLs (NE-DSLs) are standalone languages with their own tooling (e.g. compilers or interpreters). NE-DSLs can for example be found on the Semantic Web where they are used for querying or describing shared domain models (ontologies). A common theme with DSLs is naturally their support of focused expressive power. However, in many cases they do not support non–domain-specific component-oriented constructs that can be useful for developers. Such constructs are standard in general-purpose languages (procedures, methods, packages, libraries etc.). While E-DSLs have access to such constructs via their host languages, NE-DSLs do not have this opportunity. Instead, to support such notions, each of these languages have to be extended and their tooling updated accordingly. Such modifications can be costly and must be done individually for each language. A solution method for one language cannot easily be reused for another. There currently exist no appropriate technology for tackling this problem in a general manner. Apart from identifying the need for a general approach to address this issue, we extend existing composition technology to provide a language-inclusive solution. We build upon fragment-based composition techniques and make them applicable to arbitrary (context-free) languages. We call this process for the composition techniques’ universalization. The techniques are called fragment-based since their view of components— reusable software units with interfaces—are pieces of source code that conform to an underlying (context-free) language grammar. The universalization process is grammar-driven: given a base language grammar and a description of the compositional needs wrt. the composition techniques, an adapted grammar is created that corresponds to the specified needs. The result is thus an adapted grammar that forms the foundation for allowing to define and compose the desired fragments. We further build upon this grammar-driven universalization approach to allow developers to define the non–domain-specific component-oriented constructs that are needed for NE-DSLs. Developers are able to define both what those constructs should be, and how they are to be interpreted (via composition). Thus, developers can effectively define language extensions and their semantics. This solution is presented in a framework that can be reused for different languages, even if their notion of ‘components’ differ. To demonstrate the approach and show its applicability, we apply it to two Semantic Web related NE-DSLs that are in need of component-oriented constructs. We introduce modules to the rule-based Web query language Xcerpt and role models to the Web Ontology Language OWL
Multi-process modelling approach to complex organisation design
Present day markets require manufacturing enterprises (MEs) to be designed and run in a flexibly
structured yet optimised way. However, contemporary approaches to ME engineering do not
enable this requirement to capture ME attributes such that suitable processes, resource systems
and support services can be readily implemented and changed.
This study has developed and prototyped a model-driven environment for the design,
optimisation and control of MEs with an embedded capability to handle various types of change.
This so called Enriched-Process Modelling (E-MPM) Environment can support the engineering
of strategic, tactical and operational processes and comprises two parts: (1) an E-MPM Method
that informs, structures, and guides modelling activities required at different stages of ME
systems design; and (2) an E-MPM Modelling Framework that specifies interconnections between
modelling concepts necessary for the design and run time operation of ME systems. [Continues.
Web 2.0 Enhanced Automation of Collaborative Business Process Model Management in Cooperation Environments
In today’s business, effective enterprise cooperation and efficient utilization of appropriate information technology are basic prerequisites for the success of individual companies and networks. This means that the process-oriented management has to offer adequate support for collaboration. This article shows how monolithic business process management can be enhanced considering the Web 2.0 paradigm. The concept is carried out with a platform for collaborative business process management which integrates functions for cooperative model management and for using collective intelligence
Validation and Evaluation
In this technical report, we present prototypical implementations of
innovative tools and methods for personalized and contextualized (multimedia)
search, collaborative ontology evolution, ontology evaluation and cost models,
and dynamic access and trends in distributed (semantic) knowledge, developed
according to the working plan outlined in Technical Report TR-B-12-04. The
prototypes complete the next milestone on the path to an integral Corporate
Semantic Web architecture based on the three pillars Corporate Ontology
Engineering, Corporate Semantic Collaboration, and Corporate Semantic Search,
as envisioned in TR-B-08-09
state of the art analysis ; working packages in project phase II
In this report, we introduce our goals and present our requirement analysis
for the second phase of the Corporate Semantic Web project. Corporate ontology
engineering will improve the facilitation of agile ontology engineering to
lessen the costs of ontology development and, especially, maintenance.
Corporate semantic collaboration focuses the human-centered aspects of
knowledge management in corporate contexts. Corporate semantic search is
settled on the highest application level of the three research areas and at
that point it is a representative for applications working on and with the
appropriately represented and delivered background knowledge
- …