ORION - A Component-Based Software Engineering Environment Eduardo Almeida [email protected].

23
ORION - A Component-Based Software Engineering Environment Eduardo Almeida [email protected]

Transcript of ORION - A Component-Based Software Engineering Environment Eduardo Almeida [email protected].

ORION - A Component-Based Software Engineering

Environment

Eduardo [email protected]

2

Agenda

Context Requirements for Component-Based Software

Engineering Environments Components of the Orion Environment The Component-Based Software Engineering

Environment Summary References

3

Context

Tools and “Environments” – Operating Systems– Small collections of stand-alone tools– UNIX

Editors, compilers, debuggers grep, find

– Did not provide real means of integrating tools, coordinating their executions, or automating common tasks

Programming Support Environment (PSE)– The first significant efforts in producing tightly integrated development

environment– Collections of tools that support coding activities– Some support for task automation– Support only one software engineering activity and its artifacts

4

Context

Software Engineering Environments (SEE)– Identification of the need for integrated support for software

engineering activities {motivation}– Integrated collections of tools that facilitate software engineering

activities – across the software lifecycle– Traceability

Process-centered Software Engineering Environment (PSEE)

– Hypothesis – Software engineering process – piece of software– Need for semi-automated support for the software process

5

Requirements for Component-Based Software Engineering Environments

Tool integration – Platform integration – Data integration – Presentation integration – Control integration – Process integration

Support for Component-Based Software Engineering activities– Domain Engineering

– Component-Based Development Reusability Referential Integrity Software Configuration Management (SCM) Multiple Views of Information Security Technology and Language Independence

6

Components of the Orion Environment

MVCASE JADE (JAVA DESIGNER) MoDPAI JAMP Platform Repository Incremental Process Model (IPM)

7

MVCASE

8

JADE

<XMI.content> ... <Class ...> <Element.name>Frame1</Element.name> ... <Method ...> <Element.name>Frame1</Element.name> <Method.visibility xmi.value="public"/> </Method> <Attribute ...> <Element.name>counter</Element.name> <Attribute.visibility xmi.value="public"/> <Attribute.type> <Class xmi.uuid="int"...> </Attribute.type> </Attribute> </Class></XMI.content>...

XMI

9

MoDPAI

Network

MoDPAI

SNMP / PING Requests

10

JAMP Platform

11

Repository

Artifacts repository- Version Control- Security and Transaction Management

XMIXMI

XMI

Middleware Store and search services

CASE Tools

XMIXMIXMI

12

Incremental Process Model (IPM)

13

The Component-Based Software Engineering Environment

14

Development of Distributed Components

15

Development of Distributed Components

.

16

Development of Distributed Components

17

Development of Distributed Components

Service Order Model Framework

Repository MVCASE

18

Development of Distributed Components

MVCASERepository

DAP Structure

Distributed Independent Layer

19

Development of Distributed Components

JADE

Repository

MVCASE

(1) (2)

(4)

(3)

Added operations

Partially-generated code+

XMI

Completed code

+

XMI

20

Development of Distributed Applications

21

Development of Distributed Applications

Network topology information (XML)

Physical Network

MoDPAI

MVCASE

JAMP

(1)

(2) (3)

(4)

(5)(6)

22

Summary

Tool integration – Platform integration – Data integration – Presentation integration – Control integration – Process integration

Support for Component-Based Software Engineering activities Reusability Referential Integrity Software Configuration Management (SCM) Multiple Views of Information Security Technology and Language Independence PSEE in CBSE area

23

References

Almeida, E, S.; Bianchini, C, P.; Prado, A, F.; Trevelin, L, C. IPM: An Incremental Process Model for Distributed Component-Based Software Development. In: The 5th International Conference On Enterprise Information Systems (ICEIS), 2003, Angers - França. ACM Press

Almeida, E, S.; Bianchini, C, P.; Prado, A, F.; Trevelin, L, C. MVCase: An Integrating Technologies Tool for Distributed Component-Based Software Development. In: The 6Th Asia - Pacific Network Operations and Management Symposium, Proceedings of IEEE, Poster Session, Jeju Island – Korea, 2002.

Alves, V., Borba, P., 2001. Distributed Adapters Pattern (DAP): A Design Pattern for Object-Oriented Distributed Applications. In SugarLoafPlop’2001, The First Latin American Conference on Pattern Languages of Programming

Bianchini, C.P., ... [et al]. Devices Monitoring Tool using Pervasive Computing and Software Agents. Proceedings of the 2002 International Conference on Security and Management. P 70-74. Las Vegas, Nevada, USA, 2002.

Guimarães, M.P. Implementation Design for Cooperative Work Support in JAMP Platform (in portuguese), MSc. Dissertation - Federal University of São Carlos, 2000.

Harrison, W., Ossher, H., and Tarr, P. Software Engineering Tools and Environments: A Roadmap. In The Future of Software Engineering. ACM, New York, 2000, 261-277.

Heineman, G., T., Councill, W., T., 2001. Component-Based Software Engineering, Putting the Pieces Together, Addison-Wesley. USA.

Lüer, C. and Rosenblum, D. S. WREN: An Environment for Component-Based Development. ACM SIGSOFT Software Engineering Notes. Volume 26. Number 5. September 2001. pp. 207-217.

Souza, L.F.H. de, Trevelin, L.C. - JAMP Platform and Multimedia Oriented Middleware Services, International Conference on Intelligente Multimedia and Distance Learning Education (ICIMADE'01) June 2001 Fargo, North Dakota, USA.