Learn More
The justification for software architectural design decisions made throughout the architecting process is necessary for understanding, (re)using, communicating, and modifying an architecture design. Although there are many existing tools to capture, store, manage, and share the architectural design decisions explicitly, there still remains a need to(More)
Emergence Computation has become a hot topic in the research of complex systems in recent years. With the substantial increase in scale and complexity of network-based information systems, the uncertain user requirements from the Internet and personalized application requirement result in the frequent change for the software requirement. Meanwhile, the(More)
Ontology makes traditional web service to be semantic web services, where semantic annotation can be employed to discover, reason and composite web services semantically. The construction of ontology is a key factor to implement semantic web service applications. Traditionally, ontology is constructed and maintained by domain experts with considerable(More)
Architectural technical debt (ATD) is incurred by design decisions that consciously or unconsciously compromise system-wide quality attributes, particularly maintainability and evolvability. ATD needs to be identified and measured, so that it can be monitored and eventually repaid, when appropriate. In practice, ATD is difficult to identify and measure,(More)
In the field of software architecture, there has been a paradigm shift from describing the outcome of architecting process mostly described by component and connector (know-what) to documenting architectural design decisions and their rationale (know-how) which leads to the production of an architecture. This paradigm shift results in emergence of various(More)
The basic format in which software requirements and architecture designs are documented is essentially file-based, and it has persisted for decades. Current indexing methods used in file-based documentation are not conducive to retrieving software knowledge. We propose to index software documents with a suitable lightweight ontology to improve the retrieval(More)
In large-scale collaborative software projects, thousands of requirements with complex interdependencies and different granularity spreading in different levels are elicited, documented, and evolved during the project lifecycle. Non-technical stakeholders involved in requirements engineering activities rarely apply formal techniques; therefore it is(More)