E N D
1. Presentation of WP4 ICONS ArchitectureBased on D16, D14, D15, D17 Bartosz Nowicki
Rodan Systems S.A.
2. 2
3. D16Specification of the ICONS architecture
4. 4 Objectives the major deliverable of the 2nd semester
gathers all research and technological results
puts them into a manageable and consistent structure
drives the implementation of the ICONS prototype in the 3rd semester
necessary for highly distributed development environment (Rodan is the ICONS primary integrator but modules will be developed by other partners)
5. 5 Objectives II To answer the following questions
what services will be provided by the system, and what will be their quality (requirements)
how, on the highest level of abstraction, the system will be designed (decomposition into components and their dependencies)
Architecture must be robust and generic enough to sustain further industrialisation and maintenance of the ICONS product, to be developed after the project completion
The document creation process was not as an ultimate goal but rather as a means or opportunity to achieve high quality
6. 6 Template: Overall architecture First level decomposition
Abstract architecture
Detailed architecture
Global decisions / System – wide solutions
Diagnostic and logging mechanisms
7. 7 Template: Module’s Level General description
Dictionary
Usage scenarios
Control structures
Functional requirements
Non-functional requirements
Administrative requirements
Interface provided
Interface required
Development environment
Elements of detailed design
8. 8
9. 9
10. 10
11. 11 D16 Summary 26 modules
50 dependencies
387 requirements
273 functions
12. D14Specification of the ICONS software development platform
13. 13 D14 Objectives to guide the ICONS platform development process
major activities: detailed design, coding, integration
addresses the issues relevant to these activities: table of contents for modules’ detailed design, design tools, integrated development environment for code development, coding practices and configuration management.
balance between the two ambitions of the ICONS project
to provide a comprehensive proof of concept for the ICONS research
to produce a stable and maintainable software platform to be further industrialised and turned into a product
distributed development
14. 14 Detailed design to specify how (technically) components are to be implemented
important and detailed design decisions are explicitly presented
abstraction level is kept higher than programming language
allows for verifiability and, consequently, selecting the optimal solutions.
complements the architectural design [ICONS D16]
presents internal mechanisms that must be applied to meet external specifications
15. 15 Template for the detailed design Class design
Database design: Logical structure, Views, Order of tables creation, Integrity constraints presentation, Triggers description, Stored procedures description
Specification of algorithms
User interface design
Solution for distribution and parallelism
Diagnostic system
Design of other solution
16. 16 Design Tools VISIO
ArgoUML
NetBeans
J2EE
J2EE relevant technologies (JASS, JAXB, log4J, JADE, ...)
17. 17 Coding practices JAVA Code Conventions from java.sun.com/docs/codeconv/
support for (automatic) generation of components’ documentation from Javadoc - the tool from Sun Microsystems for generating API documentation in HTML format from doc comments in source code
18. 18 Configuration management ICONS repository based on CVS (Concurrent Versions System), the dominant open-source network-transparent version control system
ICONS repository structure
based on architecture decomposition
per module structure
technical_documentation: detailed_design, programmers_guide, administrators_guide (administrator’s guide , doc file)
source_code: java, database
binaries
tools
quality_assurance
19. 19 Bug tracker especially important during final integration and acceptance testing
to manage all the identified errors
the selected tool Scarab, an Issue / Defect tracking system that allows for data entry, queries, reports, notifications to interested parties, collaborative accumulation of comments, dependency tracking etc.
20. D15Installation of the integrated ICONS software development platform
21. 21 Installation of the integrated ICONS software development platform just an inventory of the available ICONS compounding software modules
ICONS platform is built from loosely coupled modules contributed by ICONS partners
the module come from the open source community as well as developed within the project
the modules are available in the software repository as defined in [ICONS D14]
22. D17The ICONS prototype implementation plan
23. 23 Implementation critical issues ICONS is a complex system of broad functionality,
a generalised platform (rather than a concrete application) additionally impacts the system complexity,
integration is a difficult task even with perfect modules,
perfecting local functionality is a never ending process,
half a year period is a really short time period,
the ICONS demonstrator development requires the most fundamental functionality available
24. 24 Implementation principles Strict goal orientation (to build the complete platform rather than a set of perfect but not co-operating modules),
Well defined and reasonably small functional increments (starting from indispensable functionality, through required but not necessary functionality and ... abandoning possible extensions),
Early and frequent integration points (to stimulate convergence among separately developed modules),
Personal contact of developers (to increase understanding and minimise communication effort),
Refactoring of ineffective, inefficient and obsolete solutions
25. 25
26. 26 Implementation Gantt Chart
27. 27 Resources
partner’s modules
Rodan’s responsible
28. 28 WP4 Results [ICONS D16] answers the question “what is to be developed?” as it provides architectural design level decisions, interfaces specification and description of the required functionality; the report settlements will be further refined within [ICONS D21],
[ICONS D14] answers the question “how it is to be developed (in the sense of engineering process)” as it specifies tools and methods as well as provides comprehensive guidelines for the sound development process ,
[ICONS D15] provides an inventory of the available compounding software modules,
[ICONS D17] imposes managerial constraints on the development process expressed in terms of goals, deadlines and resources.
29. 29 WP4 results: M4 achieved M4 - Acceptance of the ICONS architecture.
The stage for the ICONS prototype implementation is set.
The selected development software environments are identified and established.
System is decomposed, identified modules’ functionality is documented and cross-verified, all system interfaces are agreed upon and frozen in the architecture specification.
The detailed implementation plan is formulated and accepted