Final Report

advertisement
1
TDT4252
Modeling of Information Systems
Advanced Course
Final Report
Case: Context-Driven Information Access
Mahsa Mehrpoor
PhD Student
Introduction
Today, making a visual form of the case that is intended to be developed has a significant role in
software development. Such a visual format called modeling which on the other word is a description
(textual or visual) of any aspect of a software system such as requirements, architecture, behaviour,
deployment: the development process model, a requirements model, concurrency model and so on.
As a basis for studying the software process one has to have a language for representation of
software process models. This language, or combination of languages, should be able to represent all
the aspects of the software process relevant for a particular application.
Case description
Today, there are overloads of unrequired, futile or irrelevant information which cause long search
times. Using a search engine is not an appropriate solution, as it usually neglects the context and the
role of the user and it does not address the user’s particular needs. Finding an efficient, dynamic and
simplified way of accessing information and knowledge is the main problem in my PhD work. This
way of accessibility should allow the different users with various roles to gain access to all the
relevant information such as reports, tools and other related documents without being forced to
initiate a typical search and find process. Context-driven data access supports and accelerates the
product and process development as all the information and knowledge relevant for the respective
working tasks are visualized immediately.
By achieving this new way of information access, the objectives such as enabling user friendly access
and identifying user’s working context to all required engineering data and information sources, will
be achieved. It is responsible to retrieve the old knowledge briefs1 to find relevant and similar
information and problems by using context approach in order to reuse their solutions in case they
are still valuable and useful, otherwise some revision will be done on them and new k-briefs will be
generated. Finally, the result (new k-briefs) will be stored and retained for the future similar
1
. Carriers of knowledge in the form of documents during project development ( K-Briefs )
2
problems. In addition, presenting a solution to link k-briefs to knowledge arena2 in the form of a
plug-in3 is the other expected result of this research.
Rationale for modeling
Using modelling helps the developers of the system to gain a good viewpoint of the system, different
object and concepts that involve and play a role in the system and their relationships with each
other. Such a visual format facilitate analysing and identifying the requirements and needs of a
system and therefore, proposing appropriate solutions to solve the problem can be more easier in
comparison with just having a textual format of problem formulation.
Modelling and modelling experience
There are different modelling languages in the area of software development that can be used based
on the purposes of modelling for a system. Of one these modelling languages that I have used a lot is
Unified modelling language, UML, a standard notation for the modeling of real-world objects as a
first step in developing an object-oriented design methodology and the reason for using it is that, as
it is mentioned to the definition, UML uses object oriented design concepts and it is independent of
specific programming language.
In my PhD work, a language that can be used for software process modeling, the Metis GEM
language is presented. GEM is an abbreviation for Generic Enterprise Modeling, and is a general
purpose process modeling language based on an object oriented model. Metis GEM/EPD fulfills most
of the requirements. It is based on the IDEF0 diagramming technique with some extensions.
The basic concepts of the Metis GEM language are shown in the figure below;
Figure 1: The basic concepts of the Metis GEM language.






2
3
The Process construct represents a series of operations that transforms input into output.
The Input construct is used to model information or "raw material" that flows into a process.
The Control construct represents information that control the way a process is performed.
The Output construct represents the transformed input, coming out of the process.
The Mechanism construct is used to deal with how or by what means a process is executed.
The Internal flow construct is an output from one process and then input, control or
mechanism for one or several other processes.
. A platform for knowledge sharing and collaboration developed internally in Aker Solutions
. A set of software components that adds specific abilities to a larger software application
3
Proposed model for case
There are 6 aspects or domains that are designed during this modeling that are listed in the
following:
1. Requirements, that a need for having a dynamic method for accessing to relevant
information and knowledge is required.
2. Goals, is to achieve the dynamic and efficient solution to get access to relevant data and by
using previous knowledge, knowledge reusability will be achieved.
3. Applications and technologies that are the software and technologies that are applied in
order to solve the problem such as semantic web technologies and Protégé for programming
and implementation.
4. Information, which includes all the knowledge and information that are used in a project and
based on these knowledge briefs, relevant solution based on the previous solutions that are
already exists will be found.
5. People and organization, which the organization is Aker solutions that it has a platform called
knowledge arena and different users interact with each other through it.
6. Processes, that shows in order to solve a new problem, how the information from the
knowledge brief repository will be retrieved, reused and revised if necessary and finally will
be retained as a new solution.
The figure below show the entire model for this case;
Figure 2: The main model of the case
Views
In order to focus on some of the processes that have key role in this system, some views have been
designed that are explained in the following;
1. Applications and processes: In this view, one of the most important parts of this case is
discussed. During different steps of the processes, finding similar problems is planned to be
4
investigated by using contextual approach. What contextual approach does is that it starts to
check old problems, in the form of knowledge briefs, and compares the similarities between the
concepts, objects and people that participated to solve those problems and the current problem
and then suggest one or a group of knowledge briefs in order to reuse their solution for new
problem solving. In order to compare the old and new problems, this approach uses semantic web
technologies such as semantic reasoning that is a practical technology in this field.
Figure 3: Application and process view
2. People, processes and goals: This view shows how the final result of the processes which is a
new solution is used by the users and also how it achieves the goals. As seen in the figure below,
the output of the processes which is called new solution or learnt case will be used in the
knowledge arena platform in Aker Solutions in the way that users based on their role and their
context in a project can get access to that generated knowledge brief and use it during the project
development. Moreover, as the new knowledge brief is the result of reusing the old archived
knowledge, the goal of knowledge reusability and other related goals will be achieved.
5
Figure 4: People, goals and processes view
3. Information and processes: In this view, the relationship between the step of retrieving
previous knowledge and the knowledge brief repository is the focus. In the system we already
have lots of k-briefs with their own solutions and in this phase by mentioning the knowledge
reusability purpose we retrieve the old lessons out of old knowledge briefs and decide if the old
lesson is still useful for the new problem.
Figure 5: Information and processes view
Relationship matrix
In order to see how each steps of the process aspect are related to each other, a relationship matrix
is created to show the relationship between steps of the processes during retrieving knowledge
briefs to retaining the final result which is a new solution for the current problem. As seen in figure 6,
6
it shows which process makes the input for the next process and how the data is modified and pass
in between stages of processes.
Figure 6: Relationship matrix for processes aspect of the case
The model in relation to Enterprise architecture
Regarding the content of this course, enterprise architecture is about understanding of all of the
different components that go to make up the enterprise and how those components inter-relate.
Thus the primary reason for developing an EA is to get an overview of the business’ processes,
systems, technology, structures and capabilities. What I understood out of studying EA is that by
using EA I can gain some benefits for my work such as increased flexibility for business growth and
restructuring, faster time-to-market for new products or even operational innovations, reduced
business risk associated with IT and so on. I studied different enterprise architecture methodologies
that are the focus of this course and the one that I found it relevant and appropriate for my work is
TOGAF. The reason for selecting TOGAF is that this methodology is an architectural process and it
provides a process for creating the artifacts. Also, in the model of my work, the processes and how to
design the architecture of these processes and involved components and inter-relationships is the
focus.
On the other hand, TOGAF is designed to support four types of architecture such as business
architecture, data architecture, application architecture and technology architecture. In my PhD work
these aspects have key roles as well. Like data and information, since there is a need to describe how
the enterprise data stores are organized and accessed; applications as it is needed to describe how
specific applications are designed and how they interact with each other; technologies that is also
required to describe the hardware and software infrastructure that supports applications and their
interactions; and business processes. For each of them a planned architecture should be considered
to facilitate the enhancement of the system in the future as this PhD work is not just for passing a
PhD degree but for gaining some benefits for the industry in the real project development problems.
7
Evaluation of the model
In order to evaluate the model, I have looked at one of the methods for model evaluation which is
competency questions. Competency of a model is its ability to answer a set of questions. The
requirements for a model can be formulated as a set of questions that the model is required to
answer. Some questions are listed below:
1. Can the model show that how knowledge reusability can be achieved?
2. Is creating a dynamic solution for providing relevant knowledge possible according to the
designed model?
So, focusing on decided goals is needed to see if the goals are achieved or not. As discussed in the
previous parts of the report, the output of the process aspect is a new knowledge that is the result of
using relevant technologies and application and also related information as a knowledge base.
Therefore, using a contextual approach satisfies a dynamic solution for providing relevant and
required data and also using the previous knowledge solutions causes reusability. So, by considering
these achievements the evaluation of the model will be proved.
Conclusion
This report presented my PhD work in the form of a high level model. In order to create this, the
Metis GEM language is used and different aspects regarding the case is presented. Based on this
modeling language, 6 aspects are discussed and different views also created to elaborate the key
parts of the work more. It is important to recognize that a software process model will look different
and support different features depending on the purpose. Designing a model out of analyzing the
case, give the developers the chance to gain a good overview of the system that is going to be
implemented later. Gathering all the objects and concepts that are supposed to be involved in
achieving the goals, enhances the better understanding of the system.
Download