Publication | Open Access
A calculus for uniform feature composition
42
Citations
47
References
2008
Year
Software MaintenanceEngineeringFeature DetectionUniform Feature CompositionVerificationSoftware EngineeringFunctional AnalysisSoftware AnalysisFormal VerificationImage AnalysisPattern RecognitionComputational GeometryCore CalculusSource CodeMachine VisionComputer ScienceType SystemExtensible LanguageFeature ConstructionSoftware DesignComputer VisionProgramming Language DesignAutomated ReasoningProgram AnalysisSoftware TestingFormal MethodsObject-oriented ProgrammingProgramming MethodologySystem SoftwareSoftware Language Engineering
The goal of feature-oriented programming (FOP) is to modularize software systems in terms of features. A feature refines the content of a base program. Both base programs and features may contain various kinds of software artifacts, for example, source code in different languages, models, build scripts, and documentation. We and others have noticed that when composing features, different kinds of software artifacts can be refined in a uniform way, regardless of what they represent. We present gDeep, a core calculus for feature composition, which captures the language independence of FOP; it can be used to compose features containing many different kinds of artifact in a type-safe way. The calculus allows us to gain insight into the principles of FOP and to define general algorithms for feature composition and validation. We provide the formal syntax, operational semantics, and type system of gDeep and outline how languages like Java, Haskell, Bali, and XML can be plugged in.
| Year | Citations | |
|---|---|---|
Page 1
Page 1