Upload
emmanuel-fuchs
View
205
Download
1
Embed Size (px)
Citation preview
01/2
000
01/2
000
-- Pag
e 1
Pag
e 1
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
AIRSYS ATMAIRSYS ATMAnd LCATAnd LCATActivities :Activities :
Code Generation inCode Generation inMission CriticalMission Critical
Large Distributed SystemsLarge Distributed Systems
Emmanuel FUCHSAIRSYS ATM DT, SC2, LCAT Resarch Topic 2
01/2
000
01/2
000
-- Pag
e 2
Pag
e 2
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Contents� Objective� Works status� The problem � The process
� Business Model� Component Execution Model� Code generation Generic tools
� Conclusion
01/2
000
01/2
000
-- Pag
e 3
Pag
e 3
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Contents� Objective� Works status� The problem � The process
� Business Model� Component Execution Model� Code generation Generic tools
� Conclusion
01/2
000
01/2
000
-- Pag
e 4
Pag
e 4
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Objective� In large distributed systems development cost
reduction implies:� Code Reuse� COTS usage � …
But it means heavy integration and validation phase.
� TO reduce Integration and Validation phase work load
� Code generation for creating wrappers :
� Components Containers
01/2
000
01/2
000
-- Pag
e 5
Pag
e 5
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Contents� Objective� Works status� The problem � The process
� Business Model� Component Execution Model� Code generation Generic tools
� Conclusion
01/2
000
01/2
000
-- Pag
e 6
Pag
e 6
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Works HistoricWorks Historic
�������������
� �
����
� �
������� �
����
��� ��
���� �
������������� �
���������� ��
���
����
�� ���
� ����� !�"��#$��%
&% % &"�� &'(��)��*% (���&)
����+&)% �+&)��� � �� &&�$��"��,)��*&"�(!��& �)��
!�)��*&"
�*)$#$ � �% &"$�)��&)�+&)��-� ��� ��$#$� �%
�� � ����*'��*&" � .*)&"% �"� +&)��$���& �)'$���� � �
����� +&)% ��'/�0��(�*&"��1!�)�*� &% % ("�
�2� &% !&"�"�
� &'��
��)(��()�'��!!�*���*&"��)�% � &)3
01/2
000
01/2
000
-- Pag
e 7
Pag
e 7
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Works TopicsWorks Topics
� �
����
� �
����
�� 4���� ��� �2������ ��
�� � �2($*"�$$�� &'���� &"��*"�)��'�5��
&"��*"�)���'�5�2��
�2������ ��� � �
�� � �2($*"�$$�� &'���� �2������ �
� �5 � ��������������
��� �
����
��� ��
���� �
����
���
����
�� ���
��������� �
���������� ��
�2���� 5�� �6� � 77���� �77
01/2
000
01/2
000
-- Pag
e 8
Pag
e 8
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Contents� Objective� Works status� The problem � The process
� Business Model� Component Execution Model� Code generation Generic tools
� Conclusion
01/2
000
01/2
000
-- Pag
e 9
Pag
e 9
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
ATCATC centrecentre ArchitectureArchitecture
Flight PlanProcessingFlight Plan
Processing
SupervisoryControlSupervisory
Control
SimulatorSimulator
RecordingReplayRecording
Replay
controllerWorkingPosition
controllerWorkingPosition
RADAR
Radar DataProcessingRadar Data
Processing
Radar FrontProcessingRadar Front
Processing
Dual LANFDDI
AFTN/CIDINATFM
ADJACENTFIR'S/TWR'S
MET Centres
Voice controland
communicationsVoice control
and communications
• Intercom• Priority• Public• RADIO A/G
controllerWorkingPosition
controllerWorkingPosition
8�9:
�()&��� �:::�8���:::�;�
01/2
000
01/2
000
-- Pag
e 10
Pag
e 10
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
�� �
�*$(���� &&�$
Computer Aided System DesignComputer Aided System Design
01/2
000
01/2
000
-- Pag
e 11
Pag
e 11
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
��*,-�� �"�,�% �"�
�().�*���"��
� ��(!
���&)'*",
���&)'*", �().�*���"��
� ��(!
Mouse ClickSystem Development
�.�"(��<�:::�;�&��
01/2
000
01/2
000
-- Pag
e 12
Pag
e 12
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Contents� Objective� Works status� The problem � The process
� Business Model� Component Execution Model� Code generation Generic tools
� Conclusion
01/2
000
01/2
000
-- Pag
e 13
Pag
e 13
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
System Development ProcessSystem Development Process
� A business model
� Domain services specification
No assumption on Execution Platform
01/2
000
01/2
000
-- Pag
e 14
Pag
e 14
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
� A component execution model
� Components interconnections
� CORBA component model (CCM)
� Container
� A code generation generic tool
� PLUG (presentation layer universal generator)
� A business model
� Domain services specification
No assumption on Execution Platform
System Development ProcessSystem Development Process
01/2
000
01/2
000
-- Pag
e 15
Pag
e 15
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
A Domain Service = A CORBA ObjectA Domain Service = A CORBA Object
� A service (CORBA Object) is defined by : � An abstract Syntax : Interface
� Described in IDL� A protocol : Behavior
� Described in UML
Without any assumptions on : Execution Platform
01/2
000
01/2
000
-- Pag
e 16
Pag
e 16
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
�� &)3
&'��� &'��2
����=��� �
��)(�� % �$$�,��
���% ��6�$-&)�>
���% ��6��&",>
���% ��6��-�)>
���% <�6�2&&���">
���% <�6��)(�� '���
���% ��6�6�-�)>
���% ��6��&",>
���% ��6��-�)>
���% <�6�2&&���"
���% <�6��-�)>
�"' $�)(�� '���>
�"' $�)(�� % �$$�,��
�!��*+*���*&"���",(�,�
&% % ("*���*&"���",(�,�
�)&,)�% % *",��",(�,��? 77@
�)&,)�% % *",��",(�,��?�'�@
No assumption on deploymentNo assumption on deployment == Abstract SyntaxAbstract Syntax
01/2
000
01/2
000
-- Pag
e 17
Pag
e 17
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
System Development ProcessSystem Development Process
� Business Model
� Component Execution Model
� Component interconnection
� CORBA Component Model (CCM)
� Container Model
� User Driven Code Generation
01/2
000
01/2
000
-- Pag
e 18
Pag
e 18
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
What We May Have :
��).*������).*���
��).*����
��).*���2 �
��).*����
01/2
000
01/2
000
-- Pag
e 19
Pag
e 19
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
SpaghettiPlate
Syndrome �% �'�*!�
���*�A��� (��*��$�
�!�,-���*������
�#$��% ��)�-*�����#$��% ��"��,)��&)
01/2
000
01/2
000
-- Pag
e 20
Pag
e 20
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
��*,-�� �"�,�% �"�
�().�*���"��
� ��(!
���&)'*",
���&)'*", �().�*���"��
� ��(!
What We Want !
01/2
000
01/2
000
-- Pag
e 21
Pag
e 21
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Container Model
� ��-"*����� *''�� �)� ?�)�% � &)3@
&"��*"�) &"��*"�) &"��*"�) &"��*"�) &"��*"�)
������������ ������
�� ��� �������� �������� �
AB����� �
� � �������� ���������� ��������
01/2
000
01/2
000
-- Pag
e 22
Pag
e 22
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
System Development ProcessSystem Development Process
� Business Model
� Component Execution Model
� Component interconnection
� CORBA Component Model (CCM)
� Container Model
� User Driven Code Generation
01/2
000
01/2
000
-- Pag
e 23
Pag
e 23
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
CORBA Component Model (CCM)CORBA Component Model (CCM)
� Extension to IDL (IDL2 Meta Type) � «packaging» language
� Offered functionality (Server role)interfaces providedevents emitted
� Configuration attributes
� Define a component in terms of...
� Dependencies (Client role)distant interfaces requiredevents consumed
� ��� ��C�� ��D
01/2
000
01/2
000
-- Pag
e 24
Pag
e 24
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
� Container handles,� Component interconnection� Event issues� Config / packaging issues� Other functions
� Local IDL (local service ie no IOR)� Component is isolated from the
underlying architecture (framework).� This is a standard & formal way of
creating wrappers.
CORBA Component Model (CCM)CORBA Component Model (CCM)
� � &"��*"�)
01/2
000
01/2
000
-- Pag
e 25
Pag
e 25
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Component/Container interactionComponent/Container interaction
�� ��� ���� ��������� ��������� � �
����� � ��� ��������� ������ ��� ��
�� ��� ���� ��������� ������������ ��� ������� � �������� ���
� �������� �
01/2
000
01/2
000
-- Pag
e 26
Pag
e 26
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Container/Infrastructure interactionContainer/Infrastructure interaction
� *''�� �)� ?�"+)�$�)(��()�� �)�% � &)3@
�� ��� ���� ��������� ��������� � ��� ��� ���� ��������
� ����� �������������� ��� ���� ��������� ����� ������������
����� � �������� ���� �������� �� �������
� ������������� ��!���
�� ��� ���� ��������� ������������ ��� ���� �������� �������������
��!���
����� � ��� ��������� ������ ��� ��
�� ��� ���� ��������� ������������ ��� ������� � �������� ���
� �������� �
01/2
000
01/2
000
-- Pag
e 27
Pag
e 27
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
CCM : Code GenerationCCM : Code Generation
Compiler
Idl2
� An IDL2 interface� Defining interface
between component and container
� Middleware, Framework independent
Container
� Container code� Provides the glue
between application and infrastructure
“IDL3” is parsed, producing :IDL3
01/2
000
01/2
000
-- Pag
e 28
Pag
e 28
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
System Development ProcessSystem Development Process
� Business Model
� Component Execution Model
� User Driven Code Generation
� PLUG Approach� PLUG : Presentation layer Universal
Generator
� Customized Compiler
01/2
000
01/2
000
-- Pag
e 29
Pag
e 29
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
�$(��� &% !*��)���E
PLUG principle : PLUG principle : ?����"��*"�!)&,)�$$@?����"��*"�!)&,)�$$@
�A$�)������#"��0�� )��
�!��*+*���*&"�&()��
Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank
| Qualif Node : op_dcl| | Qualif Node : return
| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name
| | | | | | Leaf Node : Amount| | Qualif Node : Name
| | | Leaf Node : newAccount
2��3��"'
&'�E �"�)��&)
� �% !����$
Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank
| Qualif Node : op_dcl| | Qualif Node : return
| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name
| | | | | | Leaf Node : Amount| | Qualif Node : Name
| | | Leaf Node : newAccount
�&()�� &'�
Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank
| Qualif Node : op_dcl| | Qualif Node : return
| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name
| | | | | | Leaf Node : Amount| | Qualif Node : Name
| | | Leaf Node : newAccount
�!��*+*���*&"��)$�)
�)&"���"'
Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank
| Qualif Node : op_dcl| | Qualif Node : return
| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name
| | | | | | Leaf Node : Amount| | Qualif Node : Name
| | | Leaf Node : newAccount
� � �� � ��6�� �% !������ �$�)*!�*&"���",(�,�
01/2
000
01/2
000
-- Pag
e 30
Pag
e 30
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3��"'E �"�)*�2��3��"'
PLUG principle : PLUG principle : ?����"��*"�!)&,)�$$@?����"��*"�!)&,)�$$@
�A$�)������#"��0�� )��
�!��*+*���*&"�&()��
Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank
| Qualif Node : op_dcl| | Qualif Node : return
| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name
| | | | | | Leaf Node : Amount| | Qualif Node : Name
| | | Leaf Node : newAccount
&'�E �"�)��&)
� �% !����$
Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank
| Qualif Node : op_dcl| | Qualif Node : return
| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name
| | | | | | Leaf Node : Amount| | Qualif Node : Name
| | | Leaf Node : newAccount
� � ��"��)!)���)
�&()�� &'�
Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank
| Qualif Node : op_dcl| | Qualif Node : return
| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name
| | | | | | Leaf Node : Amount| | Qualif Node : Name
| | | Leaf Node : newAccount
�!��*+*���*&"��)$�)
�)&"���"'
Qualif Node : interface| Qualif Node : Name| | Leaf Node : Bank
| Qualif Node : op_dcl| | Qualif Node : return
| | | Qualif Node : DefinedType| | | | Qualif Node : scoped| | | | | Qualif Node : Name
| | | | | | Leaf Node : Amount| | Qualif Node : Name
| | | Leaf Node : newAccount
� � �
&'��E �"�)��*&"���)*!�*",���",(�,�
01/2
000
01/2
000
-- Pag
e 31
Pag
e 31
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'�� ����& �� ���2��3 �"' &"��*"�)�2��3 �"'
PLUG : CCM Container Generation
�� ���&"��*"�)
�� ��� ��&��� ���� �% !����
&"��*"�)� ��-"*����� *''�� �)��
� �% !����
?�.�"(���:::��&�@
?�.�"(��9:�:::��&�@
�� ��
�� ����)$�)
� � ���"��)!)���)
?�.�"(���9: �&�@
?�.�"(���9:: �&�@
01/2
000
01/2
000
-- Pag
e 32
Pag
e 32
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'�'�� &"��*"�)�2��3 �"'
PLUG : Ada Container Generation
�'���&"��*"�)
�'�� &"��*"�)� ��-"*����� *''�� �)�
� �% !�����'��7�� � �
�� ��
�� ����)$�)
� � ���"��)!)���)
01/2
000
01/2
000
-- Pag
e 33
Pag
e 33
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"' 77� &"��*"�)�2��3 �"'
77��&"��*"�)
77� &"��*"�)� ��-"*����� *''�� �)�
� �% !���� 77��7�� � �
�� ��
�� ����)$�)
� � ���"��)!)���)
PLUG : C++ Container Generation
01/2
000
01/2
000
-- Pag
e 34
Pag
e 34
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'�#% A&�*��� )��*",�2��3 �"'
PLUG : PLUG : Symbolic Tracing GenerationSymbolic Tracing Generation
�#% A&�*��� )��*", ;*�
�#% A&�*��� )��*",� �% !����
!)*"�+�$3����&"�7�� � �
�� �
�� ����)$�)
� � ���"��)!)���)
01/2
000
01/2
000
-- Pag
e 35
Pag
e 35
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'��,��#�F )�!!�)�2��3��"'
��,��#�F )�!!�)
��,��#�F )�!!*",� �% !����
�� �
�� ����)$�)
� � ���"��)!)���)
PLUG : PLUG : Legacy Wrapping GenerationLegacy Wrapping Generation
01/2
000
01/2
000
-- Pag
e 36
Pag
e 36
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'G � � ��'�� &'�)�2��3 �"'
PLUG : PLUG : Ada/XDR Ada/XDR codercoder GenerationGeneration
G � � ��'�� &'�)
G � � ��'�� &'�)� �% !�����'��7�� � �
�� �
�� ����)$�)
� � ���"��)!)���)
01/2
000
01/2
000
-- Pag
e 37
Pag
e 37
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'G � � � 77� &'�)�2��3 �"'
PLUG : PLUG : C++/XDR C++/XDR codercoder GenerationGeneration
G � � � 77� &'�)
G � � � 77� &'�)� �% !���� 77��7�� � �
�� �
�� ����)$�)
� � ���"��)!)���)
?�:: �&�@
?�.�"(���:: ;�&�@
01/2
000
01/2
000
-- Pag
e 38
Pag
e 38
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
�� &)3
&'��� &'��2
����=��� �
��)(�� % �$$�,��
���% ��6�$-&)�>
���% ��6��&",>
���% ��6��-�)>
���% <�6�2&&���">
���% <�6��)(�� '���
���% ��6�6�-�)>
���% ��6��&",>
���% ��6��-�)>
���% <�6�2&&���"
���% <�6��-�)>
�"' $�)(�� '���>
�"' $�)(�� % �$$�,��
�!��*+*���*&"���",(�,�
&% % ("*���*&"���",(�,��=�G � �
�)&,)�% % *",��",(�,��? 77@
�)&,)�% % *",��",(�,��?�'�@
Abstract Syntax = IDL, Transfer Syntax = XDR
01/2
000
01/2
000
-- Pag
e 39
Pag
e 39
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'��� ��'�� &'�)�2��3 �"'
PLUG : PLUG : Ada/ ASN.1 PER Ada/ ASN.1 PER codercoder GenerationGeneration
��� ��'�� &'�)
��� ��'�� &'�)� �% !�����'��7�� � �
�� 4�
� � ���"��)!)���)
�� ����)$�)
01/2
000
01/2
000
-- Pag
e 40
Pag
e 40
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'��� � 77� &'�)�2��3 �"'
PLUG : PLUG : C++/ ASN.1 PERC++/ ASN.1 PER codercoder GenerationGeneration
��� � 77� &'�)
� � ���"��)!)���)
��� � 77� &'�)� �% !���� �7�� � �
�� ����)$�)
�� 4�
?�� �;�&�@
01/2
000
01/2
000
-- Pag
e 41
Pag
e 41
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
�� &)3
&'��� &'��2
����=��� 4�
��)(�� % �$$�,��
���% ��6�$-&)�>
���% ��6��&",>
���% ��6��-�)>
���% <�6�2&&���">
���% <�6��)(�� '���
���% ��6�6�-�)>
���% ��6��&",>
���% ��6��-�)>
���% <�6�2&&���"
���% <�6��-�)>
�"' $�)(�� '���>
�"' $�)(�� % �$$�,��
�!��*+*���*&"���",(�,�
&% % ("*���*&"���",(�,��=����
�)&,)�% % *",��",(�,��? 77@
�)&,)�% % *",��",(�,��?�'�@
Abstract Syntax = ASN.1, Transfer Syntax = PER
01/2
000
01/2
000
-- Pag
e 42
Pag
e 42
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
��� � 77� &'�)
2��3 �"'��� � 77� &'�)�2��3 �"'
PLUG : PLUG : FE independenceFE independence
�� 4�
�� ����)$�)
� � ���"��)!)���)
��� � 77� &'�)� �% !���� 77�7�� � �
01/2
000
01/2
000
-- Pag
e 43
Pag
e 43
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'G � � � 77� &'�)�2��3 �"'
PLUG : PLUG : FE independenceFE independence
G � � � 77� &'�)
�� 4�
�� ����)$�)
��� � 77� &'�)
G � � � 77� &'�)� �% !���� 77�7�� � �
� � ���"��)!)���)
��� � 77� &'�)� �% !���� 77�7�� � �
01/2
000
01/2
000
-- Pag
e 44
Pag
e 44
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'G � � � 77� &'�)�2��3 �"'
PLUG : FE independencePLUG : FE independence
G � � � 77� &'�)
G � � � 77� &'�)� �% !���� 77�7�� � �
� � ���"��)!)���)
��� � 77� &'�)� �% !���� 77�7�� � �
��� � 77� &'�)
�A$�)������#"��0�� )��
01/2
000
01/2
000
-- Pag
e 45
Pag
e 45
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'G � � � 77� &'�)�2��3 �"'
PLUG : PLUG : AST independenceAST independence
G � � � 77� &'�)
� � ���"��)!)���)
G � � � 77� &'�)� �% !���� 77�7�� � �
H�F �*�*",��&)�����"��+*��*",
01/2
000
01/2
000
-- Pag
e 46
Pag
e 46
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'�2��� &"��*"�)�2��3 �"'
PLUG : UBSS Container Generation
� � �
�"��)!)���)
�2��� &"��*"�)� �% !����
�2���$3����&"��7�� � �
�� ��
�� �
��)$�)
" # ��� ��� ��
�� ����)$�)
� � ���"��)!)���)
01/2
000
01/2
000
-- Pag
e 47
Pag
e 47
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'��� � &"��*"�)�2��3 �"'
PLUG : PERCO Container Generation
� � �
�"��)!)���)
��� �� &"��*"�)� �% !����
��� ��3����&"�7�� � �
�� ��
�� �
��)$�)
$%&�� ��� ��� ��
�� ����)$�)
� � ���"��)!)���)
01/2
000
01/2
000
-- Pag
e 48
Pag
e 48
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Infrastructure Infrastructure InterchangeInterchange
�2��� &"��*"�)
�2��
��� � &"��*"�)
���
�&)���'*++�)�"���"+)�$�)(��()��� ��"��'�&"�#�($����'*++�)�"��� �% !����� )*���"�A#��-��*"+)�$�)(��()���0!�)�$4�
�2�����% !����� )*���A#��2����0!�)�$
01/2
000
01/2
000
-- Pag
e 49
Pag
e 49
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Infrastructure InterchangeInfrastructure Interchange
�2��� &"��*"�)
�2��
��� � &"��*"�)
���
�&)���'*++�)�"���"+)�$�)(��()��� ��"��'�&"�#�($����'*++�)�"��� �% !����� )*���"�A#��-��*"+)�$�)(��()���0!�)�$4
��� ���% !����� )*���A#���� ��0!�)�$
01/2
000
01/2
000
-- Pag
e 50
Pag
e 50
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'������� ��-*"��2��3 �"'
PLUG : State Machine Generation
� � �
�"��)!)���)
�� �
�� �
��)$�)
�� ����)$�)
� � ���"��)!)���)
������� ��-*"�� �% !����
������� ��-*"�
01/2
000
01/2
000
-- Pag
e 51
Pag
e 51
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'���*'��*&"� &"��*"�)�2��3 �"'
PLUG : Validation Container Generation
� � �
�"��)!)���)
�� �
�� �
��)$�)
' ������� ���� ��� ��
�� ����)$�)
� � ���"��)!)���)
���*'��*&"� &"��*"�)� �% !����
� *% �����% !$���)&A�$�7�� � �
01/2
000
01/2
000
-- Pag
e 52
Pag
e 52
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2��3 �"'� �$�$�����2��3 �"'
PLUG : Tests Set Generation
� � �
�"��)!)���)
�� �
�� �
��)$�)
�� ����)$�)
� � ���"��)!)���)
� �$�$����� �% !����
� �$�$����
01/2
000
01/2
000
-- Pag
e 53
Pag
e 53
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Infrastructure Infrastructure InterchangeInterchange
���*'��*&"� &"��*"�)
���*'��*&"��)�% � &)3
�&)���'*++�)�"���"+)�$�)(��()��� ��"��'�&"�#�($����'*++�)�"��� �% !����� )*���"�A#��-��*"+)�$�)(��()���0!�)�$4
!�)��*&"�����% !����� )*���A#�&!�)��*&"����0!�)�$
!�)��*&"���� &"��*"�)
!�)��*&"����)�% � &)3
01/2
000
01/2
000
-- Pag
e 54
Pag
e 54
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
Infrastructure Infrastructure InterchangeInterchange
���*'��*&"� &"��*"�)
���*'��*&"��)�% � &)3
�&)���'*++�)�"���"+)�$�)(��()��� ��"��'�&"�#�($����'*++�)�"��� �% !����� )*���"�A#��-��*"+)�$�)(��()���0!�)�$4�
!�)��*&"���� &"��*"�)
!�)��*&"����)�% � &)3
���*'��*&"���% !����� )*���A#����*'��*&"��0!�)�$
01/2
000
01/2
000
-- Pag
e 55
Pag
e 55
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
2($*"�$$� &'��
�("��*&"��� &'��
&"��("��*&"��� &'��
�("��*&"���*% (���*&"
��$(��$
&"��("��*&"���*% (���*&"
��$(��$
&"��*"�)
= =
�#$��%
� �!�&#% �"�
LCAT Research Topic 1, SP 1, LCAT Research Topic 1, SP 1, PERCO tools chain :PERCO tools chain :A priori validation, Deployment A priori validation, Deployment
01/2
000
01/2
000
-- Pag
e 56
Pag
e 56
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
LCAT Research topics 2 : PERCO tool chainLCAT Research topics 2 : PERCO tool chain
� Framework to support real time and distributed systems :
� Platform on top of CORBA : PERCO
� Software Engineering tools on top of PERCO :
� Deployment tools
� Validation tools
� CCM ++, UML ++
01/2
000
01/2
000
-- Pag
e 57
Pag
e 57
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
PLUG : PLUG : Presentation layer Universal GeneratorPresentation layer Universal Generator
� TDL (����"��*"�!)&,)�$$@�: PHP 3 extended interpreter.� Abstract Syntax : IDL CORBA3 (lex/yacc), ASN.1 1994 (java/ANTLR*1).� Working Syntax : Any� Transfer Syntax : XDR, PER (ASN.1 1994)� Code size : 200 Kloc� Avenue TDL size : 10000 loc, Container Generated size : 50 000 loc� XDR TDL : 200 loc, PER TDL : 2324 loc � Industrial Product : SEI CMM Level 3,DOD MIL STD 498� Product Manager : Franck Lantres AIRSYS ATM P&D/DCE/TFP
*1 ANTLR: ANother Tool for Language Recognition
01/2
000
01/2
000
-- Pag
e 58
Pag
e 58
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
AVENUE : AVENUE : AATM TM VValidationalidation ENENvironmentvironment for for UUse towards se towards EEATMSATMS
� Construct a European ATM Validation Platform :� 13 partners, 7 countries� 30+ applications
� 4 000 KLOC, Ada, C++� Generated Code
� Container : 50 Kloc (Ada, C++)� TDL : 10 Kloc (PHP 3)� IDL3 850 loc, IDL2 2500 loc� XDR : TDL 200 loc, (C++ 100 Kloc)
01/2
000
01/2
000
-- Pag
e 59
Pag
e 59
Copyright (c) 2000 ISRSoftware Core for Computer-based systems
ConclusionConclusion
Thank You For Your Attention
Questions are welcomeContacts :
[email protected]@ms.alcatel.fr