Академический Документы
Профессиональный Документы
Культура Документы
0
Requirements Definition Date: 2010-01-09
MedhatwalMatrimony.com
Requirements Definition
Version 1.0
Page 1
Doc. No.:
Project Name ProCom@MDH Version: 2.0
Requirements Definition Date: 2010-01-09
Revision History
Date Version Description Author
2010-08-11 0.1 Initial Draft PG
Page 2
Project Name ProCom@MDH Version: 2.0
Requirements Definition Date: 2010-01-09
Table of Contents
1. Introduction 4
1.1 Purpose of this document 4
1.2 Intended Audience 4
1.3 Scope 4
1.4 Definitions and acronyms 4
1.4.1 Definitions 4
1.4.2 Acronyms and abbreviations 4
1.5 References 4
2. Requirements Description 5
2.1 Introduction 5
2.2 General requirements 5
2.3 Specific requirements 5
4. Requirements Definition 9
4.1 Requirement Group Definitions 9
4.2 Requirement Sources 9
4.3 Requirements definitions 10
4.3.1 Change Log 10
5. Future Development 11
Page 3
Project Name ProCom@MDH Version: 2.0
Requirements Definition Date: 2010-01-09
1. Introduction
1.4.1 Definitions
Keyword Definitions
Acronym or
Definitions
Abbreviation
1.5 References
2. Requirements Description
2.1 Introduction
ProCom model is part of PROGRESS project, developed at Mälardalen University, which is
used for formal modeling of embedded systems. ProCom@MDH enables user to generate
executable code for the ProCom models created in ProgressIDE. To generate executable code,
a mapping of ProCom models should be defined and a ProgressIDE plug-in for transforming
models to code should be created.
Page 4
Project Name ProCom@MDH Version: 2.0
Requirements Definition Date: 2010-01-09
4) Message channel: Ports of ProSys subsystem are connected via the message channels.
They support n-to-n communication i.e. several input and output ports can be connection
to the same channel.
Page 5
Project Name ProCom@MDH Version: 2.0
Requirements Definition Date: 2010-01-09
7) Connectors: Connectors are used to control the data and control flow between two or
more components. Connectors can be further classified into several types namely:
Data fork: Splits a data connection to several ports
Data or: Merges several data connections to one
Control fork: Splits control flow to several concurrent paths
Control or: Merges several control flow to one
Control join: Joins the control flow of several concurrent paths
Selection: Chooses a path of a control flow depending on a condition
8) Clock: A clock is used for generating periodic triggers. It consists of a single output
trigger port which is triggered at a specified rate.
2. Glue Code Generation: Once the code mapping of all the ProCom elements is achieved, glue
code should be generated for the system. Glue Code defines interaction between different
components of a system. The code files generated after the glue code generation should be
compiled to check for their syntactic correctness. Any error in compilation should be notified
to the user as “Failure of Glue Code Generation” action. If time doesnot permit, a document
should be made for the possibility of glue code generation.
3. Plug-in Development: The functionality of the model transformation and the glue code
generation should be provided either in a new user interface or in the existing ProgressIDE
interface. The user interface and the functionality developed for code generation should be
packaged in a plug-in for the ProgressIDE. The compatibility of the plug-in with the
ProgressIDE should be checked.
Page 6
Project Name ProCom@MDH Version: 2.0
Requirements Definition Date: 2010-01-09
4. Implementation Case Study: Once all the above sets of requirement are covered, the
complete package should be implemented on a case study. The case study should validate the
correct functioning of the plug-in and accurate code generation for the ProCom elements.
5. Refine XML Schema: Suggest any changes required in the existing XML, and document
those changes.
3.1.1 Actors
User: The designer creating ProCom model.
System: ProCom plug-in or ProgressIDE
Initiator:
User
Goal:
To generate the code from ProCom model.
Main Scenario:
Page 7
Project Name ProCom@MDH Version: 2.0
Requirements Definition Date: 2010-01-09
Extensions:
1. If code generation fails then system displays error message.
2. If model is invalid then code generation will not start and system displays error
message.
3. At any point, user decides to close the ProgressIDE. System saves all data and
exits.
Initiator:
User
Goal:
To compile the generated code from ProCom model.
Pre-requisite:
There should exist a valid ProCom model in the Progress IDE, for which code is
generated.
Main Scenario:
1. User selects Code Compilation option from the menu.
2. System shows the user the Code Compilation interface.
3. User selects the option to compile the code or defer it.
4. System performs Code compilation.
Extensions:
1. If compilation fails then, system displays error message.
2. At any point, user decides to close the ProgressIDE. System saves all
data and exit.
Initiator:
User
Goal:
To view the generated code from ProCom model.
Page 8
Project Name ProCom@MDH Version: 2.0
Requirements Definition Date: 2010-01-09
Pre-requisite:
There should exist a valid ProCom model in the Progress IDE, for which code is
generated
Main Scenario:
1. User selects the generated code file to View code from navigation pane.
2. User selects the editor to View code.
3. System redirects the user to the view code option menu.
4. System shows the generated code.
Extensions:
1. If system fails to show code, system displays error message.
2. At any point, user decides to close the ProgressIDE. System saves all
data and exit.
3.1.5 Execute Code
Initiator:
User
Goal:
To execute the compiled code from ProCom model.
Pre-requisite:
In order to perform code execution, there has to be at least one prosys component.
Main Scenario:
1. User creates the DLL files used for native C call from Java.
2. User copies two files (One is implemented C file and one DEF file to
the defined path).
3. User selects Generate DLL File option.
4. User selects Executed Code option.
5. System performs Code execution.
6. System stores the result in antrun.log
7. User views antrun.log for final output
Extensions:
1. If code execution fails then, system displays error message in
antrun.log.
2. If generate DLL fails then, system displays error message in antdll.log.
3. At any point, user decides to close the ProgressIDE. System saves all
data and exit.
4. Requirements Definition
Plug-In Development
PID1 I 1 Interaction with ProgressIDE Customer
Page 10
Project Name ProCom@MDH Version: 2.0
Requirements Definition Date: 2010-01-09
Case Study
CS1 I 2 Validation on a case study. Customer
Requirement status:
I = initial (this requirement has been identified at the beginning of the project),
D = dropped (this requirement has been deleted from the requirement definitions),
H = on hold (decision to be implemented or dropped will be made later),
A = additional (this requirement was introduced during the project course).
Acti
Identity Date Comments
on
GCG1-6 D 2010-01-08 Identify the possibility of Glue code generation in a doc
GCG7 A 2010-01-08 Documentation along with other mapping doc
PCT18 A 2009-12-05 Missed out in initial requirement gathering
PCT19 A 2009-12-10 Native C Call
Requirement status:
D = dropped (this requirement has been deleted from the requirement definitions),
H = on hold (decision to be implemented or dropped will be made later),
A = added (this requirement was introduced during the project course).
R = resurrected (dropped or on hold requirement was reactivated)
5. Future Development
ProgressIDE is a research based project. Over a period of time, enhancements and modifications can be
made to the code generation model. There can be possible validation of schema, multiple profiles for
code generation or class diagram view as discussed below:
1. Schema Validation
For now, it is assumed that ProgressIDE generates a error-free XML file which is to be transformed to
the executable code. Parsing of XML file is part of the ProCom plug-in, this should be extensible to
include validation of XML schema later.
2. Multiple Profiles
Possibility of generation of C code from the ProCom model can be investigated and implemented.
Page 11
Project Name ProCom@MDH Version: 2.0
Requirements Definition Date: 2010-01-09
4. Reverse Engineering
Functionality can be provided to generate ProCom model design from the Java code.
Page 12