280 likes | 513 Views
Management of Composites in Software Engineering Environments. Jacky Estublier, German Vega, Thomas Leveque. ADELE. Grenoble University France. Outline. Composites in SE CADSE Composites in CADSE Experiences Conclusion and future works. Composites. Models.
E N D
Management of Composites inSoftware Engineering Environments. Jacky Estublier, German Vega, Thomas Leveque ADELE Grenoble University France
Outline • Composites in SE • CADSE • Composites in CADSE • Experiences • Conclusion and future works
Composites Models Objectives • Design and Development Scalability
Composite • A compositerepresents an entity as a whole made up of other entities that are considered its parts.
Wheel 1 Wheel 3 Engine Wheel 2 Wheel 4 Composite Horse power = 120
Composite In SE • Abstraction • High level languages • Models • Composite • Classes
Composite: SE vs Others • Other • Object Physical structure • hierarchical decomposition • Model ≠ Real object • SE • Any kind of decomposition • Structural, functional… • Model = code = application = Real object
Composite: SE vs Others Frame Tool2 Tool2 Structural model Wheel Saddle PDM System Detailed model Tool1 CAD Real object
Composite: SE vs Others Function Sub System System model Concept Package Detailed model SCM System Tool1 Tool1 Source Source Real object Source IDE Sources and executables Executable
Outline • Composites in SE • CADSE • Composites in CADSE • Experiences • Conclusion and future works
CADSE • Computer Aided Domain Specific Environment • Domain specific • Extend generic environments • IDE • SCM • Allow manipulating an application model • Conform to a domain model • A Domain is an area in which a number of stakeholders is repeatedly performing similar activities.
Domain Model Developer CADSE (Computer Aided Domain Specific Environment)
Domain Model • System Model • Abstract, coarse grain view of a system • Come from SCM • Describes logical organization of product • Domain model = System model
Domain Model Example << R >> << R >> << A >> << A >> << R >> << P >> A : AggregationP : PartR : Require
Outline • Composites in SE • CADSE • Composites in CADSE • Experiences • Conclusion and future works
composition link Composite • A composite is an item composed of all items that constitute the destination of a composition link starting from that item. • A composite must be such that, when closed, it can be safely used, for a given purpose, in place of the set of items it contains.
Domain Model Example << R >> << R >> << A, C >> << A, C >> << R >> << P >> A : AggregationP : PartR : RequireC : Composition
Close Comp1 Comp1 contains L1 uses C3 C2 L2 C1 Comp2 contains uses contains C4 C6 C5 uses App Composite Example Comp1 L1 C3 C2 L2 C1 Comp2 C4 C6 C5 App read only opened composite composition link derived link closed composite any link unresolved link
Composite mechanism • Closed a composite => remove its components. • Links are Resolved/Unresolved. • Closed a composite => close the composites it contains. • A close operation must ensure that build of the composite is OK. • Derived link mechanism. • Read Only mechanism.
Outline • Composites in SE • CADSE • Composites in CADSE • Experiences • Conclusion and future works
Experiences • Since 2006, daily used • Many CADSEs • Melusine, APEL, OSGi, iPojo, Think • DOCOSOC, FOCAS and CADSE • Usability • Composite builders are complex to define. • Implementation • Derived link decrease performances • Versioning management part is very complex
Experiences • Abstraction => 10 to 100 smaller • Point of view • Operational object => improved build perf • Model and semantics • Composite management
Outline • Composites in SE • CADSE • Composites in CADSE • Experiences • Conclusion and future works
Conclusion • Model = operational high level software view point • CADSE synchronize model and artifacts • SE composites ≠ Other composites • Operational ≠ descriptive • Open/Close => abstraction, scalability • Composite aspects • Structuring, abstraction, scalability, operational, point of view, concurrent engineering
Future works • Implicit derived links => explicit • Switch from source to binary • Improve build mechanism
References • CADSE web site • http://cadse.imag.fr • ADELE team web site • http://www-adele.imag.fr • APSEC papers • Management of composites in Software Engineering Environments • Domains Specific Engineering Environments