check if the aspect does not affect the component
behavior). For this, the first test step of the Domain
Test phase is performed again.
ii. The last form of testing is at the level of the
application. The application is submitted to a long
series of tests before taken into production. Here, in
the case of the software engineer choose to use some
components and aspects of the NFRs framework is
necessary to do the test looking for maintain the
application behavior. However, in this case, the
software engineer chooses only reuse the persistence
framework and, thus, does not affect the behavior of
the application development.
Tests help to verify the quality of the new parts
inserted in the components, analysing if the
component behaviour was kept, and to assure that
the constructed application fulfils its requirements.
At the end, the application can be deployed.
According to the component model that was used,
this process may involve several issues, such as
distribution, database access, installation,
reconfiguration and adaptation of the components.
An intelligent deployment tool may be used to
manage, package, and deploy the component-based
application, obtaining better performance and result.
3 CONCLUSION AND FUTURE
WORKS
The main contribution of this work is to propose an
Incremental Process Model based on AOP for
Component-Based Systems, providing a high
reutilization degree, guiding the software engineer
during the development and reuse of software
components.
Our studies have shown that it is possible to
incrementally add these common NFRs into
components and applications, through a framework.
However, for other kinds of NFRs, such as
performance issues and concurrency control, this
may not be true. In future works, we intend to treat
the NFRs from the beginning of the requirements
elicitation. We believe that the features model may
be a good choice. This may help to determine
whether or not it is possible to adopt an incremental
approach for adding any kind of NFRs.
Finally, tools to facilitate the usage of Aspect
IPM are currently being developed. This includes
tools to facilitate the search and recovery of software
artifacts, aiming to minimize the effort of locating
reusable assets (Lucrédio, 2004).
REFERENCES
C.W. Krueger, 1992. Software Reuse, In ACM Computing
Surveys, v. 24, no. 02, June, pp. 131-183.
I. Jacobson; M. Griss; P. Jonsson, 1997.
Software Reuse:
Architecture, Process and Organization for Business
Success
. Addison-Wesley-Longman.
G.T. Heineman; W.T. Councill, 2001. Component-Based
Software Engineering, Putting the Pieces Together.
Addison-Wesley. USA.
C. Szyperski, 2002. Component Software: Beyond Object-
Oriented Programming. Addison-Wesley. USA.
N.C. Rosa, 2001. Nfi: An Architecture-Based Approach
for Treating Non-Functional Properties of Dynamic
Distributed Systems. PhD Thesis, Federal University
of Pernambuco (UFPE), Brazil.
G. Kiczales; J. Lamping; A. Mendhekar; C. Maeda; C.V.
Lopes; J.M. Loingtier; J. Irwin, 1997. Aspect-
Oriented Programming (AOP). In 11th European
Conference on Object-Oriented Programming
(ECOOP) - LNCS, Springer-Verlag, Finland.
J. Mylopoulos; L. Chung; B. Nixon, 1992. Representing
and Using Non-Functional Requirements: A Process
Oriented Approach. In IEEE Transaction on Software
Engineering, v. 18, no. 6, June, pp. 483-497.
A. Alvaro; D. Lucrédio; A.F. Prado; E.S. Almeida, 2004.
Towards an Incremental Process Model based on AOP
for Distributed Component-Based Software
Development. In: International Symposium on
Distributed Objects and Applications (DOA), Poster
Session, Cyprus. Lecture Notes in Computer Science
(LNCS), Springer-Verlag.
M. Griss; J. Favaro; M. D’Alessandro, 1998. Integrating
Feature Modeling with RSEB. In 5th International
Conference on Software Reuse (ICSR), IEEE Press.,
Canada, June.
M. Griss, 1997. Domain Engineering and Variability in
the Reuse-Driven Software Engineering Business.
Fusion Newsletter, February.
R. Prieto-Diaz, 1990. Domain Analysis: An Introduction.
In ACM SIGSOFT Software Engineering Notes. v. 15,
no. 2, April, pp. 47-54.
G. Arango, 1988. Domain Engineering for Software
Reuse. Ph.D. Thesis, Department of Information and
Computer Science, University of California, Irvine.
A. Alvaro; D. Lucrédio; E.S. Almeida; A.F. Prado; L.C.
Trevelin, 2003. A Framework of Components to Non-
Functional Aspects. (in portuguese). In Third
Component-Based Development Workshop, São
Carlos, Brazil.
S. Clarke; R. Walker, 2002. Towards a Standard Design
Language for AOSD. In Proceedings of the 1st
International Conference on Aspect-Oriented
Software Development (AOSD), ACM Press, NY.
Eclipse Projects, 2003. AspectJ – Aspect-Oriented
Programing (AOP). Available in
http://eclipse.org/aspectj Consulted in November.
ASPECT IPM: TOWARDS AN INCREMENTAL PROCESS MODEL BASED ON AOP FOR COMPONENT-BASED
SYSTEMS
231